summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EVENTS.txt49
-rw-r--r--README1014
-rw-r--r--actions/accessadminpanel.php24
-rw-r--r--actions/all.php32
-rw-r--r--actions/allrss.php2
-rw-r--r--actions/apidirectmessage.php5
-rw-r--r--actions/apigroupcreate.php8
-rw-r--r--actions/apigrouplist.php3
-rw-r--r--actions/apigrouplistall.php10
-rw-r--r--actions/apigroupmembership.php3
-rw-r--r--actions/apistatusnetconfig.php2
-rw-r--r--actions/apitimelinefriends.php4
-rw-r--r--actions/apitimelinegroup.php58
-rw-r--r--actions/apitimelinehome.php4
-rw-r--r--actions/apitimelinementions.php2
-rw-r--r--actions/apitimelinepublic.php4
-rw-r--r--actions/apitimelineuser.php64
-rw-r--r--actions/blockedfromgroup.php9
-rw-r--r--actions/deleteuser.php31
-rw-r--r--actions/editgroup.php17
-rw-r--r--actions/foafgroup.php17
-rw-r--r--actions/grantrole.php99
-rw-r--r--actions/groupdesignsettings.php5
-rw-r--r--actions/grouplogo.php5
-rw-r--r--actions/groupmembers.php9
-rw-r--r--actions/grouprss.php9
-rw-r--r--actions/groups.php18
-rw-r--r--actions/hcard.php120
-rw-r--r--actions/invite.php3
-rw-r--r--actions/joingroup.php32
-rw-r--r--actions/leavegroup.php32
-rw-r--r--actions/newgroup.php10
-rw-r--r--actions/newnotice.php3
-rw-r--r--actions/oauthconnectionssettings.php4
-rw-r--r--actions/postnotice.php11
-rw-r--r--actions/public.php1
-rw-r--r--actions/recoverpassword.php2
-rw-r--r--actions/replies.php1
-rw-r--r--actions/revokerole.php99
-rw-r--r--actions/showfavorites.php1
-rw-r--r--actions/showgroup.php33
-rw-r--r--actions/siteadminpanel.php60
-rw-r--r--actions/sitenoticeadminpanel.php201
-rw-r--r--actions/snapshotadminpanel.php251
-rw-r--r--actions/subscribe.php2
-rw-r--r--actions/subscribers.php9
-rw-r--r--actions/tag.php1
-rw-r--r--actions/tagrss.php1
-rw-r--r--actions/twitapisearchatom.php2
-rw-r--r--actions/twitapisearchjson.php1
-rw-r--r--actions/twitapitrends.php2
-rw-r--r--actions/updateprofile.php10
-rw-r--r--actions/useradminpanel.php3
-rw-r--r--actions/usergroups.php30
-rw-r--r--actions/userrss.php37
-rw-r--r--classes/Fave.php6
-rw-r--r--classes/File.php13
-rw-r--r--classes/Foreign_link.php17
-rw-r--r--classes/Group_alias.php2
-rw-r--r--classes/Inbox.php8
-rw-r--r--classes/Local_group.php46
-rw-r--r--classes/Notice.php118
-rw-r--r--classes/Notice_inbox.php4
-rw-r--r--classes/Notice_tag.php6
-rw-r--r--classes/Profile.php50
-rw-r--r--classes/Profile_role.php17
-rw-r--r--classes/Reply.php10
-rw-r--r--classes/Subscription.php22
-rw-r--r--classes/User.php67
-rw-r--r--classes/User_group.php162
-rw-r--r--classes/User_username.php2
-rw-r--r--classes/statusnet.ini33
-rw-r--r--config.php.sample15
-rw-r--r--db/08to09.sql49
-rw-r--r--db/beta5tobeta6.sql28
-rw-r--r--db/statusnet.sql21
-rw-r--r--index.php105
-rw-r--r--install.php259
-rw-r--r--js/jquery.js1048
-rw-r--r--js/jquery.min.js280
-rw-r--r--js/util.js31
-rw-r--r--lib/action.php68
-rw-r--r--lib/activity.php369
-rw-r--r--lib/adminpanelaction.php104
-rw-r--r--lib/apiaction.php (renamed from lib/api.php)29
-rw-r--r--lib/apiauth.php1
-rw-r--r--lib/atom10entry.php105
-rw-r--r--lib/atom10feed.php28
-rw-r--r--lib/atomgroupnoticefeed.php32
-rw-r--r--lib/atomnoticefeed.php21
-rw-r--r--lib/atomusernoticefeed.php52
-rw-r--r--lib/authenticationplugin.php8
-rw-r--r--lib/authorizationplugin.php2
-rw-r--r--lib/common.php14
-rw-r--r--lib/default.php16
-rw-r--r--lib/distribqueuehandler.php12
-rw-r--r--lib/grantroleform.php93
-rw-r--r--lib/imagefile.php135
-rw-r--r--lib/joinform.php2
-rw-r--r--lib/language.php1
-rw-r--r--lib/leaveform.php2
-rw-r--r--lib/mail.php67
-rw-r--r--lib/mediafile.php2
-rw-r--r--lib/messageform.php2
-rw-r--r--lib/noticeform.php2
-rw-r--r--lib/noticelist.php44
-rw-r--r--lib/oauthstore.php2
-rw-r--r--lib/omb.php13
-rw-r--r--lib/profileaction.php70
-rw-r--r--lib/profilelist.php7
-rw-r--r--lib/profilequeuehandler.php6
-rw-r--r--lib/revokeroleform.php93
-rw-r--r--lib/right.php2
-rw-r--r--lib/router.php10
-rw-r--r--lib/statusnet.php12
-rw-r--r--lib/userprofile.php26
-rw-r--r--lib/util.php119
-rw-r--r--locale/ar/LC_MESSAGES/statusnet.po1369
-rw-r--r--locale/arz/LC_MESSAGES/statusnet.po1221
-rw-r--r--locale/bg/LC_MESSAGES/statusnet.po1213
-rw-r--r--locale/br/LC_MESSAGES/statusnet.po6102
-rw-r--r--locale/ca/LC_MESSAGES/statusnet.po1237
-rw-r--r--locale/cs/LC_MESSAGES/statusnet.po1195
-rw-r--r--locale/de/LC_MESSAGES/statusnet.po1881
-rw-r--r--locale/el/LC_MESSAGES/statusnet.po1190
-rw-r--r--locale/en_GB/LC_MESSAGES/statusnet.po1836
-rw-r--r--locale/es/LC_MESSAGES/statusnet.po1227
-rw-r--r--locale/fa/LC_MESSAGES/statusnet.po1219
-rw-r--r--locale/fi/LC_MESSAGES/statusnet.po1211
-rw-r--r--locale/fr/LC_MESSAGES/statusnet.po1205
-rw-r--r--locale/ga/LC_MESSAGES/statusnet.po1199
-rw-r--r--locale/he/LC_MESSAGES/statusnet.po1198
-rw-r--r--locale/hsb/LC_MESSAGES/statusnet.po1232
-rw-r--r--locale/ia/LC_MESSAGES/statusnet.po1226
-rw-r--r--locale/is/LC_MESSAGES/statusnet.po1207
-rw-r--r--locale/it/LC_MESSAGES/statusnet.po1201
-rw-r--r--locale/ja/LC_MESSAGES/statusnet.po1222
-rw-r--r--locale/ko/LC_MESSAGES/statusnet.po1208
-rw-r--r--locale/mk/LC_MESSAGES/statusnet.po1202
-rw-r--r--locale/nb/LC_MESSAGES/statusnet.po1682
-rw-r--r--locale/nl/LC_MESSAGES/statusnet.po1207
-rw-r--r--locale/nn/LC_MESSAGES/statusnet.po1208
-rw-r--r--locale/pl/LC_MESSAGES/statusnet.po1211
-rw-r--r--locale/pt/LC_MESSAGES/statusnet.po1224
-rw-r--r--locale/pt_BR/LC_MESSAGES/statusnet.po1224
-rw-r--r--locale/ru/LC_MESSAGES/statusnet.po1207
-rw-r--r--locale/statusnet.po1132
-rw-r--r--locale/sv/LC_MESSAGES/statusnet.po1210
-rw-r--r--locale/te/LC_MESSAGES/statusnet.po1241
-rw-r--r--locale/tr/LC_MESSAGES/statusnet.po1194
-rw-r--r--locale/uk/LC_MESSAGES/statusnet.po1235
-rw-r--r--locale/vi/LC_MESSAGES/statusnet.po1198
-rw-r--r--locale/zh_CN/LC_MESSAGES/statusnet.po1203
-rw-r--r--locale/zh_TW/LC_MESSAGES/statusnet.po1191
-rw-r--r--plugins/Blacklist/BlacklistPlugin.php238
-rw-r--r--plugins/Blacklist/blacklistadminpanel.php222
-rw-r--r--plugins/BlogspamNetPlugin.php8
-rw-r--r--plugins/CasAuthentication/CasAuthenticationPlugin.php1
-rw-r--r--plugins/CasAuthentication/caslogin.php15
-rw-r--r--plugins/CasAuthentication/extlib/CAS.php3086
-rw-r--r--plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php378
-rw-r--r--plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php496
-rw-r--r--plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php374
-rw-r--r--plugins/CasAuthentication/extlib/CAS/client.php552
-rw-r--r--plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php277
-rw-r--r--plugins/CasAuthentication/extlib/CAS/domxml-php4-to-php5.php499
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/catalan.php54
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/english.php52
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/french.php54
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/german.php52
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/greek.php52
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/japanese.php12
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/languages.php46
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/spanish.php54
-rw-r--r--plugins/Facebook/FacebookPlugin.php240
-rw-r--r--plugins/Facebook/README84
-rw-r--r--plugins/Facebook/facebookadminpanel.php223
-rw-r--r--plugins/Facebook/locale/Facebook.po231
-rw-r--r--plugins/Gravatar/locale/Gravatar.po8
-rw-r--r--plugins/LdapAuthentication/LdapAuthenticationPlugin.php43
-rw-r--r--plugins/LdapAuthentication/README5
-rw-r--r--plugins/LdapAuthorization/LdapAuthorizationPlugin.php10
-rw-r--r--plugins/LdapAuthorization/README5
-rw-r--r--plugins/Mapstraction/locale/Mapstraction.po22
-rw-r--r--plugins/Mapstraction/map.php2
-rw-r--r--plugins/MemcachedPlugin.php223
-rw-r--r--plugins/MobileProfile/MobileProfilePlugin.php13
-rw-r--r--plugins/OStatus/OStatusPlugin.php224
-rw-r--r--plugins/OStatus/actions/hostmeta.php16
-rw-r--r--plugins/OStatus/actions/ostatusgroup.php181
-rw-r--r--plugins/OStatus/actions/ostatusinit.php55
-rw-r--r--plugins/OStatus/actions/ostatussub.php157
-rw-r--r--plugins/OStatus/actions/ownerxrd.php56
-rw-r--r--plugins/OStatus/actions/pushhub.php2
-rw-r--r--plugins/OStatus/actions/userxrd.php48
-rw-r--r--plugins/OStatus/classes/HubSub.php10
-rw-r--r--plugins/OStatus/classes/Magicsig.php28
-rw-r--r--plugins/OStatus/classes/Ostatus_profile.php563
-rw-r--r--plugins/OStatus/extlib/hkit/hcard.profile.php105
-rw-r--r--plugins/OStatus/extlib/hkit/hkit.class.php475
-rw-r--r--plugins/OStatus/lib/discovery.php310
-rw-r--r--plugins/OStatus/lib/magicenvelope.php63
-rw-r--r--plugins/OStatus/lib/ostatusqueuehandler.php47
-rw-r--r--plugins/OStatus/lib/pushinqueuehandler.php6
-rw-r--r--plugins/OStatus/lib/salmon.php45
-rw-r--r--plugins/OStatus/lib/salmonaction.php27
-rw-r--r--plugins/OStatus/lib/salmonqueuehandler.php4
-rw-r--r--plugins/OStatus/lib/webfinger.php151
-rw-r--r--plugins/OStatus/lib/xrd.php32
-rw-r--r--plugins/OStatus/lib/xrdaction.php (renamed from plugins/OStatus/actions/webfinger.php)62
-rw-r--r--plugins/OStatus/locale/OStatus.po280
-rw-r--r--plugins/OStatus/scripts/updateostatus.php127
-rw-r--r--plugins/OStatus/theme/base/css/ostatus.css32
-rw-r--r--plugins/OpenID/User_openid.php14
-rw-r--r--plugins/OpenID/locale/OpenID.po320
-rw-r--r--plugins/PoweredByStatusNet/locale/PoweredByStatusNet.po8
-rw-r--r--plugins/PubSubHubBub/PubSubHubBubPlugin.php285
-rw-r--r--plugins/PubSubHubBub/publisher.php86
-rw-r--r--plugins/Realtime/RealtimePlugin.php2
-rw-r--r--plugins/Realtime/icon_external.gifbin90 -> 0 bytes
-rw-r--r--plugins/Realtime/icon_pause.gifbin75 -> 0 bytes
-rw-r--r--plugins/Realtime/icon_play.gifbin75 -> 0 bytes
-rw-r--r--plugins/Realtime/realtimeupdate.css9
-rw-r--r--plugins/RegisterThrottle/RegisterThrottlePlugin.php249
-rw-r--r--plugins/RegisterThrottle/Registration_ip.php124
-rw-r--r--plugins/ReverseUsernameAuthentication/README5
-rw-r--r--plugins/Sample/locale/Sample.po2
-rw-r--r--plugins/SphinxSearch/sphinxsearch.php2
-rw-r--r--plugins/TabFocus/TabFocusPlugin.php57
-rw-r--r--plugins/TabFocus/tabfocus.js7
-rw-r--r--plugins/TwitterBridge/README120
-rw-r--r--plugins/TwitterBridge/TwitterBridgePlugin.php195
-rwxr-xr-xplugins/TwitterBridge/daemons/synctwitterfriends.php2
-rw-r--r--plugins/TwitterBridge/locale/TwitterBridge.po114
-rw-r--r--plugins/TwitterBridge/twitter.php2
-rw-r--r--plugins/TwitterBridge/twitteradminpanel.php289
-rw-r--r--plugins/TwitterBridge/twitterauthorization.php15
-rw-r--r--plugins/TwitterBridge/twitteroauthclient.php21
-rw-r--r--plugins/TwitterBridge/twittersettings.php2
-rw-r--r--plugins/Xmpp/Fake_XMPP.php18
-rw-r--r--scripts/createsim.php3
-rwxr-xr-xscripts/fixup_utf8.php2
-rwxr-xr-xscripts/init_conversation.php49
-rwxr-xr-xscripts/setup_status_network.sh2
-rwxr-xr-xscripts/update_po_templates.php7
-rw-r--r--scripts/updateavatarurl.php4
-rw-r--r--scripts/updateavatarurl_group.php99
-rw-r--r--tests/ActivityParseTests.php10
-rw-r--r--tests/UserFeedParseTest.php131
-rw-r--r--theme/base/css/display.css71
-rw-r--r--theme/base/css/ie.css4
-rw-r--r--theme/base/css/ie6.css10
-rw-r--r--theme/base/images/icons/README59
-rw-r--r--theme/base/images/icons/icon_geo.pngbin894 -> 0 bytes
-rw-r--r--theme/base/images/icons/icons-01.gifbin3870 -> 4080 bytes
-rw-r--r--theme/cloudy/css/display.css37
-rw-r--r--theme/default/css/display.css46
-rw-r--r--theme/identica/css/display.css48
-rw-r--r--theme/otalk/css/base.css1211
-rw-r--r--theme/otalk/css/display.css292
-rw-r--r--theme/otalk/css/ie.css9
-rw-r--r--theme/otalk/default-avatar-mini.pngbin646 -> 0 bytes
-rw-r--r--theme/otalk/default-avatar-profile.pngbin2853 -> 0 bytes
-rw-r--r--theme/otalk/default-avatar-stream.pngbin1487 -> 0 bytes
-rw-r--r--theme/otalk/images/illustrations/illu_arrow-left-01.gifbin75 -> 0 bytes
-rw-r--r--theme/otalk/images/illustrations/illu_pattern-01.pngbin3218 -> 0 bytes
-rw-r--r--theme/otalk/logo.pngbin2228 -> 0 bytes
-rw-r--r--theme/pigeonthoughts/css/base.css122
-rw-r--r--theme/pigeonthoughts/css/display.css247
-rw-r--r--theme/pigeonthoughts/logo.pngbin6389 -> 10107 bytes
270 files changed, 47451 insertions, 25724 deletions
diff --git a/EVENTS.txt b/EVENTS.txt
index cf1e39ec8..56cbe14c7 100644
--- a/EVENTS.txt
+++ b/EVENTS.txt
@@ -363,6 +363,14 @@ EndProfileRemoteSubscribe: After showing the link to remote subscription
- $userprofile: UserProfile widget
- &$profile: the profile being shown
+StartGroupSubscribe: Before showing the link to remote subscription
+- $action: the current action
+- $group: the group being shown
+
+EndGroupSubscribe: After showing the link to remote subscription
+- $action: the current action
+- $group: the group being shown
+
StartProfilePageProfileSection: Starting to show the section of the
profile page with the actual profile data;
hook to prevent showing the profile (e.g.)
@@ -787,3 +795,44 @@ StartShowSubscriptionsContent: before showing the subscriptions content
EndShowSubscriptionsContent: after showing the subscriptions content
- $action: the current action
+
+StartShowUserGroupsContent: before showing the user groups content
+- $action: the current action
+
+EndShowUserGroupsContent: after showing the user groups content
+- $action: the current action
+
+StartShowAllContent: before showing the all (you and friends) content
+- $action: the current action
+
+EndShowAllContent: after showing the all (you and friends) content
+- $action: the current action
+
+StartShowSubscriptionsMiniList: at the start of subscriptions mini list
+- $action: the current action
+
+EndShowSubscriptionsMiniList: at the end of subscriptions mini list
+- $action: the current action
+
+StartShowGroupsMiniList: at the start of groups mini list
+- $action: the current action
+
+EndShowGroupsMiniList: at the end of groups mini list
+- $action: the current action
+
+StartDeleteUserForm: starting the data in the form for deleting a user
+- $action: action being shown
+- $user: user being deleted
+
+EndDeleteUserForm: Ending the data in the form for deleting a user
+- $action: action being shown
+- $user: user being deleted
+
+StartDeleteUser: handling the post for deleting a user
+- $action: action being shown
+- $user: user being deleted
+
+EndDeleteUser: handling the post for deleting a user
+- $action: action being shown
+- $user: user being deleted
+
diff --git a/README b/README
index 75336eb83..45b72e9ac 100644
--- a/README
+++ b/README
@@ -2,40 +2,40 @@
README
------
-StatusNet 0.9.0 ("Stand") Beta 5
-1 Feb 2010
+StatusNet 0.9.0 ("Stand")
+4 Mar 2010
-This is the README file for StatusNet (formerly Laconica), the Open
-Source microblogging platform. It includes installation instructions,
-descriptions of options you can set, warnings, tips, and general info
-for administrators. Information on using StatusNet can be found in the
+This is the README file for StatusNet, the Open Source microblogging
+platform. It includes installation instructions, descriptions of
+options you can set, warnings, tips, and general info for
+administrators. Information on using StatusNet can be found in the
"doc" subdirectory or in the "help" section on-line.
About
=====
-StatusNet (formerly Laconica) is a Free and Open Source microblogging
-platform. It helps people in a community, company or group to exchange
-short (140 characters, by default) messages over the Web. Users can
-choose which people to "follow" and receive only their friends' or
-colleagues' status messages. It provides a similar service to sites
-like Twitter, Jaiku, Yammer, and Plurk.
+StatusNet is a Free and Open Source microblogging platform. It helps
+people in a community, company or group to exchange short (140
+characters, by default) messages over the Web. Users can choose which
+people to "follow" and receive only their friends' or colleagues'
+status messages. It provides a similar service to sites like Twitter,
+Google Buzz, or Yammer.
With a little work, status messages can be sent to mobile phones,
instant messenger programs (GTalk/Jabber), and specially-designed
desktop clients that support the Twitter API.
-StatusNet supports an open standard called OpenMicroBlogging
-<http://openmicroblogging.org/> that lets users on different Web sites
-or in different companies subscribe to each others' notices. It
-enables a distributed social network spread all across the Web.
+StatusNet supports an open standard called OStatus
+<http://ostatus.org/> that lets users in different networks follow
+each other. It enables a distributed social network spread all across
+the Web.
StatusNet was originally developed for the Open Software Service,
Identi.ca <http://identi.ca/>. It is shared with you in hope that you
too make an Open Software Service available to your users. To learn
more, please see the Open Software Service Definition 1.1:
- http://www.opendefinition.org/ossd
+ http://www.opendefinition.org/ossd
StatusNet, Inc. <http://status.net/> also offers this software as a
Web service, requiring no installation on your part. The software run
@@ -77,203 +77,57 @@ for additional terms.
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
+This is a major feature release since version 0.8.3, released Feb 1
+2010. It is the final release version of 0.9.0, replacing any beta
+versions.
Notable changes this version:
-- Records of deleted notices are stored without the notice content.
-- Much of the optional core featureset has been moved to plugins.
-- OpenID support moved from core to a plugin. Helps test the strength of
- our plugin architecture and makes it easy to disable this
- functionality for e.g. intranet sites.
-- Many additional hook events (see EVENTS.txt for details).
-- OMB 0.1 support re-implemented using libomb.
-- Re-structure database so notices, messages, bios and group
- descriptions can be over 140 characters. Limit defined by
- site administrator as configuration option; can be unlimited.
-- Configuration data now optionally stored in the database, which
- overrides any settings in config files.
-- Twitter integration re-implemented as a plugin.
-- Facebook integration re-implemented as a plugin.
-- Role-based authorization framework. Users can have named roles, and
- roles can have rights (e.g., to delete notices, change configuration
- data, or ban uncooperative users). Default roles 'admin' (for
- configuration) and 'moderator' (for community management) added.
-- Plugin for PubSubHubBub (PuSH) support.
-- Considerable code style cleanup to meet PEAR code standards.
-- Made a common library for HTTP-client access which uses available
- HTTP libraries where possible.
-- Added statuses/home_timeline method to API.
-- Hooks for plugins to handle notices offline, either by defining
- their own queue handler scripts or to use a default plugin queue
- handler script.
-- Plugins can now modify the database schema, adding their own tables
- or modifying existing ones.
-- Groups API.
-- Twitter API supports Web caching for some methods.
-- Twitter API refactored into one-action-per-method.
-- Realtime plugin supports a tear-off window.
-- FOAF for groups.
-- Moved all JavaScript tags to just before </body> by default,
- significantly speeding up apparent page load time.
-- Added a Realtime plugin for Orbited server.
-- Added a mobile plugin to give a more mobile-phone-friendly layout
- when a mobile browser is detected.
-- Use CSS sprites for most common icons.
-- Fixes for images and buttons on Web output.
-- New plugin requires that users validate their email before posting.
-- New plugin UserFlag lets users flag other profiles for review.
-- Considerably better i18n support. Use TranslateWiki to update
- translations.
-- Notices and profiles now store location information.
-- New plugin, Geonames, for turning location names and lat/long pairs
- into structured IDs and vice versa. Architecture reusable for other
- systems.
-- Better check of license compatibility between site licenses.
-- Some improvements in XMPP output.
-- Media upload in the API.
-- Replies appear in the user's inbox.
-- Improved the UI on the bookmarklet.
-- StatusNet identities can be used as OpenID identities.
-- Script to register a user.
-- Script to make someone a group admin.
-- Script to make someone a site admin or moderator.
-- 'login' command.
-- Pluggable authentication.
-- LDAP authentication plugin.
-- Script for console interaction with the site (!).
-- Users don't see group posts from people they've blocked.
-- Admin panel interface for changing site configuration.
-- Users can be sandboxed (limited contributions) or silenced
- (no contributions) by moderators.
-- Many changes to make language usage more consistent.
-- Sphinx search moved to a plugin.
-- GeoURL plugin.
-- Profile and group lists support hAtom.
-- Massive refactoring of util.js.
-- Mapstraction plugin to show maps on inbox and profile pages.
-- Play/pause buttons for realtime notices.
-- Support for geo microformat.
-- Partial support for feed subscriptions, RSSCloud, PubSubHubBub.
-- Support for geolocation in browser (Chrome, Firefox).
-- Quit trying to negotiate HTML format. Always use text/html.
- We lose, and so do Web standards. Boo.
-- Better logging of request info.
-- Better output for errors in Web interface.
-- No longer store .mo files; these need to be generated.
-- Minify plugin.
-- Events to allow pluginizing logger.
-- New framework for plugin localization.
-- Gravatar plugin.
-- Add support for "repeats" (similar to Twitter's "retweets").
-- Support for repeats in Twitter API.
-- Better notification of direct messages.
-- New plugin to add "powered by StatusNet" to logo.
-- Returnto works for private sites.
-- Localisation updates, including new Persian translation.
-- CAS authentication plugin
-- Get rid of DB_DataObject native cache (big memory leaker)
-- setconfig.php script to set configuration variables
-- Blacklist plugin, to blacklist URLs and nicknames
-- Users can set flag whether they want to share location
- both in notice form (for one notice) and profile settings
- (any notice)
-- notice inboxes moved from normalized notice_inbox table to
- denormalized inbox table
-- Automatic compression of Memcache
-- Memory caching pluginized
-- Memcache, XCache, APC and Diskcache plugins
-- A script to update user locations
-- cache empty query results
-- A sample plugin to show best plugin practices
-- CacheLog plugin to debug cache accesses
-- Require users to login to view attachments on private sites
-- Plugin to use Mollom spam detection service
-- Plugin for RSSCloud
-- Add an array of default plugins
-- A version action to give credit to contributors and plugin
- developers
-- Daemon to read IMAP mailbox instead of using a mailbox script
-- Pass session information between SSL and non-SSL server
- when SSL set to 'sometimes'
-- 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.
+- Support for the new distributed status update standard OStatus
+ <http://ostatus.org>, based on PubSubHubbub, Salmon, Webfinger,
+ and Activity Streams.
+- Support for location using the Geolocation API. Notices are (optionally)
+ marked with lat-long information with geo microformats, and can be shown
+ on a map.
+- No fixed content size. Notice size is configurable, from 1 to
+ unlimited number of characters. Default is still 140!
+- An authorization framework, allowing different levels of users.
+- A Web-based administration panel.
+- A moderation system that lets site moderators sandbox, silence,
+ or delete uncooperative users.
+- A flag system that lets users flag profiles for moderator review.
+- Support for OAuth <http://oauth.net> authentication in the Twitter
+ API.
+- User roles system that lets the owner of the site to assign
+ administrator and moderator roles to other users.
+- A pluggable authentication system.
+- An authentication plugin for LDAP servers.
+- Many features that were core in 0.8.x are now plugins, such
+ as OpenID, Twitter integration, Facebook integration
+- A much-improved offline processing system
+- In-browser "realtime" updates using a number of realtime
+ servers (Meteor, Orbited, Cometd)
+- A plugin to provide an interface optimized for mobile browsers
+- Support for Facebook Connect
+- Support for logging in with a Twitter account
+- Vastly improved translation with additional languages and
+ translation in plugins
+- Support for all-SSL instances
+- Core support for "repeats" (like Twitter's "retweets")
+- Pluggable caching system, with plugins for Memcached,
+ APC, XCache, and a disk-based cache
+- Plugin to support RSSCloud
+- A framework for adding advertisements to a public site,
+ and plugins for Google AdSense and OpenX server
+- Plugins to throttle excessive subscriptions and registrations.
+- A plugin to blacklist particular URLs or nicknames.
+
+There are also literally thousands of bugs fixed and minor features
+added. A full changelog is available at http://status.net/wiki/StatusNet_0.9.0.
+
+Under the covers, the software has a vastly improved plugin and
+extension mechanism that makes writing powerful and flexible additions
+to the core functionality much easier.
Prerequisites
=============
@@ -312,6 +166,8 @@ For some functionality, you will also need the following extensions:
- Sphinx Search. A client for the sphinx server, an alternative
to MySQL or Postgresql fulltext search. You will also need a
Sphinx server to serve the search queries.
+- bcmath or gmp. For Salmon signatures (part of OStatus). Needed
+ if you have OStatus configured.
You will almost definitely get 2-3 times better performance from your
site if you install a PHP bytecode cache/accelerator. Some well-known
@@ -361,6 +217,9 @@ and the URLs are listed here for your convenience.
- PEAR Validate is an oEmbed dependency.
- PEAR Net_URL2 is an oEmbed dependency.
- Console_GetOpt for parsing command-line options.
+- libomb. a library for implementing OpenMicroBlogging 0.1, the
+ predecessor to OStatus.
+- HTTP_Request2, a library for making HTTP requests.
A design goal of StatusNet is that the basic Web functionality should
work on even the most restrictive commercial hosting services.
@@ -378,9 +237,9 @@ especially if you've previously installed PHP/MySQL packages.
1. Unpack the tarball you downloaded on your Web server. Usually a
command like this will work:
- tar zxf statusnet-0.8.2.tar.gz
+ tar zxf statusnet-0.9.0.tar.gz
- ...which will make a statusnet-0.8.2 subdirectory in your current
+ ...which will make a statusnet-0.9.0 subdirectory in your current
directory. (If you don't have shell access on your Web server, you
may have to unpack the tarball on your local computer and FTP the
files to the server.)
@@ -388,34 +247,34 @@ especially if you've previously installed PHP/MySQL packages.
2. Move the tarball to a directory of your choosing in your Web root
directory. Usually something like this will work:
- mv statusnet-0.8.2 /var/www/mublog
+ mv statusnet-0.9.0 /var/www/statusnet
- This will make your StatusNet instance available in the mublog path of
- your server, like "http://example.net/mublog". "microblog" or
+ This will make your StatusNet instance available in the statusnet path of
+ your server, like "http://example.net/statusnet". "microblog" or
"statusnet" might also be good path names. If you know how to
configure virtual hosts on your web server, you can try setting up
"http://micro.example.net/" or the like.
3. Make your target directory writeable by the Web server.
- chmod a+w /var/www/mublog/
+ chmod a+w /var/www/statusnet/
On some systems, this will probably work:
- chgrp www-data /var/www/mublog/
- chmod g+w /var/www/mublog/
+ chgrp www-data /var/www/statusnet/
+ chmod g+w /var/www/statusnet/
If your Web server runs as another user besides "www-data", try
that user's default group instead. As a last resort, you can create
- a new group like "mublog" and add the Web server's user to the group.
+ a new group like "statusnet" and add the Web server's user to the group.
4. You should also take this moment to make your avatar, background, and
file subdirectories writeable by the Web server. An insecure way to do
this is:
- chmod a+w /var/www/mublog/avatar
- chmod a+w /var/www/mublog/background
- chmod a+w /var/www/mublog/file
+ chmod a+w /var/www/statusnet/avatar
+ chmod a+w /var/www/statusnet/background
+ chmod a+w /var/www/statusnet/file
You can also make the avatar, background, and file directories
writeable by the Web server group, as noted above.
@@ -423,7 +282,7 @@ especially if you've previously installed PHP/MySQL packages.
5. Create a database to hold your microblog data. Something like this
should work:
- mysqladmin -u "username" --password="password" create statusnet
+ mysqladmin -u "username" --password="password" create statusnet
Note that StatusNet must have its own database; you can't share the
database with another program. You can name it whatever you want,
@@ -437,17 +296,17 @@ especially if you've previously installed PHP/MySQL packages.
database. If you have shell access, this will probably work from the
MySQL shell:
- GRANT ALL on statusnet.*
- TO 'lacuser'@'localhost'
- IDENTIFIED BY 'lacpassword';
+ GRANT ALL on statusnet.*
+ TO 'statusnetuser'@'localhost'
+ IDENTIFIED BY 'statusnetpassword';
- You should change 'lacuser' and 'lacpassword' to your preferred new
+ You should change 'statusnetuser' and 'statusnetpassword' to your preferred new
username and password. You may want to test logging in to MySQL as
this new user.
7. In a browser, navigate to the StatusNet install script; something like:
- http://yourserver.example.com/mublog/install.php
+ http://yourserver.example.com/statusnet/install.php
Enter the database connection information and your site name. The
install program will configure your site and install the initial,
@@ -467,16 +326,16 @@ By default, StatusNet will use URLs that include the main PHP program's
name in them. For example, a user's home profile might be
found at:
- http://example.org/mublog/index.php/mublog/fred
+ http://example.org/statusnet/index.php/statusnet/fred
On certain systems that don't support this kind of syntax, they'll
look like this:
- http://example.org/mublog/index.php?p=mublog/fred
+ http://example.org/statusnet/index.php?p=statusnet/fred
It's possible to configure the software so it looks like this instead:
- http://example.org/mublog/fred
+ http://example.org/statusnet/fred
These "fancy URLs" are more readable and memorable for users. To use
fancy URLs, you must either have Apache 2.x with .htaccess enabled and
@@ -501,7 +360,7 @@ your server.
You should now be able to navigate to a "fancy" URL on your server,
like:
- http://example.net/mublog/main/register
+ http://example.net/statusnet/main/register
If you changed your HTTP server configuration, you may need to restart
the server first.
@@ -512,11 +371,11 @@ directory is 'All' in your Apache configuration file. This is usually
/etc/apache2/sites-available/default. See the Apache documentation for
.htaccess files for more details:
- http://httpd.apache.org/docs/2.2/howto/htaccess.html
+ http://httpd.apache.org/docs/2.2/howto/htaccess.html
Also, check that mod_rewrite is installed and enabled:
- http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
+ http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
Sphinx
------
@@ -524,8 +383,8 @@ Sphinx
To use a Sphinx server to search users and notices, you'll need to
enable the SphinxSearch plugin. Add to your config.php:
- addPlugin('SphinxSearch');
- $config['sphinx']['server'] = 'searchhost.local';
+ addPlugin('SphinxSearch');
+ $config['sphinx']['server'] = 'searchhost.local';
You also need to install, compile and enable the sphinx pecl extension for
php on the client side, which itself depends on the sphinx development files.
@@ -553,33 +412,33 @@ For this to work, there *must* be a domain or sub-domain for which all
1. Run the SQL script carrier.sql in your StatusNet database. This will
usually work:
- mysql -u "lacuser" --password="lacpassword" statusnet < db/carrier.sql
+ mysql -u "statusnetuser" --password="statusnetpassword" statusnet < db/carrier.sql
This will populate your database with a list of wireless carriers
that support email SMS gateways.
2. Make sure the maildaemon.php file is executable:
- chmod +x scripts/maildaemon.php
+ chmod +x scripts/maildaemon.php
Note that "daemon" is kind of a misnomer here; the script is more
of a filter than a daemon.
2. Edit /etc/aliases on your mail server and add the following line:
- *: /path/to/statusnet/scripts/maildaemon.php
+ *: /path/to/statusnet/scripts/maildaemon.php
3. Run whatever code you need to to update your aliases database. For
many mail servers (Postfix, Exim, Sendmail), this should work:
- newaliases
+ newaliases
You may need to restart your mail server for the new database to
take effect.
4. Set the following in your config.php file:
- $config['mail']['domain'] = 'yourdomain.example.net';
+ $config['mail']['domain'] = 'yourdomain.example.net';
At this point, post-by-email and post-by-SMS-gateway should work. Note
that if your mail server is on a different computer from your email
@@ -633,7 +492,7 @@ search, indexing, bridging, or other cool services.
To configure a downstream site to receive your public stream, add
their "JID" (Jabber ID) to your config.php as follows:
- $config['xmpp']['public'][] = 'downstream@example.net';
+ $config['xmpp']['public'][] = 'downstream@example.net';
(Don't miss those square brackets at the end.) Note that your XMPP
broadcasting must be configured as mentioned above. Although you can
@@ -643,7 +502,7 @@ consider setting up queues and daemons.
Queues and daemons
------------------
-Some activities that StatusNet needs to do, like broadcast OMB, SMS,
+Some activities that StatusNet needs to do, like broadcast OStatus, SMS,
and XMPP messages, can be 'queued' and done by off-line bots instead.
For this to work, you must be able to run long-running offline
processes, either on your main Web server or on another server you
@@ -662,21 +521,19 @@ server is probably a good idea for high-volume sites.
3. In your config.php files (both the Web server and the queues
server!), set the following variable:
- $config['queue']['enabled'] = true;
+ $config['queue']['enabled'] = true;
You may also want to look at the 'daemon' section of this file for
more daemon options. Note that if you set the 'user' and/or 'group'
options, you'll need to create that user and/or group by hand.
They're not created automatically.
-4. On the queues server, run the command scripts/startdaemons.sh. It
- needs as a parameter the install path; if you run it from the
- StatusNet dir, "." should suffice.
+4. On the queues server, run the command scripts/startdaemons.sh.
This will run the queue handlers:
* queuedaemon.php - polls for queued items for inbox processing and
- pushing out to OMB, SMS, XMPP, etc.
+ pushing out to OStatus, SMS, XMPP, etc.
* xmppdaemon.php - listens for new XMPP messages from users and stores
them as notices in the database; also pulls queued XMPP output from
queuedaemon.php to push out to clients.
@@ -685,6 +542,9 @@ 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.
+Additional daemons may be also started by this script for certain
+plugins, such as the Twitter bridge.
+
It may be a good idea to use a daemon-monitoring service, like 'monit',
to check their status and keep them running.
@@ -693,46 +553,11 @@ default. This can be useful for starting, stopping, and monitoring the
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.
-
-Sitemaps
---------
-
-Sitemap files <http://sitemaps.org/> are a very nice way of telling
-search engines and other interested bots what's available on your site
-and what's changed recently. You can generate sitemap files for your
-StatusNet instance.
-
-1. Choose your sitemap URL layout. StatusNet creates a number of
- sitemap XML files for different parts of your site. You may want to
- put these in a sub-directory of your StatusNet directory to avoid
- clutter. The sitemap index file tells the search engines and other
- bots where to find all the sitemap files; it *must* be in the main
- installation directory or higher. Both types of file must be
- available through HTTP.
+our kind of hacky home-grown DB-based queue solution. This is strongly
+recommended for best response time, especially when using XMPP.
-2. To generate your sitemaps, run the following command on your server:
-
- php scripts/sitemap.php -f index-file-path -d sitemap-directory -u URL-prefix-for-sitemaps
-
- Here, index-file-path is the full path to the sitemap index file,
- like './sitemapindex.xml'. sitemap-directory is the directory where
- you want the sitemaps stored, like './sitemaps/' (make sure the dir
- exists). URL-prefix-for-sitemaps is the full URL for the sitemap dir,
- typically something like <http://example.net/mublog/sitemaps/>.
-
-You can use several methods for submitting your sitemap index to
-search engines to get your site indexed. One is to add a line like the
-following to your robots.txt file:
-
- Sitemap: /mublog/sitemapindex.xml
-
-This is a good idea for letting *all* Web spiders know about your
-sitemap. You can also submit sitemap files to major search engines
-using their respective "Webmaster centres"; see sitemaps.org for links
-to these resources.
+See the "queues" config section below for how to configure to use STOMP.
+As of this writing, the software has been tested with ActiveMQ 5.3.
Themes
------
@@ -755,15 +580,15 @@ following files:
display.css: a CSS2 file for "default" styling for all browsers.
ie6.css: a CSS2 file for override styling for fixing up Internet
- Explorer 6.
+ Explorer 6.
ie7.css: a CSS2 file for override styling for fixing up Internet
- Explorer 7.
+ Explorer 7.
logo.png: a logo image for the site.
default-avatar-profile.png: a 96x96 pixel image to use as the avatar for
- users who don't upload their own.
+ users who don't upload their own.
default-avatar-stream.png: Ditto, but 48x48. For streams of notices.
default-avatar-mini.png: Ditto ditto, but 24x24. For subscriptions
- listing on profile pages.
+ listing on profile pages.
You may want to start by copying the files from the default theme to
your own directory.
@@ -803,30 +628,26 @@ not visible to non-logged-in users. This might be useful for
workgroups who want to share a microblogging site for project
management, but host it on a public server.
-Note that this is an experimental feature; total privacy is not
-guaranteed or ensured. Also, privacy is all-or-nothing for a site; you
-can't have some accounts or notices private, and others public.
-Finally, the interaction of private sites with OpenMicroBlogging is
-undefined. Remote users won't be able to subscribe to users on a
-private site, but users of the private site may be able to subscribe
-to users on a remote site. (Or not... it's not well tested.) The
-"proper behaviour" hasn't been defined here, so handle with care.
+Total privacy is not guaranteed or ensured. Also, privacy is
+all-or-nothing for a site; you can't have some accounts or notices
+private, and others public. The interaction of private sites
+with OStatus is undefined.
Access to file attachments can also be restricted to logged-in users only.
1. Add a directory outside the web root where your file uploads will be
stored. Usually a command like this will work:
- mkdir /var/www/mublog-files
+ mkdir /var/www/statusnet-files
2. Make the file uploads directory writeable by the web server. An
insecure way to do this is:
- chmod a+x /var/www/mublog-files
+ chmod a+x /var/www/statusnet-files
3. Tell StatusNet to use this directory for file uploads. Add a line
like this to your config.php:
- $config['attachments']['dir'] = '/var/www/mublog-files';
+ $config['attachments']['dir'] = '/var/www/statusnet-files';
Upgrading
=========
@@ -841,7 +662,7 @@ with this situation.
If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've
been tracking the "git" version of the software, you will probably
want to upgrade and keep your existing data. There is no automated
-upgrade procedure in StatusNet 0.8.2. Try these step-by-step
+upgrade procedure in StatusNet 0.9.0. Try these step-by-step
instructions; read to the end first before trying them.
0. Download StatusNet and set up all the prerequisites as if you were
@@ -861,29 +682,29 @@ instructions; read to the end first before trying them.
maildaemon.php file, and running something like "newaliases".
5. Once all writing processes to your site are turned off, make a
final backup of the Web directory and database.
-6. Move your StatusNet directory to a backup spot, like "mublog.bak".
-7. Unpack your StatusNet 0.8.2 tarball and move it to "mublog" or
+6. Move your StatusNet directory to a backup spot, like "statusnet.bak".
+7. Unpack your StatusNet 0.9.0 tarball and move it to "statusnet" or
wherever your code used to be.
8. Copy the config.php file and avatar directory from your old
directory to your new directory.
9. Copy htaccess.sample to .htaccess in the new directory. Change the
RewriteBase to use the correct path.
10. Rebuild the database. (You can safely skip this step and go to #12
- if you're upgrading from another 0.8.x version).
+ if you're upgrading from another 0.9.x version).
NOTE: this step is destructive and cannot be
reversed. YOU CAN EASILY DESTROY YOUR SITE WITH THIS STEP. Don't
do it without a known-good backup!
- If your database is at version 0.7.4, you can run a special upgrade
- script:
+ If your database is at version 0.8.0 or above, you can run a
+ special upgrade script:
- mysql -u<rootuser> -p<rootpassword> <database> db/074to080.sql
+ mysql -u<rootuser> -p<rootpassword> <database> db/08to09.sql
Otherwise, go to your StatusNet directory and AFTER YOU MAKE A
BACKUP run the rebuilddb.sh script like this:
- ./scripts/rebuilddb.sh rootuser rootpassword database db/statusnet.sql
+ ./scripts/rebuilddb.sh rootuser rootpassword database db/statusnet.sql
Here, rootuser and rootpassword are the username and password for a
user who can drop and create databases as well as tables; typically
@@ -943,10 +764,17 @@ Configuration options
The main configuration file for StatusNet (excepting configurations for
dependency software) is config.php in your StatusNet directory. If you
-edit any other file in the directory, like lib/common.php (where most
+edit any other file in the directory, like lib/default.php (where most
of the defaults are defined), you will lose your configuration options
in any upgrade, and you will wish that you had been more careful.
+Starting with version 0.9.0, a Web based configuration panel has been
+added to StatusNet. The preferred method for changing config options is
+to use this panel.
+
+A command-line script, setconfig.php, can be used to set individual
+configuration options. It's in the scripts/ directory.
+
Starting with version 0.7.1, you can put config files in the
/etc/statusnet/ directory on your server, if it exists. Config files
will be included in this order:
@@ -960,7 +788,7 @@ Almost all configuration options are made through a two-dimensional
associative array, cleverly named $config. A typical configuration
line will be:
- $config['section']['option'] = value;
+ $config['section']['option'] = value;
For brevity, the following documentation describes each section and
option.
@@ -972,79 +800,79 @@ This section is a catch-all for site-wide variables.
name: the name of your site, like 'YourCompany Microblog'.
server: the server part of your site's URLs, like 'example.net'.
-path: The path part of your site's URLs, like 'mublog' or ''
- (installed in root).
+path: The path part of your site's URLs, like 'statusnet' or ''
+ (installed in root).
fancy: whether or not your site uses fancy URLs (see Fancy URLs
- section above). Default is false.
+ section above). Default is false.
logfile: full path to a file for StatusNet to save logging
- information to. You may want to use this if you don't have
- access to syslog.
+ information to. You may want to use this if you don't have
+ access to syslog.
logdebug: whether to log additional debug info like backtraces on
- hard errors. Default false.
+ hard errors. Default false.
locale_path: full path to the directory for locale data. Unless you
- store all your locale data in one place, you probably
- don't need to use this.
+ store all your locale data in one place, you probably
+ don't need to use this.
language: default language for your site. Defaults to US English.
- Note that this is overridden if a user is logged in and has
- selected a different language. It is also overridden if the
- user is NOT logged in, but their browser requests a different
- langauge. Since pretty much everybody's browser requests a
- language, that means that changing this setting has little or
- no effect in practice.
+ Note that this is overridden if a user is logged in and has
+ selected a different language. It is also overridden if the
+ user is NOT logged in, but their browser requests a different
+ langauge. Since pretty much everybody's browser requests a
+ language, that means that changing this setting has little or
+ no effect in practice.
languages: A list of languages supported on your site. Typically you'd
- only change this if you wanted to disable support for one
- or another language:
- "unset($config['site']['languages']['de'])" will disable
- support for German.
+ only change this if you wanted to disable support for one
+ or another language:
+ "unset($config['site']['languages']['de'])" will disable
+ support for German.
theme: Theme for your site (see Theme section). Two themes are
- provided by default: 'default' and 'stoica' (the one used by
- Identi.ca). It's appreciated if you don't use the 'stoica' theme
- except as the basis for your own.
+ provided by default: 'default' and 'stoica' (the one used by
+ Identi.ca). It's appreciated if you don't use the 'stoica' theme
+ except as the basis for your own.
email: contact email address for your site. By default, it's extracted
- from your Web server environment; you may want to customize it.
+ from your Web server environment; you may want to customize it.
broughtbyurl: name of an organization or individual who provides the
- service. Each page will include a link to this name in the
- footer. A good way to link to the blog, forum, wiki,
- corporate portal, or whoever is making the service available.
+ service. Each page will include a link to this name in the
+ footer. A good way to link to the blog, forum, wiki,
+ corporate portal, or whoever is making the service available.
broughtby: text used for the "brought by" link.
timezone: default timezone for message display. Users can set their
- own time zone. Defaults to 'UTC', which is a pretty good default.
+ own time zone. Defaults to 'UTC', which is a pretty good default.
closed: If set to 'true', will disallow registration on your site.
- This is a cheap way to restrict accounts to only one
- individual or group; just register the accounts you want on
- the service, *then* set this variable to 'true'.
+ This is a cheap way to restrict accounts to only one
+ individual or group; just register the accounts you want on
+ the service, *then* set this variable to 'true'.
inviteonly: If set to 'true', will only allow registration if the user
- was invited by an existing user.
+ was invited by an existing user.
private: If set to 'true', anonymous users will be redirected to the
- 'login' page. Also, API methods that normally require no
- authentication will require it. Note that this does not turn
- off registration; use 'closed' or 'inviteonly' for the
- behaviour you want.
+ 'login' page. Also, API methods that normally require no
+ authentication will require it. Note that this does not turn
+ off registration; use 'closed' or 'inviteonly' for the
+ behaviour you want.
notice: A plain string that will appear on every page. A good place
- to put introductory information about your service, or info about
- upgrades and outages, or other community info. Any HTML will
- be escaped.
+ to put introductory information about your service, or info about
+ upgrades and outages, or other community info. Any HTML will
+ be escaped.
logo: URL of an image file to use as the logo for the site. Overrides
- the logo in the theme, if any.
+ the logo in the theme, if any.
ssl: Whether to use SSL and https:// URLs for some or all pages.
- Possible values are 'always' (use it for all pages), 'never'
- (don't use it for any pages), or 'sometimes' (use it for
- sensitive pages that include passwords like login and registration,
- but not for regular pages). Default to 'never'.
+ Possible values are 'always' (use it for all pages), 'never'
+ (don't use it for any pages), or 'sometimes' (use it for
+ sensitive pages that include passwords like login and registration,
+ but not for regular pages). Default to 'never'.
sslserver: use an alternate server name for SSL URLs, like
- 'secure.example.org'. You should be careful to set cookie
- parameters correctly so that both the SSL server and the
- "normal" server can access the session cookie and
- preferably other cookies as well.
+ 'secure.example.org'. You should be careful to set cookie
+ parameters correctly so that both the SSL server and the
+ "normal" server can access the session cookie and
+ preferably other cookies as well.
shorturllength: Length of URL at which URLs in a message exceeding 140
- characters will be sent to the user's chosen
- shortening service.
+ characters will be sent to the user's chosen
+ shortening service.
dupelimit: minimum time allowed for one person to say the same thing
- twice. Default 60s. Anything lower is considered a user
- or UI error.
+ twice. Default 60s. Anything lower is considered a user
+ or UI error.
textlimit: default max size for texts in the site. Defaults to 140.
- 0 means no limit. Can be fine-tuned for notices, messages,
- profile bios and group descriptions.
+ 0 means no limit. Can be fine-tuned for notices, messages,
+ profile bios and group descriptions.
db
--
@@ -1054,44 +882,44 @@ DB_DataObject (see <http://ur1.ca/7xp>). The ones that you may want to
set are listed below for clarity.
database: a DSN (Data Source Name) for your StatusNet database. This is
- in the format 'protocol://username:password@hostname/databasename',
- where 'protocol' is 'mysql' or 'mysqli' (or possibly 'postgresql', if you
- really know what you're doing), 'username' is the username,
- 'password' is the password, and etc.
+ in the format 'protocol://username:password@hostname/databasename',
+ where 'protocol' is 'mysql' or 'mysqli' (or possibly 'postgresql', if you
+ really know what you're doing), 'username' is the username,
+ 'password' is the password, and etc.
ini_yourdbname: if your database is not named 'statusnet', you'll need
- to set this to point to the location of the
- statusnet.ini file. Note that the real name of your database
- should go in there, not literally 'yourdbname'.
+ to set this to point to the location of the
+ statusnet.ini file. Note that the real name of your database
+ should go in there, not literally 'yourdbname'.
db_driver: You can try changing this to 'MDB2' to use the other driver
- type for DB_DataObject, but note that it breaks the OpenID
- libraries, which only support PEAR::DB.
+ type for DB_DataObject, but note that it breaks the OpenID
+ libraries, which only support PEAR::DB.
debug: On a database error, you may get a message saying to set this
- value to 5 to see debug messages in the browser. This breaks
- just about all pages, and will also expose the username and
- password
+ value to 5 to see debug messages in the browser. This breaks
+ just about all pages, and will also expose the username and
+ password
quote_identifiers: Set this to true if you're using postgresql.
type: either 'mysql' or 'postgresql' (used for some bits of
- database-type-specific SQL in the code). Defaults to mysql.
+ database-type-specific SQL in the code). Defaults to mysql.
mirror: you can set this to an array of DSNs, like the above
- 'database' value. If it's set, certain read-only actions will
- use a random value out of this array for the database, rather
- than the one in 'database' (actually, 'database' is overwritten).
- You can offload a busy DB server by setting up MySQL replication
- and adding the slaves to this array. Note that if you want some
- requests to go to the 'database' (master) server, you'll need
- to include it in this array, too.
+ 'database' value. If it's set, certain read-only actions will
+ use a random value out of this array for the database, rather
+ than the one in 'database' (actually, 'database' is overwritten).
+ You can offload a busy DB server by setting up MySQL replication
+ and adding the slaves to this array. Note that if you want some
+ requests to go to the 'database' (master) server, you'll need
+ to include it in this array, too.
utf8: whether to talk to the database in UTF-8 mode. This is the default
- with new installations, but older sites may want to turn it off
- until they get their databases fixed up. See "UTF-8 database"
- above for details.
+ with new installations, but older sites may want to turn it off
+ until they get their databases fixed up. See "UTF-8 database"
+ above for details.
schemacheck: when to let plugins check the database schema to add
- tables or update them. Values can be 'runtime' (default)
- or 'script'. 'runtime' can be costly (plugins check the
- schema on every hit, adding potentially several db
- queries, some quite long), but not everyone knows how to
- run a script. If you can, set this to 'script' and run
- scripts/checkschema.php whenever you install or upgrade a
- plugin.
+ tables or update them. Values can be 'runtime' (default)
+ or 'script'. 'runtime' can be costly (plugins check the
+ schema on every hit, adding potentially several db
+ queries, some quite long), but not everyone knows how to
+ run a script. If you can, set this to 'script' and run
+ scripts/checkschema.php whenever you install or upgrade a
+ plugin.
syslog
------
@@ -1100,13 +928,13 @@ By default, StatusNet sites log error messages to the syslog facility.
(You can override this using the 'logfile' parameter described above).
appname: The name that StatusNet uses to log messages. By default it's
- "statusnet", but if you have more than one installation on the
- server, you may want to change the name for each instance so
- you can track log messages more easily.
+ "statusnet", but if you have more than one installation on the
+ server, you may want to change the name for each instance so
+ you can track log messages more easily.
priority: level to log at. Currently ignored.
facility: what syslog facility to used. Defaults to LOG_USER, only
- reset if you know what syslog is and have a good reason
- to change it.
+ reset if you know what syslog is and have a good reason
+ to change it.
queue
-----
@@ -1117,18 +945,52 @@ sending out SMS email or XMPP messages, for off-line processing. See
enabled: Whether to uses queues. Defaults to false.
subsystem: Which kind of queueserver to use. Values include "db" for
- our hacked-together database queuing (no other server
- required) and "stomp" for a stomp server.
+ our hacked-together database queuing (no other server
+ required) and "stomp" for a stomp server.
stomp_server: "broker URI" for stomp server. Something like
- "tcp://hostname:61613". More complicated ones are
- possible; see your stomp server's documentation for
- details.
+ "tcp://hostname:61613". More complicated ones are
+ possible; see your stomp server's documentation for
+ details.
queue_basename: a root name to use for queues (stomp only). Typically
- something like '/queue/sitename/' makes sense.
+ something like '/queue/sitename/' makes sense. If running
+ multiple instances on the same server, make sure that
+ either this setting or $config['site']['nickname'] are
+ unique for each site to keep them separate.
+
stomp_username: username for connecting to the stomp server; defaults
- to null.
+ to null.
stomp_password: password for connecting to the stomp server; defaults
- to null.
+ to null.
+
+stomp_persistent: keep items across queue server restart, if enabled.
+
+softlimit: an absolute or relative "soft memory limit"; daemons will
+ restart themselves gracefully when they find they've hit
+ this amount of memory usage. Defaults to 90% of PHP's global
+ memory_limit setting.
+
+inboxes: delivery of messages to receiver's inboxes can be delayed to
+ queue time for best interactive performance on the sender.
+ This may however be annoyingly slow when using the DB queues,
+ so you can set this to false if it's causing trouble.
+
+breakout: for stomp, individual queues are by default grouped up for
+ best scalability. If some need to be run by separate daemons,
+ etc they can be manually adjusted here.
+
+ Default will share all queues for all sites within each group.
+ Specify as <group>/<queue> or <group>/<queue>/<site>,
+ using nickname identifier as site.
+
+ 'main/distrib' separate "distrib" queue covering all sites
+ 'xmpp/xmppout/mysite' separate "xmppout" queue covering just 'mysite'
+
+max_retries: for stomp, drop messages after N failed attempts to process.
+ Defaults to 10.
+
+dead_letter_dir: for stomp, optional directory to dump data on failed
+ queue processing events after discarding them.
+
license
-------
@@ -1138,11 +1000,11 @@ choice for any public site. Note that some other servers will not
accept notices if you apply a stricter license than this.
type: one of 'cc' (for Creative Commons licenses), 'allrightsreserved'
- (default copyright), or 'private' (for private and confidential
- information).
+ (default copyright), or 'private' (for private and confidential
+ information).
owner: for 'allrightsreserved' or 'private', an assigned copyright
- holder (for example, an employer for a private site). If
- not specified, will be attributed to 'contributors'.
+ holder (for example, an employer for a private site). If
+ not specified, will be attributed to 'contributors'.
url: URL of the license, used for links.
title: Title for the license, like 'Creative Commons Attribution 3.0'.
image: A button shown on each page for the license.
@@ -1154,9 +1016,9 @@ This is for configuring out-going email. We use PEAR's Mail module,
see: http://pear.php.net/manual/en/package.mail.mail.factory.php
backend: the backend to use for mail, one of 'mail', 'sendmail', and
- 'smtp'. Defaults to PEAR's default, 'mail'.
+ 'smtp'. Defaults to PEAR's default, 'mail'.
params: if the mail backend requires any parameters, you can provide
- them in an associative array.
+ them in an associative array.
nickname
--------
@@ -1164,36 +1026,36 @@ nickname
This is for configuring nicknames in the service.
blacklist: an array of strings for usernames that may not be
- registered. A default array exists for strings that are
- used by StatusNet (e.g. 'doc', 'main', 'avatar', 'theme')
- but you may want to add others if you have other software
- installed in a subdirectory of StatusNet or if you just
- don't want certain words used as usernames.
+ registered. A default array exists for strings that are
+ used by StatusNet (e.g. 'doc', 'main', 'avatar', 'theme')
+ but you may want to add others if you have other software
+ installed in a subdirectory of StatusNet or if you just
+ don't want certain words used as usernames.
featured: an array of nicknames of 'featured' users of the site.
- Can be useful to draw attention to well-known users, or
- interesting people, or whatever.
+ Can be useful to draw attention to well-known users, or
+ interesting people, or whatever.
avatar
------
For configuring avatar access.
-dir: Directory to look for avatar files and to put them into.
- Defaults to avatar subdirectory of install directory; if
- you change it, make sure to change path, too.
-path: Path to avatars. Defaults to path for avatar subdirectory,
- but you can change it if you wish. Note that this will
- be included with the avatar server, too.
+dir: Directory to look for avatar files and to put them into.
+ Defaults to avatar subdirectory of install directory; if
+ you change it, make sure to change path, too.
+path: Path to avatars. Defaults to path for avatar subdirectory,
+ but you can change it if you wish. Note that this will
+ be included with the avatar server, too.
server: If set, defines another server where avatars are stored in the
- root directory. Note that the 'avatar' subdir still has to be
- writeable. You'd typically use this to split HTTP requests on
- the client to speed up page loading, either with another
- virtual server or with an NFS or SAMBA share. Clients
- typically only make 2 connections to a single server at a
- time <http://ur1.ca/6ih>, so this can parallelize the job.
- Defaults to null.
-ssl: Whether to access avatars using HTTPS. Defaults to null, meaning
- to guess based on site-wide SSL settings.
+ root directory. Note that the 'avatar' subdir still has to be
+ writeable. You'd typically use this to split HTTP requests on
+ the client to speed up page loading, either with another
+ virtual server or with an NFS or SAMBA share. Clients
+ typically only make 2 connections to a single server at a
+ time <http://ur1.ca/6ih>, so this can parallelize the job.
+ Defaults to null.
+ssl: Whether to access avatars using HTTPS. Defaults to null, meaning
+ to guess based on site-wide SSL settings.
public
------
@@ -1201,41 +1063,41 @@ public
For configuring the public stream.
localonly: If set to true, only messages posted by users of this
- service (rather than other services, filtered through OMB)
- are shown in the public stream. Default true.
+ service (rather than other services, filtered through OMB)
+ are shown in the public stream. Default true.
blacklist: An array of IDs of users to hide from the public stream.
- Useful if you have someone making excessive Twitterfeed posts
- to the site, other kinds of automated posts, testing bots, etc.
+ Useful if you have someone making excessive Twitterfeed posts
+ to the site, other kinds of automated posts, testing bots, etc.
autosource: Sources of notices that are from automatic posters, and thus
- should be kept off the public timeline. Default empty.
+ should be kept off the public timeline. Default empty.
theme
-----
server: Like avatars, you can speed up page loading by pointing the
- theme file lookup to another server (virtual or real).
- Defaults to NULL, meaning to use the site server.
-dir: Directory where theme files are stored. Used to determine
- whether to show parts of a theme file. Defaults to the theme
- subdirectory of the install directory.
-path: Path part of theme URLs, before the theme name. Relative to the
- theme server. It may make sense to change this path when upgrading,
- (using version numbers as the path) to make sure that all files are
- reloaded by caching clients or proxies. Defaults to null,
- which means to use the site path + '/theme'.
-ssl: Whether to use SSL for theme elements. Default is null, which means
- guess based on site SSL settings.
+ theme file lookup to another server (virtual or real).
+ Defaults to NULL, meaning to use the site server.
+dir: Directory where theme files are stored. Used to determine
+ whether to show parts of a theme file. Defaults to the theme
+ subdirectory of the install directory.
+path: Path part of theme URLs, before the theme name. Relative to the
+ theme server. It may make sense to change this path when upgrading,
+ (using version numbers as the path) to make sure that all files are
+ reloaded by caching clients or proxies. Defaults to null,
+ which means to use the site path + '/theme'.
+ssl: Whether to use SSL for theme elements. Default is null, which means
+ guess based on site SSL settings.
javascript
----------
server: You can speed up page loading by pointing the
- theme file lookup to another server (virtual or real).
- Defaults to NULL, meaning to use the site server.
-path: Path part of Javascript URLs. Defaults to null,
- which means to use the site path + '/js/'.
-ssl: Whether to use SSL for JavaScript files. Default is null, which means
- guess based on site SSL settings.
+ theme file lookup to another server (virtual or real).
+ Defaults to NULL, meaning to use the site server.
+path: Path part of Javascript URLs. Defaults to null,
+ which means to use the site path + '/js/'.
+ssl: Whether to use SSL for JavaScript files. Default is null, which means
+ guess based on site SSL settings.
xmpp
----
@@ -1245,27 +1107,27 @@ For configuring the XMPP sub-system.
enabled: Whether to accept and send messages by XMPP. Default false.
server: server part of XMPP ID for update user.
port: connection port for clients. Default 5222, which you probably
- shouldn't need to change.
+ shouldn't need to change.
user: username for the client connection. Users will receive messages
- from 'user'@'server'.
+ from 'user'@'server'.
resource: a unique identifier for the connection to the server. This
- is actually used as a prefix for each XMPP component in the system.
+ is actually used as a prefix for each XMPP component in the system.
password: password for the user account.
host: some XMPP domains are served by machines with a different
- hostname. (For example, @gmail.com GTalk users connect to
- talk.google.com). Set this to the correct hostname if that's the
- case with your server.
+ hostname. (For example, @gmail.com GTalk users connect to
+ talk.google.com). Set this to the correct hostname if that's the
+ case with your server.
encryption: Whether to encrypt the connection between StatusNet and the
- XMPP server. Defaults to true, but you can get
- considerably better performance turning it off if you're
- connecting to a server on the same machine or on a
- protected network.
+ XMPP server. Defaults to true, but you can get
+ considerably better performance turning it off if you're
+ connecting to a server on the same machine or on a
+ protected network.
debug: if turned on, this will make the XMPP library blurt out all of
- the incoming and outgoing messages as XML stanzas. Use as a
- last resort, and never turn it on if you don't have queues
- enabled, since it will spit out sensitive data to the browser.
+ the incoming and outgoing messages as XML stanzas. Use as a
+ last resort, and never turn it on if you don't have queues
+ enabled, since it will spit out sensitive data to the browser.
public: an array of JIDs to send _all_ notices to. This is useful for
- participating in third-party search and archiving services.
+ participating in third-party search and archiving services.
invite
------
@@ -1280,8 +1142,8 @@ tag
Miscellaneous tagging stuff.
dropoff: Decay factor for tag listing, in seconds.
- Defaults to exponential decay over ten days; you can twiddle
- with it to try and get better results for your site.
+ Defaults to exponential decay over ten days; you can twiddle
+ with it to try and get better results for your site.
popular
-------
@@ -1289,8 +1151,8 @@ popular
Settings for the "popular" section of the site.
dropoff: Decay factor for popularity listing, in seconds.
- Defaults to exponential decay over ten days; you can twiddle
- with it to try and get better results for your site.
+ Defaults to exponential decay over ten days; you can twiddle
+ with it to try and get better results for your site.
daemon
------
@@ -1298,14 +1160,14 @@ daemon
For daemon processes.
piddir: directory that daemon processes should write their PID file
- (process ID) to. Defaults to /var/run/, which is where this
- stuff should usually go on Unix-ish systems.
+ (process ID) to. Defaults to /var/run/, which is where this
+ stuff should usually go on Unix-ish systems.
user: If set, the daemons will try to change their effective user ID
- to this user before running. Probably a good idea, especially if
- you start the daemons as root. Note: user name, like 'daemon',
- not 1001.
+ to this user before running. Probably a good idea, especially if
+ you start the daemons as root. Note: user name, like 'daemon',
+ not 1001.
group: If set, the daemons will try to change their effective group ID
- to this named group. Again, a name, not a numerical ID.
+ to this named group. Again, a name, not a numerical ID.
memcached
---------
@@ -1315,13 +1177,13 @@ database data in memcached <http://www.danga.com/memcached/>.
enabled: Set to true to enable. Default false.
server: a string with the hostname of the memcached server. Can also
- be an array of hostnames, if you've got more than one server.
+ be an array of hostnames, if you've got more than one server.
base: memcached uses key-value pairs to store data. We build long,
- funny-looking keys to make sure we don't have any conflicts. The
- base of the key is usually a simplified version of the site name
- (like "Identi.ca" => "identica"), but you can overwrite this if
- you need to. You can safely ignore it if you only have one
- StatusNet site using your memcached server.
+ funny-looking keys to make sure we don't have any conflicts. The
+ base of the key is usually a simplified version of the site name
+ (like "Identi.ca" => "identica"), but you can overwrite this if
+ you need to. You can safely ignore it if you only have one
+ StatusNet site using your memcached server.
port: Port to connect to; defaults to 11211.
emailpost
@@ -1330,7 +1192,7 @@ emailpost
For post-by-email.
enabled: Whether to enable post-by-email. Defaults to true. You will
- also need to set up maildaemon.php.
+ also need to set up maildaemon.php.
sms
---
@@ -1338,7 +1200,7 @@ sms
For SMS integration.
enabled: Whether to enable SMS integration. Defaults to true. Queues
- should also be enabled.
+ should also be enabled.
integration
-----------
@@ -1353,7 +1215,7 @@ inboxes
For notice inboxes.
enabled: No longer used. If you set this to something other than true,
- StatusNet will no longer run.
+ StatusNet will no longer run.
throttle
--------
@@ -1362,8 +1224,8 @@ For notice-posting throttles.
enabled: Whether to throttle posting. Defaults to false.
count: Each user can make this many posts in 'timespan' seconds. So, if count
- is 100 and timespan is 3600, then there can be only 100 posts
- from a user every hour.
+ is 100 and timespan is 3600, then there can be only 100 posts
+ from a user every hour.
timespan: see 'count'.
profile
@@ -1371,12 +1233,8 @@ profile
Profile management.
-banned: an array of usernames and/or profile IDs of 'banned' profiles.
- The site will reject any notices by these users -- they will
- not be accepted at all. (Compare with blacklisted users above,
- whose posts just won't show up in the public stream.)
biolimit: max character length of bio; 0 means no limit; null means to use
- the site text limit default.
+ the site text limit default.
newuser
-------
@@ -1384,13 +1242,13 @@ newuser
Options with new users.
default: nickname of a user account to automatically subscribe new
- users to. Typically this would be system account for e.g.
- service updates or announcements. Users are able to unsub
- if they want. Default is null; no auto subscribe.
+ users to. Typically this would be system account for e.g.
+ service updates or announcements. Users are able to unsub
+ if they want. Default is null; no auto subscribe.
welcome: nickname of a user account that sends welcome messages to new
- users. Can be the same as 'default' account, although on
- busy servers it may be a good idea to keep that one just for
- 'urgent' messages. Default is null; no message.
+ users. Can be the same as 'default' account, although on
+ busy servers it may be a good idea to keep that one just for
+ 'urgent' messages. Default is null; no message.
If either of these special user accounts are specified, the users should
be created before the configuration is updated.
@@ -1407,19 +1265,19 @@ helps StatusNet developers take your needs into account when updating
the software.
run: string indicating when to run the statistics. Values can be 'web'
- (run occasionally at Web time), 'cron' (run from a cron script),
- or 'never' (don't ever run). If you set it to 'cron', remember to
- schedule the script to run on a regular basis.
+ (run occasionally at Web time), 'cron' (run from a cron script),
+ or 'never' (don't ever run). If you set it to 'cron', remember to
+ schedule the script to run on a regular basis.
frequency: if run value is 'web', how often to report statistics.
- Measured in Web hits; depends on how active your site is.
- Default is 10000 -- that is, one report every 10000 Web hits,
- on average.
+ Measured in Web hits; depends on how active your site is.
+ Default is 10000 -- that is, one report every 10000 Web hits,
+ on average.
reporturl: URL to post statistics to. Defaults to StatusNet developers'
- report system, but if they go evil or disappear you may
- need to update this to another value. Note: if you
- don't want to report stats, it's much better to
- set 'run' to 'never' than to set this value to something
- nonsensical.
+ report system, but if they go evil or disappear you may
+ need to update this to another value. Note: if you
+ don't want to report stats, it's much better to
+ set 'run' to 'never' than to set this value to something
+ nonsensical.
attachments
-----------
@@ -1432,14 +1290,14 @@ We suggest the use of the pecl file_info extension to handle mime type
detection.
supported: an array of mime types you accept to store and distribute,
- like 'image/gif', 'video/mpeg', 'audio/mpeg', etc. Make sure you
- setup your server to properly recognize the types you want to
- support.
-uploads: false to disable uploading files with notices (true by default).
+ like 'image/gif', 'video/mpeg', 'audio/mpeg', etc. Make sure you
+ setup your server to properly recognize the types you want to
+ support.
+uploads: false to disable uploading files with notices (true by default).
filecommand: The required MIME_Type library may need to use the 'file'
- command. It tries the one in the Web server's path, but if
- you're having problems with uploads, try setting this to the
- correct value. Note: 'file' must accept '-b' and '-i' options.
+ command. It tries the one in the Web server's path, but if
+ you're having problems with uploads, try setting this to the
+ correct value. Note: 'file' must accept '-b' and '-i' options.
For quotas, be sure you've set the upload_max_filesize and post_max_size
in php.ini to be large enough to handle your upload. In httpd.conf
@@ -1447,26 +1305,26 @@ in php.ini to be large enough to handle your upload. In httpd.conf
set too low (it's optional, so it may not be there at all).
file_quota: maximum size for a single file upload in bytes. A user can send
- any amount of notices with attachments as long as each attachment
- is smaller than file_quota.
+ any amount of notices with attachments as long as each attachment
+ is smaller than file_quota.
user_quota: total size in bytes a user can store on this server. Each user
- can store any number of files as long as their total size does
- not exceed the user_quota.
+ can store any number of files as long as their total size does
+ not exceed the user_quota.
monthly_quota: total size permitted in the current month. This is the total
- size in bytes that a user can upload each month.
+ size in bytes that a user can upload each month.
dir: directory accessible to the Web process where uploads should go.
- Defaults to the 'file' subdirectory of the install directory, which
- should be writeable by the Web user.
+ Defaults to the 'file' subdirectory of the install directory, which
+ should be writeable by the Web user.
server: server name to use when creating URLs for uploaded files.
- Defaults to null, meaning to use the default Web server. Using
- a virtual server here can speed up Web performance.
+ Defaults to null, meaning to use the default Web server. Using
+ a virtual server here can speed up Web performance.
path: URL path, relative to the server, to find files. Defaults to
- main path + '/file/'.
+ main path + '/file/'.
ssl: whether to use HTTPS for file URLs. Defaults to null, meaning to
- guess based on other SSL settings.
+ guess based on other SSL settings.
filecommand: command to use for determining the type of a file. May be
- skipped if fileinfo extension is installed. Defaults to
- '/usr/bin/file'.
+ skipped if fileinfo extension is installed. Defaults to
+ '/usr/bin/file'.
group
-----
@@ -1474,10 +1332,10 @@ group
Options for group functionality.
maxaliases: maximum number of aliases a group can have. Default 3. Set
- to 0 or less to prevent aliases in a group.
+ to 0 or less to prevent aliases in a group.
desclimit: maximum number of characters to allow in group descriptions.
- null (default) means to use the site-wide text limits. 0
- means no limit.
+ null (default) means to use the site-wide text limits. 0
+ means no limit.
oohembed
--------
@@ -1492,11 +1350,11 @@ search
Some stuff for search.
type: type of search. Ignored if PostgreSQL or Sphinx are enabled. Can either
- be 'fulltext' (default) or 'like'. The former is faster and more efficient
- but requires the lame old MyISAM engine for MySQL. The latter
- will work with InnoDB but could be miserably slow on large
- systems. We'll probably add another type sometime in the future,
- with our own indexing system (maybe like MediaWiki's).
+ be 'fulltext' (default) or 'like'. The former is faster and more efficient
+ but requires the lame old MyISAM engine for MySQL. The latter
+ will work with InnoDB but could be miserably slow on large
+ systems. We'll probably add another type sometime in the future,
+ with our own indexing system (maybe like MediaWiki's).
sessions
--------
@@ -1504,11 +1362,11 @@ sessions
Session handling.
handle: boolean. Whether we should register our own PHP session-handling
- code (using the database and memcache if enabled). Defaults to false.
- Setting this to true makes some sense on large or multi-server
- sites, but it probably won't hurt for smaller ones, either.
+ code (using the database and memcache if enabled). Defaults to false.
+ Setting this to true makes some sense on large or multi-server
+ sites, but it probably won't hurt for smaller ones, either.
debug: whether to output debugging info for session storage. Can help
- with weird session bugs, sometimes. Default false.
+ with weird session bugs, sometimes. Default false.
background
----------
@@ -1517,14 +1375,14 @@ Users can upload backgrounds for their pages; this section defines
their use.
server: the server to use for background. Using a separate (even
- virtual) server for this can speed up load times. Default is
- null; same as site server.
+ virtual) server for this can speed up load times. Default is
+ null; same as site server.
dir: directory to write backgrounds too. Default is '/background/'
- subdir of install dir.
+ subdir of install dir.
path: path to backgrounds. Default is sub-path of install path; note
- that you may need to change this if you change site-path too.
+ that you may need to change this if you change site-path too.
ssl: Whether or not to use HTTPS for background files. Defaults to
- null, meaning to guess from site-wide SSL settings.
+ null, meaning to guess from site-wide SSL settings.
ping
----
@@ -1533,7 +1391,7 @@ Using the "XML-RPC Ping" method initiated by weblogs.com, the site can
notify third-party servers of updates.
notify: an array of URLs for ping endpoints. Default is the empty
- array (no notification).
+ array (no notification).
design
------
@@ -1555,8 +1413,8 @@ notice
Configuration options specific to notices.
contentlimit: max length of the plain-text content of a notice.
- Default is null, meaning to use the site-wide text limit.
- 0 means no limit.
+ Default is null, meaning to use the site-wide text limit.
+ 0 means no limit.
message
-------
@@ -1564,8 +1422,8 @@ message
Configuration options specific to messages.
contentlimit: max length of the plain-text content of a message.
- Default is null, meaning to use the site-wide text limit.
- 0 means no limit.
+ Default is null, meaning to use the site-wide text limit.
+ 0 means no limit.
logincommand
------------
@@ -1573,14 +1431,14 @@ logincommand
Configuration options for the login command.
disabled: whether to enable this command. If enabled, users who send
- the text 'login' to the site through any channel will
- receive a link to login to the site automatically in return.
- Possibly useful for users who primarily use an XMPP or SMS
- interface and can't be bothered to remember their site
- password. Note that the security implications of this are
- pretty serious and have not been thoroughly tested. You
- should enable it only after you've convinced yourself that
- it is safe. Default is 'false'.
+ the text 'login' to the site through any channel will
+ receive a link to login to the site automatically in return.
+ Possibly useful for users who primarily use an XMPP or SMS
+ interface and can't be bothered to remember their site
+ password. Note that the security implications of this are
+ pretty serious and have not been thoroughly tested. You
+ should enable it only after you've convinced yourself that
+ it is safe. Default is 'false'.
singleuser
----------
@@ -1599,11 +1457,11 @@ 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.
+ 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.
+ 'search', 'message', 'settings', 'admin'. Ignored when site
+ is private, in which case the entire site ('/') is disallowed.
Plugins
=======
@@ -1662,7 +1520,7 @@ repository (see below), and you get a compilation error ("unexpected
T_STRING") in the browser, check to see that you don't have any
conflicts in your code.
-If you upgraded to StatusNet 0.8.2 without reading the "Notice
+If you upgraded to StatusNet 0.9.0 without reading the "Notice
inboxes" section above, and all your users' 'Personal' tabs are empty,
read the "Notice inboxes" section above.
@@ -1695,7 +1553,7 @@ If you're adventurous or impatient, you may want to install the
development version of StatusNet. To get it, use the git version
control tool <http://git-scm.com/> like so:
- git clone git@gitorious.org:statusnet/mainline.git
+ git clone git@gitorious.org:statusnet/mainline.git
This is the version of the software that runs on Identi.ca and the
status.net hosted service. Using it is a mixed bag. On the positive
@@ -1717,16 +1575,16 @@ There are several ways to get more information about StatusNet.
* The #statusnet IRC channel on freenode.net <http://www.freenode.net/>.
* The StatusNet wiki, http://status.net/wiki/
* The StatusNet blog, http://status.net/blog/
-* The StatusNet status update, <http://status.status.net/status> (!)
+* The StatusNet status update, <http://status.status.net/> (!)
Feedback
========
-* Microblogging messages to http://identi.ca/evan are very welcome.
-* StatusNet's Trac server has a bug tracker for any defects you may find,
- or ideas for making things better. http://status.net/trac/
-* e-mail to evan@status.net will usually be read and responded to very
- quickly, unless the question is really hard.
+* Microblogging messages to http://support.status.net/ are very welcome.
+* The microblogging group http://identi.ca/group/statusnet is a good
+ place to discuss the software.
+* StatusNet has a bug tracker for any defects you may find, or ideas for
+ making things better. http://status.net/bugs
Credits
=======
diff --git a/actions/accessadminpanel.php b/actions/accessadminpanel.php
index 4768e2faf..73354e97a 100644
--- a/actions/accessadminpanel.php
+++ b/actions/accessadminpanel.php
@@ -51,6 +51,7 @@ class AccessadminpanelAction extends AdminPanelAction
function title()
{
+ // TRANS: Page title
return _('Access');
}
@@ -62,6 +63,7 @@ class AccessadminpanelAction extends AdminPanelAction
function getInstructions()
{
+ // TRANS: Page notice
return _('Site access settings');
}
@@ -155,24 +157,34 @@ class AccessAdminPanelForm extends AdminForm
function formData()
{
$this->out->elementStart('fieldset', array('id' => 'settings_admin_access'));
+ // TRANS: Form legend for registration form.
$this->out->element('legend', null, _('Registration'));
$this->out->elementStart('ul', 'form_data');
$this->li();
- $this->out->checkbox('private', _('Private'),
+ // TRANS: Checkbox instructions for admin setting "Private"
+ $instructions = _('Prohibit anonymous users (not logged in) from viewing site?');
+ // TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+ $this->out->checkbox('private', _m('LABEL', 'Private'),
(bool) $this->value('private'),
- _('Prohibit anonymous users (not logged in) from viewing site?'));
+ $instructions);
$this->unli();
$this->li();
+ // TRANS: Checkbox instructions for admin setting "Invite only"
+ $instructions = _('Make registration invitation only.');
+ // TRANS: Checkbox label for configuring site as invite only.
$this->out->checkbox('inviteonly', _('Invite only'),
(bool) $this->value('inviteonly'),
- _('Make registration invitation only.'));
+ $instructions);
$this->unli();
$this->li();
+ // TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+ $instructions = _('Disable new registrations.');
+ // TRANS: Checkbox label for disabling new user registrations.
$this->out->checkbox('closed', _('Closed'),
(bool) $this->value('closed'),
- _('Disable new registrations.'));
+ $instructions);
$this->unli();
$this->out->elementEnd('ul');
$this->out->elementEnd('fieldset');
@@ -186,7 +198,9 @@ class AccessAdminPanelForm extends AdminForm
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save access settings'));
+ // TRANS: Title / tooltip for button to save access settings in site admin panel
+ $title = _('Save access settings');
+ $this->out->submit('submit', _m('BUTTON', 'Save'), 'submit', null, $title);
}
}
diff --git a/actions/all.php b/actions/all.php
index 3eb185214..8c22e6f5f 100644
--- a/actions/all.php
+++ b/actions/all.php
@@ -60,6 +60,7 @@ class AllAction extends ProfileAction
}
if ($this->page > 1 && $this->notice->N == 0) {
+ // TRANS: Server error when page not found (404)
$this->serverError(_('No such page'), $code = 404);
}
@@ -81,8 +82,10 @@ class AllAction extends ProfileAction
function title()
{
if ($this->page > 1) {
+ // TRANS: Page title. %1$s is user nickname, %2$d is page number
return sprintf(_('%1$s and friends, page %2$d'), $this->user->nickname, $this->page);
} else {
+ // TRANS: Page title. %1$s is user nickname
return sprintf(_("%s and friends"), $this->user->nickname);
}
}
@@ -96,6 +99,7 @@ class AllAction extends ProfileAction
'nickname' =>
$this->user->nickname)
),
+ // TRANS: %1$s is user nickname
sprintf(_('Feed for friends of %s (RSS 1.0)'), $this->user->nickname)),
new Feed(Feed::RSS2,
common_local_url(
@@ -104,6 +108,7 @@ class AllAction extends ProfileAction
'id' => $this->user->nickname
)
),
+ // TRANS: %1$s is user nickname
sprintf(_('Feed for friends of %s (RSS 2.0)'), $this->user->nickname)),
new Feed(Feed::ATOM,
common_local_url(
@@ -112,6 +117,7 @@ class AllAction extends ProfileAction
'id' => $this->user->nickname
)
),
+ // TRANS: %1$s is user nickname
sprintf(_('Feed for friends of %s (Atom)'), $this->user->nickname))
);
}
@@ -124,6 +130,7 @@ class AllAction extends ProfileAction
function showEmptyListMessage()
{
+ // TRANS: %1$s is user nickname
$message = sprintf(_('This is the timeline for %s and friends but no one has posted anything yet.'), $this->user->nickname) . ' ';
if (common_logged_in()) {
@@ -131,6 +138,7 @@ class AllAction extends ProfileAction
if ($this->user->id === $current_user->id) {
$message .= _('Try subscribing to more people, [join a group](%%action.groups%%) or post something yourself.');
} else {
+ // TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
$message .= sprintf(_('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).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname);
}
} else {
@@ -144,26 +152,32 @@ class AllAction extends ProfileAction
function showContent()
{
- $nl = new NoticeList($this->notice, $this);
+ if (Event::handle('StartShowAllContent', array($this))) {
+ $nl = new NoticeList($this->notice, $this);
- $cnt = $nl->show();
+ $cnt = $nl->show();
- if (0 == $cnt) {
- $this->showEmptyListMessage();
- }
+ if (0 == $cnt) {
+ $this->showEmptyListMessage();
+ }
- $this->pagination(
- $this->page > 1, $cnt > NOTICES_PER_PAGE,
- $this->page, 'all', array('nickname' => $this->user->nickname)
- );
+ $this->pagination(
+ $this->page > 1, $cnt > NOTICES_PER_PAGE,
+ $this->page, 'all', array('nickname' => $this->user->nickname)
+ );
+
+ Event::handle('EndShowAllContent', array($this));
+ }
}
function showPageTitle()
{
$user = common_current_user();
if ($user && ($user->id == $this->user->id)) {
+ // TRANS: H1 text
$this->element('h1', null, _("You and friends"));
} else {
+ // TRANS: H1 text. %1$s is user nickname
$this->element('h1', null, sprintf(_('%s and friends'), $this->user->nickname));
}
}
diff --git a/actions/allrss.php b/actions/allrss.php
index 28b1be27d..01e737ad7 100644
--- a/actions/allrss.php
+++ b/actions/allrss.php
@@ -83,6 +83,7 @@ class AllrssAction extends Rss10Action
function getNotices($limit=0)
{
$cur = common_current_user();
+ $user = $this->user;
if (!empty($cur) && $cur->id == $user->id) {
$notice = $this->user->noticeInbox(0, $limit);
@@ -90,7 +91,6 @@ class AllrssAction extends Rss10Action
$notice = $this->user->noticesWithFriends(0, $limit);
}
- $user = $this->user;
$notice = $user->noticesWithFriends(0, $limit);
$notices = array();
diff --git a/actions/apidirectmessage.php b/actions/apidirectmessage.php
index 5355acf82..53da9e0c6 100644
--- a/actions/apidirectmessage.php
+++ b/actions/apidirectmessage.php
@@ -182,11 +182,6 @@ class ApiDirectMessageAction extends ApiAuthAction
$message->whereAdd('id > ' . $this->since_id);
}
- if (!empty($since)) {
- $d = date('Y-m-d H:i:s', $this->since);
- $message->whereAdd("created > '$d'");
- }
-
$message->orderBy('created DESC, id DESC');
$message->limit((($this->page - 1) * $this->count), $this->count);
$message->find();
diff --git a/actions/apigroupcreate.php b/actions/apigroupcreate.php
index 028d76a78..145806356 100644
--- a/actions/apigroupcreate.php
+++ b/actions/apigroupcreate.php
@@ -123,7 +123,9 @@ class ApiGroupCreateAction extends ApiAuthAction
'description' => $this->description,
'location' => $this->location,
'aliases' => $this->aliases,
- 'userid' => $this->user->id));
+ 'userid' => $this->user->id,
+ 'local' => true));
+
switch($this->format) {
case 'xml':
$this->showSingleXmlGroup($group);
@@ -306,9 +308,9 @@ class ApiGroupCreateAction extends ApiAuthAction
function groupNicknameExists($nickname)
{
- $group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
- if (!empty($group)) {
+ if (!empty($local)) {
return true;
}
diff --git a/actions/apigrouplist.php b/actions/apigrouplist.php
index 605b38232..98fdb0497 100644
--- a/actions/apigrouplist.php
+++ b/actions/apigrouplist.php
@@ -152,8 +152,7 @@ class ApiGroupListAction extends ApiBareAuthAction
($this->page - 1) * $this->count,
$this->count,
$this->since_id,
- $this->max_id,
- $this->since
+ $this->max_id
);
while ($group->fetch()) {
diff --git a/actions/apigrouplistall.php b/actions/apigrouplistall.php
index d2ef2978a..e1b54a832 100644
--- a/actions/apigrouplistall.php
+++ b/actions/apigrouplistall.php
@@ -134,13 +134,13 @@ class ApiGroupListAllAction extends ApiPrivateAuthAction
function getGroups()
{
- $groups = array();
-
- // XXX: Use the $page, $count, $max_id, $since_id, and $since parameters
+ $qry = 'SELECT user_group.* '.
+ 'from user_group join local_group on user_group.id = local_group.group_id '.
+ 'order by created desc ';
$group = new User_group();
- $group->orderBy('created DESC');
- $group->find();
+
+ $group->query($qry);
while ($group->fetch()) {
$groups[] = clone($group);
diff --git a/actions/apigroupmembership.php b/actions/apigroupmembership.php
index 3c7c8e883..9f72b527c 100644
--- a/actions/apigroupmembership.php
+++ b/actions/apigroupmembership.php
@@ -125,8 +125,7 @@ class ApiGroupMembershipAction extends ApiPrivateAuthAction
($this->page - 1) * $this->count,
$this->count,
$this->since_id,
- $this->max_id,
- $this->since
+ $this->max_id
);
while ($profile->fetch()) {
diff --git a/actions/apistatusnetconfig.php b/actions/apistatusnetconfig.php
index 0345a9bc0..bff8313b5 100644
--- a/actions/apistatusnetconfig.php
+++ b/actions/apistatusnetconfig.php
@@ -32,8 +32,6 @@ if (!defined('STATUSNET')) {
exit(1);
}
-require_once INSTALLDIR . '/lib/api.php';
-
/**
* Gives a full dump of configuration variables for this instance
* of StatusNet, minus variables that may be security-sensitive (like
diff --git a/actions/apitimelinefriends.php b/actions/apitimelinefriends.php
index 2db76857e..9ef3ace60 100644
--- a/actions/apitimelinefriends.php
+++ b/actions/apitimelinefriends.php
@@ -202,11 +202,11 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction
if (!empty($this->auth_user) && $this->auth_user->id == $this->user->id) {
$notice = $this->user->ownFriendsTimeline(($this->page-1) * $this->count,
$this->count, $this->since_id,
- $this->max_id, $this->since);
+ $this->max_id);
} else {
$notice = $this->user->friendsTimeline(($this->page-1) * $this->count,
$this->count, $this->since_id,
- $this->max_id, $this->since);
+ $this->max_id);
}
while ($notice->fetch()) {
diff --git a/actions/apitimelinegroup.php b/actions/apitimelinegroup.php
index 0bb4860ea..8f971392b 100644
--- a/actions/apitimelinegroup.php
+++ b/actions/apitimelinegroup.php
@@ -104,32 +104,21 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
function showTimeline()
{
- $sitename = common_config('site', 'name');
- $avatar = $this->group->homepage_logo;
- $title = sprintf(_("%s timeline"), $this->group->nickname);
- $taguribase = TagURI::base();
- $id = "tag:$taguribase:GroupTimeline:" . $this->group->id;
-
- $subtitle = sprintf(
- _('Updates from %1$s on %2$s!'),
- $this->group->nickname,
- $sitename
- );
-
- $logo = ($avatar) ? $avatar : User_group::defaultLogo(AVATAR_PROFILE_SIZE);
+ // We'll pull common formatting out of this for other formats
+ $atom = new AtomGroupNoticeFeed($this->group);
switch($this->format) {
case 'xml':
$this->showXmlTimeline($this->notices);
break;
case 'rss':
- $this->showRssTimeline(
+ $this->showRssTimeline(
$this->notices,
- $title,
+ $atom->title,
$this->group->homeUrl(),
- $subtitle,
+ $atom->subtitle,
null,
- $logo
+ $atom->logo
);
break;
case 'atom':
@@ -138,46 +127,22 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
try {
- // If this was called using an integer ID, i.e.: using the canonical
- // URL for this group's feed, then pass the Group object into the feed,
- // so the OStatus plugin, and possibly other plugins, can access it.
- // Feels sorta hacky. -- Z
-
- $atom = null;
- $id = $this->arg('id');
-
- if (strval(intval($id)) === strval($id)) {
- $atom = new AtomGroupNoticeFeed($this->group);
- } else {
- $atom = new AtomGroupNoticeFeed();
- }
-
- $atom->setId($id);
- $atom->setTitle($title);
- $atom->setSubtitle($subtitle);
- $atom->setLogo($logo);
- $atom->setUpdated('now');
-
$atom->addAuthorRaw($this->group->asAtomAuthor());
$atom->setActivitySubject($this->group->asActivitySubject());
- $atom->addLink($this->group->homeUrl());
-
$id = $this->arg('id');
$aargs = array('format' => 'atom');
if (!empty($id)) {
$aargs['id'] = $id;
}
+ $self = $this->getSelfUri('ApiTimelineGroup', $aargs);
- $atom->addLink(
- $this->getSelfUri('ApiTimelineGroup', $aargs),
- array('rel' => 'self', 'type' => 'application/atom+xml')
- );
+ $atom->setId($self);
+ $atom->setSelfLink($self);
$atom->addEntryFromNotices($this->notices);
- //$this->raw($atom->getString());
- print $atom->getString(); // temp hack until PuSH feeds are redone cleanly
+ $this->raw($atom->getString());
} catch (Atom10FeedException $e) {
$this->serverError(
@@ -214,8 +179,7 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
($this->page-1) * $this->count,
$this->count,
$this->since_id,
- $this->max_id,
- $this->since
+ $this->max_id
);
while ($notice->fetch()) {
diff --git a/actions/apitimelinehome.php b/actions/apitimelinehome.php
index 0c72f4020..abd387786 100644
--- a/actions/apitimelinehome.php
+++ b/actions/apitimelinehome.php
@@ -200,13 +200,13 @@ class ApiTimelineHomeAction extends ApiBareAuthAction
$notice = $this->user->noticeInbox(
($this->page-1) * $this->count,
$this->count, $this->since_id,
- $this->max_id, $this->since
+ $this->max_id
);
} else {
$notice = $this->user->noticesWithFriends(
($this->page-1) * $this->count,
$this->count, $this->since_id,
- $this->max_id, $this->since
+ $this->max_id
);
}
diff --git a/actions/apitimelinementions.php b/actions/apitimelinementions.php
index a39c63346..31627ab7b 100644
--- a/actions/apitimelinementions.php
+++ b/actions/apitimelinementions.php
@@ -189,7 +189,7 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction
$notice = $this->user->getReplies(
($this->page - 1) * $this->count, $this->count,
- $this->since_id, $this->max_id, $this->since
+ $this->since_id, $this->max_id
);
while ($notice->fetch()) {
diff --git a/actions/apitimelinepublic.php b/actions/apitimelinepublic.php
index 1ff0fd261..3e4dad690 100644
--- a/actions/apitimelinepublic.php
+++ b/actions/apitimelinepublic.php
@@ -75,10 +75,6 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction
$this->notices = $this->getNotices();
- if ($this->since) {
- throw new ServerException("since parameter is disabled for performance; use since_id", 403);
- }
-
return true;
}
diff --git a/actions/apitimelineuser.php b/actions/apitimelineuser.php
index 3e849cc78..2d0047c04 100644
--- a/actions/apitimelineuser.php
+++ b/actions/apitimelineuser.php
@@ -112,21 +112,17 @@ class ApiTimelineUserAction extends ApiBareAuthAction
function showTimeline()
{
$profile = $this->user->getProfile();
- $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
- $sitename = common_config('site', 'name');
- $title = sprintf(_("%s timeline"), $this->user->nickname);
- $taguribase = TagURI::base();
- $id = "tag:$taguribase:UserTimeline:" . $this->user->id;
+ // We'll use the shared params from the Atom stub
+ // for other feed types.
+ $atom = new AtomUserNoticeFeed($this->user);
+ $title = $atom->title;
$link = common_local_url(
'showstream',
array('nickname' => $this->user->nickname)
);
- $subtitle = sprintf(
- _('Updates from %1$s on %2$s!'),
- $this->user->nickname, $sitename
- );
- $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE);
+ $subtitle = $atom->subtitle;
+ $logo = $atom->logo;
// FriendFeed's SUP protocol
// Also added RSS and Atom feeds
@@ -148,56 +144,18 @@ class ApiTimelineUserAction extends ApiBareAuthAction
header('Content-Type: application/atom+xml; charset=utf-8');
- // If this was called using an integer ID, i.e.: using the canonical
- // URL for this user's feed, then pass the User object into the feed,
- // so the OStatus plugin, and possibly other plugins, can access it.
- // Feels sorta hacky. -- Z
-
- $atom = null;
- $id = $this->arg('id');
-
- if (strval(intval($id)) === strval($id)) {
- $atom = new AtomUserNoticeFeed($this->user);
- } else {
- $atom = new AtomUserNoticeFeed();
- }
-
- $atom->setId($id);
- $atom->setTitle($title);
- $atom->setSubtitle($subtitle);
- $atom->setLogo($logo);
- $atom->setUpdated('now');
-
- $atom->addLink(
- common_local_url(
- 'showstream',
- array('nickname' => $this->user->nickname)
- )
- );
-
$id = $this->arg('id');
$aargs = array('format' => 'atom');
if (!empty($id)) {
$aargs['id'] = $id;
}
-
- $atom->addLink(
- $this->getSelfUri('ApiTimelineUser', $aargs),
- array('rel' => 'self', 'type' => 'application/atom+xml')
- );
-
- $atom->addLink(
- $suplink,
- array(
- 'rel' => 'http://api.friendfeed.com/2008/03#sup',
- 'type' => 'application/json'
- )
- );
+ $self = $this->getSelfUri('ApiTimelineUser', $aargs);
+ $atom->setId($self);
+ $atom->setSelfLink($self);
$atom->addEntryFromNotices($this->notices);
- #$this->raw($atom->getString());
- print $atom->getString(); // temporary for output buffering
+ $this->raw($atom->getString());
break;
case 'json':
@@ -222,7 +180,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction
$notice = $this->user->getNotices(
($this->page-1) * $this->count, $this->count,
- $this->since_id, $this->max_id, $this->since
+ $this->since_id, $this->max_id
);
while ($notice->fetch()) {
diff --git a/actions/blockedfromgroup.php b/actions/blockedfromgroup.php
index 0b4caf5bf..a0598db27 100644
--- a/actions/blockedfromgroup.php
+++ b/actions/blockedfromgroup.php
@@ -74,7 +74,14 @@ class BlockedfromgroupAction extends GroupDesignAction
return false;
}
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+
+ if (!$local) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
+
+ $this->group = User_group::staticGet('id', $local->group_id);
if (!$this->group) {
$this->clientError(_('No such group.'), 404);
diff --git a/actions/deleteuser.php b/actions/deleteuser.php
index 32b703aa7..c4f84fad2 100644
--- a/actions/deleteuser.php
+++ b/actions/deleteuser.php
@@ -131,18 +131,21 @@ class DeleteuserAction extends ProfileFormAction
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', _('Delete user'));
- $this->element('p', null,
- _('Are you sure you want to delete this user? '.
- 'This will clear all data about the user from the '.
- 'database, without a backup.'));
- $this->element('input', array('id' => 'deleteuserto-' . $id,
- 'name' => 'profileid',
- 'type' => 'hidden',
- 'value' => $id));
- foreach ($this->args as $k => $v) {
- if (substr($k, 0, 9) == 'returnto-') {
- $this->hidden($k, $v);
+ if (Event::handle('StartDeleteUserForm', array($this, $this->user))) {
+ $this->element('p', null,
+ _('Are you sure you want to delete this user? '.
+ 'This will clear all data about the user from the '.
+ 'database, without a backup.'));
+ $this->element('input', array('id' => 'deleteuserto-' . $id,
+ 'name' => 'profileid',
+ 'type' => 'hidden',
+ 'value' => $id));
+ foreach ($this->args as $k => $v) {
+ if (substr($k, 0, 9) == 'returnto-') {
+ $this->hidden($k, $v);
+ }
}
+ Event::handle('EndDeleteUserForm', array($this, $this->user));
}
$this->submit('form_action-no', _('No'), 'submit form_action-primary', 'no', _("Do not block this user"));
$this->submit('form_action-yes', _('Yes'), 'submit form_action-secondary', 'yes', _('Delete this user'));
@@ -158,7 +161,9 @@ class DeleteuserAction extends ProfileFormAction
function handlePost()
{
- $this->user->delete();
+ if (Event::handle('StartDeleteUser', array($this, $this->user))) {
+ $this->user->delete();
+ Event::handle('EndDeleteUser', array($this, $this->user));
+ }
}
}
-
diff --git a/actions/editgroup.php b/actions/editgroup.php
index ad0b6e185..4b596cade 100644
--- a/actions/editgroup.php
+++ b/actions/editgroup.php
@@ -86,10 +86,14 @@ class EditgroupAction extends GroupDesignAction
}
$groupid = $this->trimmed('groupid');
+
if ($groupid) {
$this->group = User_group::staticGet('id', $groupid);
} else {
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+ if ($local) {
+ $this->group = User_group::staticGet('id', $local->group_id);
+ }
}
if (!$this->group) {
@@ -245,6 +249,7 @@ class EditgroupAction extends GroupDesignAction
$this->group->homepage = $homepage;
$this->group->description = $description;
$this->group->location = $location;
+ $this->group->mainpage = common_local_url('showgroup', array('nickname' => $nickname));
$result = $this->group->update($orig);
@@ -259,6 +264,12 @@ class EditgroupAction extends GroupDesignAction
$this->serverError(_('Could not create aliases.'));
}
+ if ($nickname != $orig->nickname) {
+ common_log(LOG_INFO, "Saving local group info.");
+ $local = Local_group::staticGet('group_id', $this->group->id);
+ $local->setNickname($nickname);
+ }
+
$this->group->query('COMMIT');
if ($this->group->nickname != $orig->nickname) {
@@ -272,10 +283,10 @@ class EditgroupAction extends GroupDesignAction
function nicknameExists($nickname)
{
- $group = User_group::staticGet('nickname', $nickname);
+ $group = Local_group::staticGet('nickname', $nickname);
if (!empty($group) &&
- $group->id != $this->group->id) {
+ $group->group_id != $this->group->id) {
return true;
}
diff --git a/actions/foafgroup.php b/actions/foafgroup.php
index f5fd7fe88..ebdf1cee2 100644
--- a/actions/foafgroup.php
+++ b/actions/foafgroup.php
@@ -56,7 +56,14 @@ class FoafGroupAction extends Action
return false;
}
- $this->group = User_group::staticGet('nickname', $this->nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+
+ if (!$local) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
+
+ $this->group = User_group::staticGet('id', $local->group_id);
if (!$this->group) {
$this->clientError(_('No such group.'), 404);
@@ -113,7 +120,7 @@ class FoafGroupAction extends Action
if ($this->group->homepage_logo) {
$this->element('depiction', array('rdf:resource' => $this->group->homepage_logo));
}
-
+
$members = $this->group->getMembers();
$member_details = array();
while ($members->fetch()) {
@@ -123,7 +130,7 @@ class FoafGroupAction extends Action
);
$this->element('member', array('rdf:resource' => $member_uri));
}
-
+
$admins = $this->group->getAdmins();
while ($admins->fetch()) {
$admin_uri = common_local_url('userbyid', array('id'=>$admins->id));
@@ -132,7 +139,7 @@ class FoafGroupAction extends Action
}
$this->elementEnd('Group');
-
+
ksort($member_details);
foreach ($member_details as $uri => $details) {
if ($details['is_admin'])
@@ -158,7 +165,7 @@ class FoafGroupAction extends Action
));
}
}
-
+
$this->elementEnd('rdf:RDF');
$this->endXML();
}
diff --git a/actions/grantrole.php b/actions/grantrole.php
new file mode 100644
index 000000000..cd6bd4d79
--- /dev/null
+++ b/actions/grantrole.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Action class to sandbox an abusive user
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category 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);
+}
+
+/**
+ * Sandbox a user.
+ *
+ * @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 GrantRoleAction extends ProfileFormAction
+{
+ /**
+ * Check parameters
+ *
+ * @param array $args action arguments (URL, GET, POST)
+ *
+ * @return boolean success flag
+ */
+
+ function prepare($args)
+ {
+ if (!parent::prepare($args)) {
+ return false;
+ }
+
+ $this->role = $this->arg('role');
+ if (!Profile_role::isValid($this->role)) {
+ $this->clientError(_("Invalid role."));
+ return false;
+ }
+ if (!Profile_role::isSettable($this->role)) {
+ $this->clientError(_("This role is reserved and cannot be set."));
+ return false;
+ }
+
+ $cur = common_current_user();
+
+ assert(!empty($cur)); // checked by parent
+
+ if (!$cur->hasRight(Right::GRANTROLE)) {
+ $this->clientError(_("You cannot grant user roles on this site."));
+ return false;
+ }
+
+ assert(!empty($this->profile)); // checked by parent
+
+ if ($this->profile->hasRole($this->role)) {
+ $this->clientError(_("User already has this role."));
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Sandbox a user.
+ *
+ * @return void
+ */
+
+ function handlePost()
+ {
+ $this->profile->grantRole($this->role);
+ }
+}
diff --git a/actions/groupdesignsettings.php b/actions/groupdesignsettings.php
index e290ba514..526226a28 100644
--- a/actions/groupdesignsettings.php
+++ b/actions/groupdesignsettings.php
@@ -90,7 +90,10 @@ class GroupDesignSettingsAction extends DesignSettingsAction
if ($groupid) {
$this->group = User_group::staticGet('id', $groupid);
} else {
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+ if ($local) {
+ $this->group = User_group::staticGet('id', $local->group_id);
+ }
}
if (!$this->group) {
diff --git a/actions/grouplogo.php b/actions/grouplogo.php
index 3c9b56296..f414a23cc 100644
--- a/actions/grouplogo.php
+++ b/actions/grouplogo.php
@@ -92,7 +92,10 @@ class GrouplogoAction extends GroupDesignAction
if ($groupid) {
$this->group = User_group::staticGet('id', $groupid);
} else {
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+ if ($local) {
+ $this->group = User_group::staticGet('id', $local->group_id);
+ }
}
if (!$this->group) {
diff --git a/actions/groupmembers.php b/actions/groupmembers.php
index f16e972a4..a16debd7b 100644
--- a/actions/groupmembers.php
+++ b/actions/groupmembers.php
@@ -77,7 +77,14 @@ class GroupmembersAction extends GroupDesignAction
return false;
}
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+
+ if (!$local) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
+
+ $this->group = User_group::staticGet('id', $local->group_id);
if (!$this->group) {
$this->clientError(_('No such group.'), 404);
diff --git a/actions/grouprss.php b/actions/grouprss.php
index 866fc66eb..490f6f945 100644
--- a/actions/grouprss.php
+++ b/actions/grouprss.php
@@ -92,7 +92,14 @@ class groupRssAction extends Rss10Action
return false;
}
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+
+ if (!$local) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
+
+ $this->group = User_group::staticGet('id', $local->group_id);
if (!$this->group) {
$this->clientError(_('No such group.'), 404);
diff --git a/actions/groups.php b/actions/groups.php
index 10a1d5964..8aacff8b0 100644
--- a/actions/groups.php
+++ b/actions/groups.php
@@ -109,17 +109,21 @@ class GroupsAction extends Action
}
$offset = ($this->page-1) * GROUPS_PER_PAGE;
- $limit = GROUPS_PER_PAGE + 1;
+ $limit = GROUPS_PER_PAGE + 1;
+
+ $qry = 'SELECT user_group.* '.
+ 'from user_group join local_group on user_group.id = local_group.group_id '.
+ 'order by user_group.created desc '.
+ 'limit ' . $limit . ' offset ' . $offset;
$groups = new User_group();
- $groups->orderBy('created DESC');
- $groups->limit($offset, $limit);
$cnt = 0;
- if ($groups->find()) {
- $gl = new GroupList($groups, null, $this);
- $cnt = $gl->show();
- }
+
+ $groups->query($qry);
+
+ $gl = new GroupList($groups, null, $this);
+ $cnt = $gl->show();
$this->pagination($this->page > 1, $cnt > GROUPS_PER_PAGE,
$this->page, 'groups');
diff --git a/actions/hcard.php b/actions/hcard.php
new file mode 100644
index 000000000..55d0f65c8
--- /dev/null
+++ b/actions/hcard.php
@@ -0,0 +1,120 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Show the user's hcard
+ *
+ * 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 Personal
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * User profile page
+ *
+ * @category Personal
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link http://status.net/
+ */
+
+class HcardAction extends Action
+{
+ var $user;
+ var $profile;
+
+ function prepare($args)
+ {
+ parent::prepare($args);
+
+ $nickname_arg = $this->arg('nickname');
+ $nickname = common_canonical_nickname($nickname_arg);
+
+ // Permanent redirect on non-canonical nickname
+
+ if ($nickname_arg != $nickname) {
+ $args = array('nickname' => $nickname);
+ common_redirect(common_local_url('hcard', $args), 301);
+ return false;
+ }
+
+ $this->user = User::staticGet('nickname', $nickname);
+
+ if (!$this->user) {
+ $this->clientError(_('No such user.'), 404);
+ return false;
+ }
+
+ $this->profile = $this->user->getProfile();
+
+ if (!$this->profile) {
+ $this->serverError(_('User has no profile.'));
+ return false;
+ }
+
+ return true;
+ }
+
+ function handle($args)
+ {
+ parent::handle($args);
+ $this->showPage();
+ }
+
+ function title()
+ {
+ return $this->profile->getBestName();
+ }
+
+ function showContent()
+ {
+ $up = new ShortUserProfile($this, $this->user, $this->profile);
+ $up->show();
+ }
+
+ function showHeader()
+ {
+ return;
+ }
+
+ function showAside()
+ {
+ return;
+ }
+
+ function showSecondaryNav()
+ {
+ return;
+ }
+}
+
+class ShortUserProfile extends UserProfile
+{
+ function showEntityActions()
+ {
+ return;
+ }
+} \ No newline at end of file
diff --git a/actions/invite.php b/actions/invite.php
index d0ed64ec9..54b2de62a 100644
--- a/actions/invite.php
+++ b/actions/invite.php
@@ -194,7 +194,8 @@ class InviteAction extends CurrentUserDesignAction
_('Optionally add a personal message to the invitation.'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('send', _('Send'));
+ // TRANS: Send button for inviting friends
+ $this->submit('send', _m('BUTTON', 'Send'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
diff --git a/actions/joingroup.php b/actions/joingroup.php
index 235e5ab4c..f87e5dae2 100644
--- a/actions/joingroup.php
+++ b/actions/joingroup.php
@@ -62,23 +62,33 @@ class JoingroupAction extends Action
}
$nickname_arg = $this->trimmed('nickname');
- $nickname = common_canonical_nickname($nickname_arg);
+ $id = intval($this->arg('id'));
+ if ($id) {
+ $this->group = User_group::staticGet('id', $id);
+ } else if ($nickname_arg) {
+ $nickname = common_canonical_nickname($nickname_arg);
+
+ // Permanent redirect on non-canonical nickname
+
+ if ($nickname_arg != $nickname) {
+ $args = array('nickname' => $nickname);
+ common_redirect(common_local_url('leavegroup', $args), 301);
+ return false;
+ }
- // Permanent redirect on non-canonical nickname
+ $local = Local_group::staticGet('nickname', $nickname);
- if ($nickname_arg != $nickname) {
- $args = array('nickname' => $nickname);
- common_redirect(common_local_url('joingroup', $args), 301);
- return false;
- }
+ if (!$local) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
- if (!$nickname) {
- $this->clientError(_('No nickname.'), 404);
+ $this->group = User_group::staticGet('id', $local->group_id);
+ } else {
+ $this->clientError(_('No nickname or ID.'), 404);
return false;
}
- $this->group = User_group::staticGet('nickname', $nickname);
-
if (!$this->group) {
$this->clientError(_('No such group.'), 404);
return false;
diff --git a/actions/leavegroup.php b/actions/leavegroup.php
index 9b9d83b6c..329b5aafe 100644
--- a/actions/leavegroup.php
+++ b/actions/leavegroup.php
@@ -62,23 +62,33 @@ class LeavegroupAction extends Action
}
$nickname_arg = $this->trimmed('nickname');
- $nickname = common_canonical_nickname($nickname_arg);
+ $id = intval($this->arg('id'));
+ if ($id) {
+ $this->group = User_group::staticGet('id', $id);
+ } else if ($nickname_arg) {
+ $nickname = common_canonical_nickname($nickname_arg);
+
+ // Permanent redirect on non-canonical nickname
+
+ if ($nickname_arg != $nickname) {
+ $args = array('nickname' => $nickname);
+ common_redirect(common_local_url('leavegroup', $args), 301);
+ return false;
+ }
- // Permanent redirect on non-canonical nickname
+ $local = Local_group::staticGet('nickname', $nickname);
- if ($nickname_arg != $nickname) {
- $args = array('nickname' => $nickname);
- common_redirect(common_local_url('leavegroup', $args), 301);
- return false;
- }
+ if (!$local) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
- if (!$nickname) {
- $this->clientError(_('No nickname.'), 404);
+ $this->group = User_group::staticGet('id', $local->group_id);
+ } else {
+ $this->clientError(_('No nickname or ID.'), 404);
return false;
}
- $this->group = User_group::staticGet('nickname', $nickname);
-
if (!$this->group) {
$this->clientError(_('No such group.'), 404);
return false;
diff --git a/actions/newgroup.php b/actions/newgroup.php
index 25da7f8fc..75bc293ec 100644
--- a/actions/newgroup.php
+++ b/actions/newgroup.php
@@ -180,6 +180,8 @@ class NewgroupAction extends Action
}
}
+ $mainpage = common_local_url('showgroup', array('nickname' => $nickname));
+
$cur = common_current_user();
// Checked in prepare() above
@@ -192,16 +194,18 @@ class NewgroupAction extends Action
'description' => $description,
'location' => $location,
'aliases' => $aliases,
- 'userid' => $cur->id));
+ 'userid' => $cur->id,
+ 'mainpage' => $mainpage,
+ 'local' => true));
common_redirect($group->homeUrl(), 303);
}
function nicknameExists($nickname)
{
- $group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
- if (!empty($group)) {
+ if (!empty($local)) {
return true;
}
diff --git a/actions/newnotice.php b/actions/newnotice.php
index 78480abab..ed0fa1b2b 100644
--- a/actions/newnotice.php
+++ b/actions/newnotice.php
@@ -294,6 +294,9 @@ class NewnoticeAction extends Action
if ($profile) {
$content = '@' . $profile->nickname . ' ';
}
+ } else {
+ // @fixme most of these bits above aren't being passed on above
+ $inreplyto = null;
}
$notice_form = new NoticeForm($this, '', $content, null, $inreplyto);
diff --git a/actions/oauthconnectionssettings.php b/actions/oauthconnectionssettings.php
index b1467f0d0..f125f4c63 100644
--- a/actions/oauthconnectionssettings.php
+++ b/actions/oauthconnectionssettings.php
@@ -99,7 +99,7 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
$application = $profile->getApplications($offset, $limit);
- $cnt == 0;
+ $cnt = 0;
if (!empty($application)) {
$al = new ApplicationList($application, $user, $this, true);
@@ -112,7 +112,7 @@ class OauthconnectionssettingsAction extends ConnectSettingsAction
$this->pagination($this->page > 1, $cnt > APPS_PER_PAGE,
$this->page, 'connectionssettings',
- array('nickname' => $this->user->nickname));
+ array('nickname' => $user->nickname));
}
/**
diff --git a/actions/postnotice.php b/actions/postnotice.php
index fb0670376..b2f6f1bb9 100644
--- a/actions/postnotice.php
+++ b/actions/postnotice.php
@@ -54,7 +54,10 @@ class PostnoticeAction extends Action
*/
function prepare($argarray)
{
+ StatusNet::setApi(true); // Send smaller error pages
+
parent::prepare($argarray);
+
try {
$this->checkNotice();
} catch (Exception $e) {
@@ -71,6 +74,14 @@ class PostnoticeAction extends Action
$srv = new OMB_Service_Provider(null, omb_oauth_datastore(),
omb_oauth_server());
$srv->handlePostNotice();
+ } catch (OMB_RemoteServiceException $rse) {
+ $msg = $rse->getMessage();
+ if (preg_match('/Revoked accesstoken/', $msg) ||
+ preg_match('/No subscriber/', $msg)) {
+ $this->clientError($msg, 403);
+ } else {
+ $this->clientError($msg);
+ }
} catch (Exception $e) {
$this->serverError($e->getMessage());
return;
diff --git a/actions/public.php b/actions/public.php
index 50278bfce..0b3b5fde8 100644
--- a/actions/public.php
+++ b/actions/public.php
@@ -94,6 +94,7 @@ class PublicAction extends Action
}
if($this->page > 1 && $this->notice->N == 0){
+ // TRANS: Server error when page not found (404)
$this->serverError(_('No such page'),$code=404);
}
diff --git a/actions/recoverpassword.php b/actions/recoverpassword.php
index dcff35f6e..1e2775e7a 100644
--- a/actions/recoverpassword.php
+++ b/actions/recoverpassword.php
@@ -21,7 +21,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
# You have 24 hours to claim your password
-define(MAX_RECOVERY_TIME, 24 * 60 * 60);
+define('MAX_RECOVERY_TIME', 24 * 60 * 60);
class RecoverpasswordAction extends Action
{
diff --git a/actions/replies.php b/actions/replies.php
index 164c328db..4ff1b7a8d 100644
--- a/actions/replies.php
+++ b/actions/replies.php
@@ -89,6 +89,7 @@ class RepliesAction extends OwnerDesignAction
NOTICES_PER_PAGE + 1);
if($this->page > 1 && $this->notice->N == 0){
+ // TRANS: Server error when page not found (404)
$this->serverError(_('No such page'),$code=404);
}
diff --git a/actions/revokerole.php b/actions/revokerole.php
new file mode 100644
index 000000000..b78c1c25a
--- /dev/null
+++ b/actions/revokerole.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Action class to sandbox an abusive user
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category 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);
+}
+
+/**
+ * Sandbox a user.
+ *
+ * @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 RevokeRoleAction extends ProfileFormAction
+{
+ /**
+ * Check parameters
+ *
+ * @param array $args action arguments (URL, GET, POST)
+ *
+ * @return boolean success flag
+ */
+
+ function prepare($args)
+ {
+ if (!parent::prepare($args)) {
+ return false;
+ }
+
+ $this->role = $this->arg('role');
+ if (!Profile_role::isValid($this->role)) {
+ $this->clientError(_("Invalid role."));
+ return false;
+ }
+ if (!Profile_role::isSettable($this->role)) {
+ $this->clientError(_("This role is reserved and cannot be set."));
+ return false;
+ }
+
+ $cur = common_current_user();
+
+ assert(!empty($cur)); // checked by parent
+
+ if (!$cur->hasRight(Right::REVOKEROLE)) {
+ $this->clientError(_("You cannot revoke user roles on this site."));
+ return false;
+ }
+
+ assert(!empty($this->profile)); // checked by parent
+
+ if (!$this->profile->hasRole($this->role)) {
+ $this->clientError(_("User doesn't have this role."));
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Sandbox a user.
+ *
+ * @return void
+ */
+
+ function handlePost()
+ {
+ $this->profile->revokeRole($this->role);
+ }
+}
diff --git a/actions/showfavorites.php b/actions/showfavorites.php
index f2d082293..5b85de683 100644
--- a/actions/showfavorites.php
+++ b/actions/showfavorites.php
@@ -134,6 +134,7 @@ class ShowfavoritesAction extends OwnerDesignAction
}
if($this->page > 1 && $this->notice->N == 0){
+ // TRANS: Server error when page not found (404)
$this->serverError(_('No such page'),$code=404);
}
diff --git a/actions/showgroup.php b/actions/showgroup.php
index eb1238902..5704b13d1 100644
--- a/actions/showgroup.php
+++ b/actions/showgroup.php
@@ -122,9 +122,9 @@ class ShowgroupAction extends GroupDesignAction
return false;
}
- $this->group = User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
- if (!$this->group) {
+ if (!$local) {
$alias = Group_alias::staticGet('alias', $nickname);
if ($alias) {
$args = array('id' => $alias->group_id);
@@ -134,11 +134,19 @@ class ShowgroupAction extends GroupDesignAction
common_redirect(common_local_url('groupbyid', $args), 301);
return false;
} else {
+ common_log(LOG_NOTICE, "Couldn't find local group for nickname '$nickname'");
$this->clientError(_('No such group.'), 404);
return false;
}
}
+ $this->group = User_group::staticGet('id', $local->group_id);
+
+ if (!$this->group) {
+ $this->clientError(_('No such group.'), 404);
+ return false;
+ }
+
common_set_returnto($this->selfUrl());
return true;
@@ -293,19 +301,20 @@ class ShowgroupAction extends GroupDesignAction
$this->element('h2', null, _('Group actions'));
$this->elementStart('ul');
$this->elementStart('li', 'entity_subscribe');
- $cur = common_current_user();
- if ($cur) {
- if ($cur->isMember($this->group)) {
- $lf = new LeaveForm($this, $this->group);
- $lf->show();
- } else if (!Group_block::isBlocked($this->group, $cur->getProfile())) {
- $jf = new JoinForm($this, $this->group);
- $jf->show();
+ if (Event::handle('StartGroupSubscribe', array($this, $this->group))) {
+ $cur = common_current_user();
+ if ($cur) {
+ if ($cur->isMember($this->group)) {
+ $lf = new LeaveForm($this, $this->group);
+ $lf->show();
+ } else if (!Group_block::isBlocked($this->group, $cur->getProfile())) {
+ $jf = new JoinForm($this, $this->group);
+ $jf->show();
+ }
}
+ Event::handle('EndGroupSubscribe', array($this, $this->group));
}
-
$this->elementEnd('li');
-
$this->elementEnd('ul');
$this->elementEnd('div');
}
diff --git a/actions/siteadminpanel.php b/actions/siteadminpanel.php
index 8c8f8b374..cb3c2e8fd 100644
--- a/actions/siteadminpanel.php
+++ b/actions/siteadminpanel.php
@@ -66,7 +66,7 @@ class SiteadminpanelAction extends AdminPanelAction
function getInstructions()
{
- return _('Basic settings for this StatusNet site.');
+ return _('Basic settings for this StatusNet site');
}
/**
@@ -90,10 +90,11 @@ class SiteadminpanelAction extends AdminPanelAction
function saveSettings()
{
- static $settings = array('site' => array('name', 'broughtby', 'broughtbyurl',
- 'email', 'timezone', 'language',
- 'site', 'textlimit', 'dupelimit'),
- 'snapshot' => array('run', 'reporturl', 'frequency'));
+ static $settings = array(
+ 'site' => array('name', 'broughtby', 'broughtbyurl',
+ 'email', 'timezone', 'language',
+ 'site', 'textlimit', 'dupelimit'),
+ );
$values = array();
@@ -158,25 +159,6 @@ class SiteadminpanelAction extends AdminPanelAction
$this->clientError(sprintf(_('Unknown language "%s".'), $values['site']['language']));
}
- // Validate report URL
-
- if (!is_null($values['snapshot']['reporturl']) &&
- !Validate::uri($values['snapshot']['reporturl'], array('allowed_schemes' => array('http', 'https')))) {
- $this->clientError(_("Invalid snapshot report URL."));
- }
-
- // Validate snapshot run value
-
- if (!in_array($values['snapshot']['run'], array('web', 'cron', 'never'))) {
- $this->clientError(_("Invalid snapshot run value."));
- }
-
- // Validate snapshot run value
-
- if (!Validate::number($values['snapshot']['frequency'])) {
- $this->clientError(_("Snapshot frequency must be a number."));
- }
-
// Validate text limit
if (!Validate::number($values['site']['textlimit'], array('min' => 140))) {
@@ -277,40 +259,14 @@ class SiteAdminPanelForm extends AdminForm
$this->unli();
$this->li();
- $this->out->dropdown('language', _('Language'),
- get_nice_language_list(), _('Default site language'),
+ $this->out->dropdown('language', _('Default language'),
+ get_nice_language_list(), _('Site language when autodetection from browser settings is not available'),
false, $this->value('language'));
$this->unli();
$this->out->elementEnd('ul');
$this->out->elementEnd('fieldset');
- $this->out->elementStart('fieldset', array('id' => 'settings_admin_snapshots'));
- $this->out->element('legend', null, _('Snapshots'));
- $this->out->elementStart('ul', 'form_data');
- $this->li();
- $snapshot = array('web' => _('Randomly during Web hit'),
- 'cron' => _('In a scheduled job'),
- 'never' => _('Never'));
- $this->out->dropdown('run', _('Data snapshots'),
- $snapshot, _('When to send statistical data to status.net servers'),
- false, $this->value('run', 'snapshot'));
- $this->unli();
-
- $this->li();
- $this->input('frequency', _('Frequency'),
- _('Snapshots will be sent once every N web hits'),
- 'snapshot');
- $this->unli();
-
- $this->li();
- $this->input('reporturl', _('Report URL'),
- _('Snapshots will be sent to this URL'),
- 'snapshot');
- $this->unli();
- $this->out->elementEnd('ul');
- $this->out->elementEnd('fieldset');
-
$this->out->elementStart('fieldset', array('id' => 'settings_admin_limits'));
$this->out->element('legend', null, _('Limits'));
$this->out->elementStart('ul', 'form_data');
diff --git a/actions/sitenoticeadminpanel.php b/actions/sitenoticeadminpanel.php
new file mode 100644
index 000000000..3931aa982
--- /dev/null
+++ b/actions/sitenoticeadminpanel.php
@@ -0,0 +1,201 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Site notice 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);
+}
+
+require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.php';
+
+/**
+ * Update the site-wide notice text
+ *
+ * @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 SitenoticeadminpanelAction extends AdminPanelAction
+{
+ /**
+ * Returns the page title
+ *
+ * @return string page title
+ */
+
+ function title()
+ {
+ return _('Site Notice');
+ }
+
+ /**
+ * Instructions for using this form.
+ *
+ * @return string instructions
+ */
+
+ function getInstructions()
+ {
+ return _('Edit site-wide message');
+ }
+
+ /**
+ * Show the site notice admin panel form
+ *
+ * @return void
+ */
+
+ function showForm()
+ {
+ $form = new SiteNoticeAdminPanelForm($this);
+ $form->show();
+ return;
+ }
+
+ /**
+ * Save settings from the form
+ *
+ * @return void
+ */
+
+ function saveSettings()
+ {
+ $siteNotice = $this->trimmed('site-notice');
+
+ // assert(all values are valid);
+ // This throws an exception on validation errors
+
+ $this->validate(&$siteNotice);
+
+ $config = new Config();
+
+ $result = Config::save('site', 'notice', $siteNotice);
+
+ if (!$result) {
+ $this->ServerError(_("Unable to save site notice."));
+ }
+ }
+
+ function validate(&$siteNotice)
+ {
+ // Validate notice text
+
+ if (mb_strlen($siteNotice) > 255) {
+ $this->clientError(
+ _('Max length for the site-wide notice is 255 chars')
+ );
+ }
+
+ // scrub HTML input
+
+ $config = array(
+ 'safe' => 1,
+ 'deny_attribute' => 'id,style,on*'
+ );
+
+ $siteNotice = htmLawed($siteNotice, $config);
+ }
+}
+
+class SiteNoticeAdminPanelForm extends AdminForm
+{
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'form_site_notice_admin_panel';
+ }
+
+ /**
+ * 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('sitenoticeadminpanel');
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->elementStart('ul', 'form_data');
+
+ $this->out->elementStart('li');
+ $this->out->textarea(
+ 'site-notice',
+ _('Site notice text'),
+ common_config('site', 'notice'),
+ _('Site-wide notice text (255 chars max; HTML okay)')
+ );
+ $this->out->elementEnd('li');
+
+ $this->out->elementEnd('ul');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->submit(
+ 'submit',
+ _('Save'),
+ 'submit',
+ null,
+ _('Save site notice')
+ );
+ }
+}
diff --git a/actions/snapshotadminpanel.php b/actions/snapshotadminpanel.php
new file mode 100644
index 000000000..a0c2315bc
--- /dev/null
+++ b/actions/snapshotadminpanel.php
@@ -0,0 +1,251 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Snapshots 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);
+}
+
+/**
+ * Manage snapshots
+ *
+ * @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 SnapshotadminpanelAction extends AdminPanelAction
+{
+ /**
+ * Returns the page title
+ *
+ * @return string page title
+ */
+
+ function title()
+ {
+ return _('Snapshots');
+ }
+
+ /**
+ * Instructions for using this form.
+ *
+ * @return string instructions
+ */
+
+ function getInstructions()
+ {
+ return _('Manage snapshot configuration');
+ }
+
+ /**
+ * Show the snapshots admin panel form
+ *
+ * @return void
+ */
+
+ function showForm()
+ {
+ $form = new SnapshotAdminPanelForm($this);
+ $form->show();
+ return;
+ }
+
+ /**
+ * Save settings from the form
+ *
+ * @return void
+ */
+
+ function saveSettings()
+ {
+ static $settings = array(
+ 'snapshot' => array('run', 'reporturl', 'frequency')
+ );
+
+ $values = array();
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ $values[$section][$setting] = $this->trimmed($setting);
+ }
+ }
+
+ // This throws an exception on validation errors
+
+ $this->validate($values);
+
+ // assert(all values are valid);
+
+ $config = new Config();
+
+ $config->query('BEGIN');
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ Config::save($section, $setting, $values[$section][$setting]);
+ }
+ }
+
+ $config->query('COMMIT');
+
+ return;
+ }
+
+ function validate(&$values)
+ {
+ // Validate snapshot run value
+
+ if (!in_array($values['snapshot']['run'], array('web', 'cron', 'never'))) {
+ $this->clientError(_("Invalid snapshot run value."));
+ }
+
+ // Validate snapshot frequency value
+
+ if (!Validate::number($values['snapshot']['frequency'])) {
+ $this->clientError(_("Snapshot frequency must be a number."));
+ }
+
+ // Validate report URL
+
+ if (!is_null($values['snapshot']['reporturl'])
+ && !Validate::uri(
+ $values['snapshot']['reporturl'],
+ array('allowed_schemes' => array('http', 'https')
+ )
+ )) {
+ $this->clientError(_("Invalid snapshot report URL."));
+ }
+ }
+}
+
+class SnapshotAdminPanelForm extends AdminForm
+{
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'form_snapshot_admin_panel';
+ }
+
+ /**
+ * 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('snapshotadminpanel');
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->elementStart(
+ 'fieldset',
+ array('id' => 'settings_admin_snapshots')
+ );
+ $this->out->element('legend', null, _('Snapshots'));
+ $this->out->elementStart('ul', 'form_data');
+ $this->li();
+ $snapshot = array(
+ 'web' => _('Randomly during Web hit'),
+ 'cron' => _('In a scheduled job'),
+ 'never' => _('Never')
+ );
+ $this->out->dropdown(
+ 'run',
+ _('Data snapshots'),
+ $snapshot,
+ _('When to send statistical data to status.net servers'),
+ false,
+ $this->value('run', 'snapshot')
+ );
+ $this->unli();
+
+ $this->li();
+ $this->input(
+ 'frequency',
+ _('Frequency'),
+ _('Snapshots will be sent once every N web hits'),
+ 'snapshot'
+ );
+ $this->unli();
+
+ $this->li();
+ $this->input(
+ 'reporturl',
+ _('Report URL'),
+ _('Snapshots will be sent to this URL'),
+ 'snapshot'
+ );
+ $this->unli();
+ $this->out->elementEnd('ul');
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->submit(
+ 'submit',
+ _('Save'),
+ 'submit',
+ null,
+ _('Save snapshot settings')
+ );
+ }
+}
diff --git a/actions/subscribe.php b/actions/subscribe.php
index 3745311b6..b1243f393 100644
--- a/actions/subscribe.php
+++ b/actions/subscribe.php
@@ -145,7 +145,7 @@ class SubscribeAction extends Action
$this->element('title', null, _('Subscribed'));
$this->elementEnd('head');
$this->elementStart('body');
- $unsubscribe = new UnsubscribeForm($this, $this->other->getProfile());
+ $unsubscribe = new UnsubscribeForm($this, $this->other);
$unsubscribe->show();
$this->elementEnd('body');
$this->elementEnd('html');
diff --git a/actions/subscribers.php b/actions/subscribers.php
index cd3e2ee5b..4bced6284 100644
--- a/actions/subscribers.php
+++ b/actions/subscribers.php
@@ -143,9 +143,12 @@ class SubscribersListItem extends SubscriptionListItem
function showActions()
{
$this->startActions();
- $this->showSubscribeButton();
- // Relevant code!
- $this->showBlockForm();
+ if (Event::handle('StartProfileListItemActionElements', array($this))) {
+ $this->showSubscribeButton();
+ // Relevant code!
+ $this->showBlockForm();
+ Event::handle('EndProfileListItemActionElements', array($this));
+ }
$this->endActions();
}
diff --git a/actions/tag.php b/actions/tag.php
index e91df6ea9..ee9617b66 100644
--- a/actions/tag.php
+++ b/actions/tag.php
@@ -48,6 +48,7 @@ class TagAction extends Action
$this->notice = Notice_tag::getStream($this->tag, (($this->page-1)*NOTICES_PER_PAGE), NOTICES_PER_PAGE + 1);
if($this->page > 1 && $this->notice->N == 0){
+ // TRANS: Server error when page not found (404)
$this->serverError(_('No such page'),$code=404);
}
diff --git a/actions/tagrss.php b/actions/tagrss.php
index 75cbfa274..467a64abe 100644
--- a/actions/tagrss.php
+++ b/actions/tagrss.php
@@ -35,6 +35,7 @@ class TagrssAction extends Rss10Action
$this->clientError(_('No such tag.'));
return false;
} else {
+ $this->notices = $this->getNotices($this->limit);
return true;
}
}
diff --git a/actions/twitapisearchatom.php b/actions/twitapisearchatom.php
index e389ddec8..24aa619bd 100644
--- a/actions/twitapisearchatom.php
+++ b/actions/twitapisearchatom.php
@@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once INSTALLDIR.'/lib/api.php';
-
/**
* Action for outputting search results in Twitter compatible Atom
* format.
diff --git a/actions/twitapisearchjson.php b/actions/twitapisearchjson.php
index 741ed78d6..b5c006aa7 100644
--- a/actions/twitapisearchjson.php
+++ b/actions/twitapisearchjson.php
@@ -31,7 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once INSTALLDIR.'/lib/api.php';
require_once INSTALLDIR.'/lib/jsonsearchresultslist.php';
/**
diff --git a/actions/twitapitrends.php b/actions/twitapitrends.php
index 779405e6d..5a04569a2 100644
--- a/actions/twitapitrends.php
+++ b/actions/twitapitrends.php
@@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once INSTALLDIR.'/lib/api.php';
-
/**
* Returns the top ten queries that are currently trending
*
diff --git a/actions/updateprofile.php b/actions/updateprofile.php
index e416a6fa9..bae6108cc 100644
--- a/actions/updateprofile.php
+++ b/actions/updateprofile.php
@@ -55,6 +55,8 @@ class UpdateprofileAction extends Action
*/
function prepare($argarray)
{
+ StatusNet::setApi(true); // Send smaller error pages
+
parent::prepare($argarray);
$license = $_POST['omb_listenee_license'];
$site_license = common_config('license', 'url');
@@ -75,6 +77,14 @@ class UpdateprofileAction extends Action
$srv = new OMB_Service_Provider(null, omb_oauth_datastore(),
omb_oauth_server());
$srv->handleUpdateProfile();
+ } catch (OMB_RemoteServiceException $rse) {
+ $msg = $rse->getMessage();
+ if (preg_match('/Revoked accesstoken/', $msg) ||
+ preg_match('/No subscriber/', $msg)) {
+ $this->clientError($msg, 403);
+ } else {
+ $this->clientError($msg);
+ }
} catch (Exception $e) {
$this->serverError($e->getMessage());
return;
diff --git a/actions/useradminpanel.php b/actions/useradminpanel.php
index 6813222f5..ee9c23076 100644
--- a/actions/useradminpanel.php
+++ b/actions/useradminpanel.php
@@ -55,7 +55,8 @@ class UseradminpanelAction extends AdminPanelAction
function title()
{
- return _('User');
+ // TRANS: User admin panel title
+ return _m('TITLE', 'User');
}
/**
diff --git a/actions/usergroups.php b/actions/usergroups.php
index 97faabae6..29bda0a76 100644
--- a/actions/usergroups.php
+++ b/actions/usergroups.php
@@ -130,22 +130,26 @@ class UsergroupsAction extends OwnerDesignAction
_('Search for more groups'));
$this->elementEnd('p');
- $offset = ($this->page-1) * GROUPS_PER_PAGE;
- $limit = GROUPS_PER_PAGE + 1;
+ if (Event::handle('StartShowUserGroupsContent', array($this))) {
+ $offset = ($this->page-1) * GROUPS_PER_PAGE;
+ $limit = GROUPS_PER_PAGE + 1;
+
+ $groups = $this->user->getGroups($offset, $limit);
+
+ if ($groups) {
+ $gl = new GroupList($groups, $this->user, $this);
+ $cnt = $gl->show();
+ if (0 == $cnt) {
+ $this->showEmptyListMessage();
+ }
+ }
- $groups = $this->user->getGroups($offset, $limit);
+ $this->pagination($this->page > 1, $cnt > GROUPS_PER_PAGE,
+ $this->page, 'usergroups',
+ array('nickname' => $this->user->nickname));
- if ($groups) {
- $gl = new GroupList($groups, $this->user, $this);
- $cnt = $gl->show();
- if (0 == $cnt) {
- $this->showEmptyListMessage();
- }
+ Event::handle('EndShowUserGroupsContent', array($this));
}
-
- $this->pagination($this->page > 1, $cnt > GROUPS_PER_PAGE,
- $this->page, 'usergroups',
- array('nickname' => $this->user->nickname));
}
function showEmptyListMessage()
diff --git a/actions/userrss.php b/actions/userrss.php
index 19e610551..e03eb9356 100644
--- a/actions/userrss.php
+++ b/actions/userrss.php
@@ -29,6 +29,8 @@ class UserrssAction extends Rss10Action
function prepare($args)
{
+ common_debug("UserrssAction");
+
parent::prepare($args);
$nickname = $this->trimmed('nickname');
$this->user = User::staticGet('nickname', $nickname);
@@ -38,20 +40,24 @@ class UserrssAction extends Rss10Action
$this->clientError(_('No such user.'));
return false;
} else {
- $this->notices = $this->getNotices($this->limit);
+ if (!empty($this->tag)) {
+ $this->notices = $this->getTaggedNotices();
+ } else {
+ $this->notices = $this->getNotices();
+ }
return true;
}
}
- function getTaggedNotices($tag = null, $limit=0)
+ function getTaggedNotices()
{
- $user = $this->user;
-
- if (is_null($user)) {
- return null;
- }
-
- $notice = $user->getTaggedNotices(0, ($limit == 0) ? NOTICES_PER_PAGE : $limit, 0, 0, null, $tag);
+ $notice = $this->user->getTaggedNotices(
+ $this->tag,
+ 0,
+ ($this->limit == 0) ? NOTICES_PER_PAGE : $this->limit,
+ 0,
+ 0
+ );
$notices = array();
while ($notice->fetch()) {
@@ -62,15 +68,12 @@ class UserrssAction extends Rss10Action
}
- function getNotices($limit=0)
+ function getNotices()
{
- $user = $this->user;
-
- if (is_null($user)) {
- return null;
- }
-
- $notice = $user->getNotices(0, ($limit == 0) ? NOTICES_PER_PAGE : $limit);
+ $notice = $this->user->getNotices(
+ 0,
+ ($limit == 0) ? NOTICES_PER_PAGE : $limit
+ );
$notices = array();
while ($notice->fetch()) {
diff --git a/classes/Fave.php b/classes/Fave.php
index 0b6eec2bc..a04f15e9c 100644
--- a/classes/Fave.php
+++ b/classes/Fave.php
@@ -77,7 +77,7 @@ class Fave extends Memcached_DataObject
return $ids;
}
- function _streamDirect($user_id, $own, $offset, $limit, $since_id, $max_id, $since)
+ function _streamDirect($user_id, $own, $offset, $limit, $since_id, $max_id)
{
$fav = new Fave();
$qry = null;
@@ -100,10 +100,6 @@ class Fave extends Memcached_DataObject
$qry .= 'AND notice_id <= ' . $max_id . ' ';
}
- if (!is_null($since)) {
- $qry .= 'AND modified > \'' . date('Y-m-d H:i:s', $since) . '\' ';
- }
-
// NOTE: we sort by fave time, not by notice time!
$qry .= 'ORDER BY modified DESC ';
diff --git a/classes/File.php b/classes/File.php
index 189e04ce0..4ecd3b959 100644
--- a/classes/File.php
+++ b/classes/File.php
@@ -169,7 +169,11 @@ class File extends Memcached_DataObject
{
require_once 'MIME/Type/Extension.php';
$mte = new MIME_Type_Extension();
- $ext = $mte->getExtension($mimetype);
+ try {
+ $ext = $mte->getExtension($mimetype);
+ } catch ( Exception $e) {
+ $ext = strtolower(preg_replace('/\W/', '', $mimetype));
+ }
$nickname = $profile->nickname;
$datestamp = strftime('%Y%m%dT%H%M%S', time());
$random = strtolower(common_confirmation_code(32));
@@ -286,5 +290,12 @@ class File extends Memcached_DataObject
}
return $enclosure;
}
+
+ // quick back-compat hack, since there's still code using this
+ function isEnclosure()
+ {
+ $enclosure = $this->getEnclosure();
+ return !empty($enclosure);
+ }
}
diff --git a/classes/Foreign_link.php b/classes/Foreign_link.php
index ae8c22fd8..e47b2e309 100644
--- a/classes/Foreign_link.php
+++ b/classes/Foreign_link.php
@@ -113,4 +113,21 @@ class Foreign_link extends Memcached_DataObject
return User::staticGet($this->user_id);
}
+ // Make sure we only ever delete one record at a time
+ function safeDelete()
+ {
+ if (!empty($this->user_id)
+ && !empty($this->foreign_id)
+ && !empty($this->service))
+ {
+ return $this->delete();
+ } else {
+ common_debug(LOG_WARNING,
+ 'Foreign_link::safeDelete() tried to delete a '
+ . 'Foreign_link without a fully specified compound key: '
+ . var_export($this, true));
+ return false;
+ }
+ }
+
}
diff --git a/classes/Group_alias.php b/classes/Group_alias.php
index be3d0a6c6..c5a1895a1 100644
--- a/classes/Group_alias.php
+++ b/classes/Group_alias.php
@@ -34,7 +34,7 @@ class Group_alias extends Memcached_DataObject
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
/* Static get */
- function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('Group_alias',$k,$v); }
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Group_alias',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
diff --git a/classes/Inbox.php b/classes/Inbox.php
index be62611a1..014ba3d82 100644
--- a/classes/Inbox.php
+++ b/classes/Inbox.php
@@ -137,7 +137,7 @@ class Inbox extends Memcached_DataObject
}
}
- function stream($user_id, $offset, $limit, $since_id, $max_id, $since, $own=false)
+ function stream($user_id, $offset, $limit, $since_id, $max_id, $own=false)
{
$inbox = Inbox::staticGet('user_id', $user_id);
@@ -195,15 +195,15 @@ class Inbox extends Memcached_DataObject
* @param int $limit
* @param mixed $since_id return only notices after but not including this id
* @param mixed $max_id return only notices up to and including this id
- * @param mixed $since obsolete/ignored
* @param mixed $own ignored?
* @return array of Notice objects
*
* @todo consider repacking the inbox when this happens?
+ * @fixme reimplement $own if we need it?
*/
- function streamNotices($user_id, $offset, $limit, $since_id, $max_id, $since, $own=false)
+ function streamNotices($user_id, $offset, $limit, $since_id, $max_id, $own=false)
{
- $ids = self::stream($user_id, $offset, self::MAX_NOTICES, $since_id, $max_id, $since, $own);
+ $ids = self::stream($user_id, $offset, self::MAX_NOTICES, $since_id, $max_id, $own);
// Do a bulk lookup for the first $limit items
// Fast path when nothing's deleted.
diff --git a/classes/Local_group.php b/classes/Local_group.php
new file mode 100644
index 000000000..42312ec63
--- /dev/null
+++ b/classes/Local_group.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Table Definition for local_group
+ */
+
+class Local_group extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'local_group'; // table name
+ public $group_id; // int(4) primary_key not_null
+ public $nickname; // varchar(64) unique_key
+ public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
+ public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Local_group',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+
+ function setNickname($nickname)
+ {
+ $this->decache();
+ $qry = 'UPDATE local_group set nickname = "'.$nickname.'" where group_id = ' . $this->group_id;
+
+ $result = $this->query($qry);
+
+ if ($result) {
+ $this->nickname = $nickname;
+ $this->fixupTimestamps();
+ $this->encache();
+ } else {
+ common_log_db_error($local, 'UPDATE', __FILE__);
+ throw new ServerException(_('Could not update local group.'));
+ }
+
+ return $result;
+ }
+}
diff --git a/classes/Notice.php b/classes/Notice.php
index e8d5c45cb..4c7e6ab4b 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -121,6 +121,9 @@ class Notice extends Memcached_DataObject
$result = parent::delete();
}
+ /**
+ * Extract #hashtags from this notice's content and save them to the database.
+ */
function saveTags()
{
/* extract all #hastags */
@@ -129,14 +132,22 @@ class Notice extends Memcached_DataObject
return true;
}
+ /* Add them to the database */
+ return $this->saveKnownTags($match[1]);
+ }
+
+ /**
+ * Record the given set of hash tags in the db for this notice.
+ * Given tag strings will be normalized and checked for dupes.
+ */
+ function saveKnownTags($hashtags)
+ {
//turn each into their canonical tag
//this is needed to remove dupes before saving e.g. #hash.tag = #hashtag
- $hashtags = array();
- for($i=0; $i<count($match[1]); $i++) {
- $hashtags[] = common_canonical_tag($match[1][$i]);
+ for($i=0; $i<count($hashtags); $i++) {
+ $hashtags[$i] = common_canonical_tag($hashtags[$i]);
}
- /* Add them to the database */
foreach(array_unique($hashtags) as $hashtag) {
/* elide characters we don't want in the tag */
$this->saveTag($hashtag);
@@ -145,6 +156,10 @@ class Notice extends Memcached_DataObject
return true;
}
+ /**
+ * Record a single hash tag as associated with this notice.
+ * Tag format and uniqueness must be validated by caller.
+ */
function saveTag($hashtag)
{
$tag = new Notice_tag();
@@ -194,6 +209,10 @@ class Notice extends Memcached_DataObject
* place of extracting @-replies from content.
* array 'groups' list of group IDs to deliver to, in place of
* extracting ! tags from content
+ * array 'tags' list of hashtag strings to save with the notice
+ * in place of extracting # tags from content
+ * array 'urls' list of attached/referred URLs to save with the
+ * notice in place of extracting links from content
* @fixme tag override
*
* @return Notice
@@ -265,12 +284,6 @@ class Notice extends Memcached_DataObject
$notice->content = $final;
- if (!empty($rendered)) {
- $notice->rendered = $rendered;
- } else {
- $notice->rendered = common_render_content($final, $notice);
- }
-
$notice->source = $source;
$notice->uri = $uri;
$notice->url = $url;
@@ -298,6 +311,12 @@ class Notice extends Memcached_DataObject
$notice->location_ns = $location_ns;
}
+ if (!empty($rendered)) {
+ $notice->rendered = $rendered;
+ } else {
+ $notice->rendered = common_render_content($final, $notice);
+ }
+
if (Event::handle('StartNoticeSave', array(&$notice))) {
// XXX: some of these functions write to the DB
@@ -343,6 +362,8 @@ class Notice extends Memcached_DataObject
$notice->blowOnInsert();
+ // Save per-notice metadata...
+
if (isset($replies)) {
$notice->saveKnownReplies($replies);
} else {
@@ -355,6 +376,19 @@ class Notice extends Memcached_DataObject
$notice->saveGroups();
}
+ if (isset($tags)) {
+ $notice->saveKnownTags($tags);
+ } else {
+ $notice->saveTags();
+ }
+
+ if (isset($urls)) {
+ $notice->saveKnownUrls($urls);
+ } else {
+ $notice->saveUrls();
+ }
+
+ // Prepare inbox delivery, may be queued to background.
$notice->distribute();
return $notice;
@@ -398,6 +432,25 @@ class Notice extends Memcached_DataObject
common_replace_urls_callback($this->content, array($this, 'saveUrl'), $this->id);
}
+ /**
+ * Save the given URLs as related links/attachments to the db
+ *
+ * follow redirects and save all available file information
+ * (mimetype, date, size, oembed, etc.)
+ *
+ * @return void
+ */
+ function saveKnownUrls($urls)
+ {
+ // @fixme validation?
+ foreach ($urls as $url) {
+ File::processNew($url, $this->id);
+ }
+ }
+
+ /**
+ * @private callback
+ */
function saveUrl($data) {
list($url, $notice_id) = $data;
File::processNew($url, $notice_id);
@@ -530,17 +583,17 @@ class Notice extends Memcached_DataObject
}
}
- function publicStream($offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
+ function publicStream($offset=0, $limit=20, $since_id=0, $max_id=0)
{
$ids = Notice::stream(array('Notice', '_publicStreamDirect'),
array(),
'public',
- $offset, $limit, $since_id, $max_id, $since);
+ $offset, $limit, $since_id, $max_id);
return Notice::getStreamByIds($ids);
}
- function _publicStreamDirect($offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
+ function _publicStreamDirect($offset=0, $limit=20, $since_id=0, $max_id=0)
{
$notice = new Notice();
@@ -569,10 +622,6 @@ class Notice extends Memcached_DataObject
$notice->whereAdd('id <= ' . $max_id);
}
- if (!is_null($since)) {
- $notice->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$ids = array();
if ($notice->find()) {
@@ -587,17 +636,17 @@ class Notice extends Memcached_DataObject
return $ids;
}
- function conversationStream($id, $offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
+ function conversationStream($id, $offset=0, $limit=20, $since_id=0, $max_id=0)
{
$ids = Notice::stream(array('Notice', '_conversationStreamDirect'),
array($id),
'notice:conversation_ids:'.$id,
- $offset, $limit, $since_id, $max_id, $since);
+ $offset, $limit, $since_id, $max_id);
return Notice::getStreamByIds($ids);
}
- function _conversationStreamDirect($id, $offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
+ function _conversationStreamDirect($id, $offset=0, $limit=20, $since_id=0, $max_id=0)
{
$notice = new Notice();
@@ -620,10 +669,6 @@ class Notice extends Memcached_DataObject
$notice->whereAdd('id <= ' . $max_id);
}
- if (!is_null($since)) {
- $notice->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$ids = array();
if ($notice->find()) {
@@ -832,7 +877,7 @@ class Notice extends Memcached_DataObject
foreach (array_unique($match[1]) as $nickname) {
/* XXX: remote groups. */
- $group = User_group::getForNickname($nickname);
+ $group = User_group::getForNickname($nickname, $profile);
if (empty($group)) {
continue;
@@ -915,6 +960,8 @@ class Notice extends Memcached_DataObject
$reply->profile_id = $user->id;
$id = $reply->insert();
+
+ self::blow('reply:stream:%d', $user->id);
}
}
@@ -942,7 +989,10 @@ class Notice extends Memcached_DataObject
$sender = Profile::staticGet($this->profile_id);
- $mentions = common_find_mentions($this->profile_id, $this->content);
+ // @todo ideally this parser information would only
+ // be calculated once.
+
+ $mentions = common_find_mentions($this->content, $this);
$replied = array();
@@ -1056,7 +1106,7 @@ class Notice extends Memcached_DataObject
return $groups;
}
- function asAtomEntry($namespace=false, $source=false)
+ function asAtomEntry($namespace=false, $source=false, $author=true)
{
$profile = $this->getProfile();
@@ -1067,6 +1117,7 @@ class Notice extends Memcached_DataObject
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0',
'xmlns:georss' => 'http://www.georss.org/georss',
'xmlns:activity' => 'http://activitystrea.ms/spec/1.0/',
+ 'xmlns:media' => 'http://purl.org/syndication/atommedia',
'xmlns:poco' => 'http://portablecontacts.net/spec/1.0',
'xmlns:ostatus' => 'http://ostatus.org/schema/1.0');
} else {
@@ -1099,10 +1150,11 @@ class Notice extends Memcached_DataObject
}
$xs->element('title', null, $this->content);
- $xs->element('summary', null, $this->content);
- $xs->raw($profile->asAtomAuthor());
- $xs->raw($profile->asActivityActor());
+ if ($author) {
+ $xs->raw($profile->asAtomAuthor());
+ $xs->raw($profile->asActivityActor());
+ }
$xs->element('link', array('rel' => 'alternate',
'type' => 'text/html',
@@ -1235,16 +1287,16 @@ class Notice extends Memcached_DataObject
}
}
- function stream($fn, $args, $cachekey, $offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
+ function stream($fn, $args, $cachekey, $offset=0, $limit=20, $since_id=0, $max_id=0)
{
$cache = common_memcache();
if (empty($cache) ||
- $since_id != 0 || $max_id != 0 || (!is_null($since) && $since > 0) ||
+ $since_id != 0 || $max_id != 0 ||
is_null($limit) ||
($offset + $limit) > NOTICE_CACHE_WINDOW) {
return call_user_func_array($fn, array_merge($args, array($offset, $limit, $since_id,
- $max_id, $since)));
+ $max_id)));
}
$idkey = common_cache_key($cachekey);
diff --git a/classes/Notice_inbox.php b/classes/Notice_inbox.php
index c27dcdfd6..47ed6b22d 100644
--- a/classes/Notice_inbox.php
+++ b/classes/Notice_inbox.php
@@ -49,12 +49,12 @@ class Notice_inbox extends Memcached_DataObject
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
- function stream($user_id, $offset, $limit, $since_id, $max_id, $since, $own=false)
+ function stream($user_id, $offset, $limit, $since_id, $max_id, $own=false)
{
throw new Exception('Notice_inbox no longer used; use Inbox');
}
- function _streamDirect($user_id, $own, $offset, $limit, $since_id, $max_id, $since)
+ function _streamDirect($user_id, $own, $offset, $limit, $since_id, $max_id)
{
throw new Exception('Notice_inbox no longer used; use Inbox');
}
diff --git a/classes/Notice_tag.php b/classes/Notice_tag.php
index 4fd76e8ea..a5d0716a7 100644
--- a/classes/Notice_tag.php
+++ b/classes/Notice_tag.php
@@ -46,7 +46,7 @@ class Notice_tag extends Memcached_DataObject
return Notice::getStreamByIds($ids);
}
- function _streamDirect($tag, $offset, $limit, $since_id, $max_id, $since)
+ function _streamDirect($tag, $offset, $limit, $since_id, $max_id)
{
$nt = new Notice_tag();
@@ -63,10 +63,6 @@ class Notice_tag extends Memcached_DataObject
$nt->whereAdd('notice_id < ' . $max_id);
}
- if (!is_null($since)) {
- $nt->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$nt->orderBy('notice_id DESC');
if (!is_null($offset)) {
diff --git a/classes/Profile.php b/classes/Profile.php
index 78223b34a..0322c9358 100644
--- a/classes/Profile.php
+++ b/classes/Profile.php
@@ -163,27 +163,27 @@ class Profile extends Memcached_DataObject
return null;
}
- function getTaggedNotices($tag, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0, $since=null)
+ function getTaggedNotices($tag, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0)
{
$ids = Notice::stream(array($this, '_streamTaggedDirect'),
array($tag),
'profile:notice_ids_tagged:' . $this->id . ':' . $tag,
- $offset, $limit, $since_id, $max_id, $since);
+ $offset, $limit, $since_id, $max_id);
return Notice::getStreamByIds($ids);
}
- function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0, $since=null)
+ function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0)
{
// XXX: I'm not sure this is going to be any faster. It probably isn't.
$ids = Notice::stream(array($this, '_streamDirect'),
array(),
'profile:notice_ids:' . $this->id,
- $offset, $limit, $since_id, $max_id, $since);
+ $offset, $limit, $since_id, $max_id);
return Notice::getStreamByIds($ids);
}
- function _streamTaggedDirect($tag, $offset, $limit, $since_id, $max_id, $since)
+ function _streamTaggedDirect($tag, $offset, $limit, $since_id, $max_id)
{
// XXX It would be nice to do this without a join
@@ -202,10 +202,6 @@ class Profile extends Memcached_DataObject
$query .= " and id < $max_id";
}
- if (!is_null($since)) {
- $query .= " and created > '" . date('Y-m-d H:i:s', $since) . "'";
- }
-
$query .= ' order by id DESC';
if (!is_null($offset)) {
@@ -223,7 +219,7 @@ class Profile extends Memcached_DataObject
return $ids;
}
- function _streamDirect($offset, $limit, $since_id, $max_id, $since = null)
+ function _streamDirect($offset, $limit, $since_id, $max_id)
{
$notice = new Notice();
@@ -240,10 +236,6 @@ class Profile extends Memcached_DataObject
$notice->whereAdd('id <= ' . $max_id);
}
- if (!is_null($since)) {
- $notice->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$notice->orderBy('id DESC');
if (!is_null($offset)) {
@@ -290,6 +282,32 @@ class Profile extends Memcached_DataObject
}
}
+ function getGroups($offset=0, $limit=null)
+ {
+ $qry =
+ 'SELECT user_group.* ' .
+ 'FROM user_group JOIN group_member '.
+ 'ON user_group.id = group_member.group_id ' .
+ 'WHERE group_member.profile_id = %d ' .
+ 'ORDER BY group_member.created DESC ';
+
+ if ($offset>0 && !is_null($limit)) {
+ if ($offset) {
+ if (common_config('db','type') == 'pgsql') {
+ $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
+ } else {
+ $qry .= ' LIMIT ' . $offset . ', ' . $limit;
+ }
+ }
+ }
+
+ $groups = new User_group();
+
+ $cnt = $groups->query(sprintf($qry, $this->id));
+
+ return $groups;
+ }
+
function avatarUrl($size=AVATAR_PROFILE_SIZE)
{
$avatar = $this->getAvatar($size);
@@ -725,6 +743,10 @@ class Profile extends Memcached_DataObject
case Right::CONFIGURESITE:
$result = $this->hasRole(Profile_role::ADMINISTRATOR);
break;
+ case Right::GRANTROLE:
+ case Right::REVOKEROLE:
+ $result = $this->hasRole(Profile_role::OWNER);
+ break;
case Right::NEWNOTICE:
case Right::NEWMESSAGE:
case Right::SUBSCRIBE:
diff --git a/classes/Profile_role.php b/classes/Profile_role.php
index bf2c453ed..d0a0b31f0 100644
--- a/classes/Profile_role.php
+++ b/classes/Profile_role.php
@@ -53,4 +53,21 @@ class Profile_role extends Memcached_DataObject
const ADMINISTRATOR = 'administrator';
const SANDBOXED = 'sandboxed';
const SILENCED = 'silenced';
+
+ public static function isValid($role)
+ {
+ // @fixme could probably pull this from class constants
+ $known = array(self::OWNER,
+ self::MODERATOR,
+ self::ADMINISTRATOR,
+ self::SANDBOXED,
+ self::SILENCED);
+ return in_array($role, $known);
+ }
+
+ public static function isSettable($role)
+ {
+ $allowedRoles = array('administrator', 'moderator');
+ return self::isValid($role) && in_array($role, $allowedRoles);
+ }
}
diff --git a/classes/Reply.php b/classes/Reply.php
index 49b1e05e5..659e04c92 100644
--- a/classes/Reply.php
+++ b/classes/Reply.php
@@ -22,16 +22,16 @@ class Reply extends Memcached_DataObject
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
- function stream($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0, $since=null)
+ function stream($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0)
{
$ids = Notice::stream(array('Reply', '_streamDirect'),
array($user_id),
'reply:stream:' . $user_id,
- $offset, $limit, $since_id, $max_id, $since);
+ $offset, $limit, $since_id, $max_id);
return $ids;
}
- function _streamDirect($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0, $since=null)
+ function _streamDirect($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0)
{
$reply = new Reply();
$reply->profile_id = $user_id;
@@ -44,10 +44,6 @@ class Reply extends Memcached_DataObject
$reply->whereAdd('notice_id < ' . $max_id);
}
- if (!is_null($since)) {
- $reply->whereAdd('modified > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$reply->orderBy('notice_id DESC');
if (!is_null($offset)) {
diff --git a/classes/Subscription.php b/classes/Subscription.php
index d6fb3fcbd..9cef2df1a 100644
--- a/classes/Subscription.php
+++ b/classes/Subscription.php
@@ -172,6 +172,28 @@ class Subscription extends Memcached_DataObject
assert(!empty($sub));
+ // @todo: move this block to EndSubscribe handler for
+ // OMB plugin when it exists.
+
+ if (!empty($sub->token)) {
+
+ $token = new Token();
+
+ $token->tok = $sub->token;
+
+ if ($token->find(true)) {
+
+ $result = $token->delete();
+
+ if (!$result) {
+ common_log_db_error($token, 'DELETE', __FILE__);
+ throw new Exception(_('Couldn\'t delete subscription OMB token.'));
+ }
+ } else {
+ common_log(LOG_ERR, "Couldn't find credentials with token {$token->tok}");
+ }
+ }
+
$result = $sub->delete();
if (!$result) {
diff --git a/classes/User.php b/classes/User.php
index 0f84ed813..15ec4ad94 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -201,6 +201,7 @@ class User extends Memcached_DataObject
if(! User::allowed_nickname($nickname)){
common_log(LOG_WARNING, sprintf("Attempted to register a nickname that is not allowed: %s", $profile->nickname),
__FILE__);
+ return false;
}
$profile->profileurl = common_profile_url($nickname);
@@ -451,28 +452,28 @@ class User extends Memcached_DataObject
return $user;
}
- function getReplies($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+ function getReplies($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
{
- $ids = Reply::stream($this->id, $offset, $limit, $since_id, $before_id, $since);
+ $ids = Reply::stream($this->id, $offset, $limit, $since_id, $before_id);
return Notice::getStreamByIds($ids);
}
- function getTaggedNotices($tag, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null) {
+ function getTaggedNotices($tag, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0) {
$profile = $this->getProfile();
if (!$profile) {
return null;
} else {
- return $profile->getTaggedNotices($tag, $offset, $limit, $since_id, $before_id, $since);
+ return $profile->getTaggedNotices($tag, $offset, $limit, $since_id, $before_id);
}
}
- function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+ function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
{
$profile = $this->getProfile();
if (!$profile) {
return null;
} else {
- return $profile->getNotices($offset, $limit, $since_id, $before_id, $since);
+ return $profile->getNotices($offset, $limit, $since_id, $before_id);
}
}
@@ -482,24 +483,24 @@ class User extends Memcached_DataObject
return Notice::getStreamByIds($ids);
}
- function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+ function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
{
- return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, $since, false);
+ return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, false);
}
- function noticeInbox($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+ function noticeInbox($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
{
- return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, $since, true);
+ return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, true);
}
- function friendsTimeline($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+ function friendsTimeline($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
{
- return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, $since, false);
+ return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, false);
}
- function ownFriendsTimeline($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+ function ownFriendsTimeline($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
{
- return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, $since, true);
+ return Inbox::streamNotices($this->id, $offset, $limit, $since_id, $before_id, true);
}
function blowFavesCache()
@@ -607,28 +608,8 @@ class User extends Memcached_DataObject
function getGroups($offset=0, $limit=null)
{
- $qry =
- 'SELECT user_group.* ' .
- 'FROM user_group JOIN group_member '.
- 'ON user_group.id = group_member.group_id ' .
- 'WHERE group_member.profile_id = %d ' .
- 'ORDER BY group_member.created DESC ';
-
- if ($offset>0 && !is_null($limit)) {
- if ($offset) {
- if (common_config('db','type') == 'pgsql') {
- $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
- } else {
- $qry .= ' LIMIT ' . $offset . ', ' . $limit;
- }
- }
- }
-
- $groups = new User_group();
-
- $cnt = $groups->query(sprintf($qry, $this->id));
-
- return $groups;
+ $profile = $this->getProfile();
+ return $profile->getGroups($offset, $limit);
}
function getSubscriptions($offset=0, $limit=null)
@@ -784,7 +765,7 @@ class User extends Memcached_DataObject
return Notice::getStreamByIds($ids);
}
- function _repeatedByMeDirect($offset, $limit, $since_id, $max_id, $since)
+ function _repeatedByMeDirect($offset, $limit, $since_id, $max_id)
{
$notice = new Notice();
@@ -808,10 +789,6 @@ class User extends Memcached_DataObject
$notice->whereAdd('id <= ' . $max_id);
}
- if (!is_null($since)) {
- $notice->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$ids = array();
if ($notice->find()) {
@@ -831,12 +808,12 @@ class User extends Memcached_DataObject
$ids = Notice::stream(array($this, '_repeatsOfMeDirect'),
array(),
'user:repeats_of_me:'.$this->id,
- $offset, $limit, $since_id, $max_id, null);
+ $offset, $limit, $since_id, $max_id);
return Notice::getStreamByIds($ids);
}
- function _repeatsOfMeDirect($offset, $limit, $since_id, $max_id, $since)
+ function _repeatsOfMeDirect($offset, $limit, $since_id, $max_id)
{
$qry =
'SELECT DISTINCT original.id AS id ' .
@@ -851,10 +828,6 @@ class User extends Memcached_DataObject
$qry .= 'AND original.id <= ' . $max_id . ' ';
}
- if (!is_null($since)) {
- $qry .= 'AND original.modified > \'' . date('Y-m-d H:i:s', $since) . '\' ';
- }
-
// NOTE: we sort by fave time, not by notice time!
$qry .= 'ORDER BY original.id DESC ';
diff --git a/classes/User_group.php b/classes/User_group.php
index 1382aa407..7be55163a 100644
--- a/classes/User_group.php
+++ b/classes/User_group.php
@@ -10,21 +10,23 @@ class User_group extends Memcached_DataObject
public $__table = 'user_group'; // table name
public $id; // int(4) primary_key not_null
- public $nickname; // varchar(64) unique_key
+ public $nickname; // varchar(64)
public $fullname; // varchar(255)
public $homepage; // varchar(255)
- public $description; // text()
+ public $description; // text
public $location; // varchar(255)
public $original_logo; // varchar(255)
public $homepage_logo; // varchar(255)
public $stream_logo; // varchar(255)
public $mini_logo; // varchar(255)
public $design_id; // int(4)
- public $created; // datetime() not_null
- public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
+ public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
+ public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
+ public $uri; // varchar(255) unique_key
+ public $mainpage; // varchar(255)
/* Static get */
- function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_group',$k,$v); }
+ function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('User_group',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
@@ -41,13 +43,33 @@ class User_group extends Memcached_DataObject
{
$url = null;
if (Event::handle('StartUserGroupHomeUrl', array($this, &$url))) {
- $url = common_local_url('showgroup',
- array('nickname' => $this->nickname));
+ // normally stored in mainpage, but older ones may be null
+ if (!empty($this->mainpage)) {
+ $url = $this->mainpage;
+ } else {
+ $url = common_local_url('showgroup',
+ array('nickname' => $this->nickname));
+ }
}
Event::handle('EndUserGroupHomeUrl', array($this, &$url));
return $url;
}
+ function getUri()
+ {
+ $uri = null;
+ if (Event::handle('StartUserGroupGetUri', array($this, &$uri))) {
+ if (!empty($this->uri)) {
+ $uri = $this->uri;
+ } else {
+ $uri = common_local_url('groupbyid',
+ array('id' => $this->id));
+ }
+ }
+ Event::handle('EndUserGroupGetUri', array($this, &$uri));
+ return $uri;
+ }
+
function permalink()
{
$url = null;
@@ -69,7 +91,7 @@ class User_group extends Memcached_DataObject
return Notice::getStreamByIds($ids);
}
- function _streamDirect($offset, $limit, $since_id, $max_id, $since)
+ function _streamDirect($offset, $limit, $since_id, $max_id)
{
$inbox = new Group_inbox();
@@ -86,10 +108,6 @@ class User_group extends Memcached_DataObject
$inbox->whereAdd('notice_id <= ' . $max_id);
}
- if (!is_null($since)) {
- $inbox->whereAdd('created > \'' . date('Y-m-d H:i:s', $since) . '\'');
- }
-
$inbox->orderBy('notice_id DESC');
if (!is_null($offset)) {
@@ -261,12 +279,26 @@ class User_group extends Memcached_DataObject
return true;
}
- static function getForNickname($nickname)
+ static function getForNickname($nickname, $profile=null)
{
$nickname = common_canonical_nickname($nickname);
- $group = User_group::staticGet('nickname', $nickname);
+
+ // Are there any matching remote groups this profile's in?
+ if ($profile) {
+ $group = $profile->getGroups();
+ while ($group->fetch()) {
+ if ($group->nickname == $nickname) {
+ // @fixme is this the best way?
+ return clone($group);
+ }
+ }
+ }
+
+ // If not, check local groups.
+
+ $group = Local_group::staticGet('nickname', $nickname);
if (!empty($group)) {
- return $group;
+ return User_group::staticGet('id', $group->group_id);
}
$alias = Group_alias::staticGet('alias', $nickname);
if (!empty($alias)) {
@@ -377,25 +409,41 @@ class User_group extends Memcached_DataObject
return $xs->getString();
}
+ /**
+ * Returns an XML string fragment with group information as an
+ * Activity Streams <activity:subject> element.
+ *
+ * Assumes that 'activity' namespace has been previously defined.
+ *
+ * @return string
+ */
function asActivitySubject()
{
- $xs = new XMLStringer(true);
+ return $this->asActivityNoun('subject');
+ }
- $xs->elementStart('activity:subject');
- $xs->element('activity:object', null, 'http://activitystrea.ms/schema/1.0/group');
- $xs->element('id', null, $this->permalink());
- $xs->element('title', null, $this->getBestName());
- $xs->element(
- 'link', array(
- 'rel' => 'avatar',
- 'href' => empty($this->homepage_logo)
- ? User_group::defaultLogo(AVATAR_PROFILE_SIZE)
- : $this->homepage_logo
- )
- );
- $xs->elementEnd('activity:subject');
+ /**
+ * Returns an XML string fragment with group information as an
+ * Activity Streams noun object with the given element type.
+ *
+ * Assumes that 'activity', 'georss', and 'poco' namespace has been
+ * previously defined.
+ *
+ * @param string $element one of 'actor', 'subject', 'object', 'target'
+ *
+ * @return string
+ */
+ function asActivityNoun($element)
+ {
+ $noun = ActivityObject::fromGroup($this);
+ return $noun->asString('activity:' . $element);
+ }
- return $xs->getString();
+ function getAvatar()
+ {
+ return empty($this->homepage_logo)
+ ? User_group::defaultLogo(AVATAR_PROFILE_SIZE)
+ : $this->homepage_logo;
}
static function register($fields) {
@@ -407,34 +455,42 @@ class User_group extends Memcached_DataObject
$group = new User_group();
$group->query('BEGIN');
+
+ if (empty($uri)) {
+ // fill in later...
+ $uri = null;
+ }
$group->nickname = $nickname;
$group->fullname = $fullname;
$group->homepage = $homepage;
$group->description = $description;
$group->location = $location;
+ $group->uri = $uri;
+ $group->mainpage = $mainpage;
$group->created = common_sql_now();
$result = $group->insert();
if (!$result) {
common_log_db_error($group, 'INSERT', __FILE__);
- $this->serverError(
- _('Could not create group.'),
- 500,
- $this->format
- );
- return;
+ throw new ServerException(_('Could not create group.'));
+ }
+
+ if (!isset($uri) || empty($uri)) {
+ $orig = clone($group);
+ $group->uri = common_local_url('groupbyid', array('id' => $group->id));
+ $result = $group->update($orig);
+ if (!$result) {
+ common_log_db_error($group, 'UPDATE', __FILE__);
+ throw new ServerException(_('Could not set group URI.'));
+ }
}
+
$result = $group->setAliases($aliases);
if (!$result) {
- $this->serverError(
- _('Could not create aliases.'),
- 500,
- $this->format
- );
- return;
+ throw new ServerException(_('Could not create aliases.'));
}
$member = new Group_member();
@@ -448,12 +504,22 @@ class User_group extends Memcached_DataObject
if (!$result) {
common_log_db_error($member, 'INSERT', __FILE__);
- $this->serverError(
- _('Could not set group membership.'),
- 500,
- $this->format
- );
- return;
+ throw new ServerException(_('Could not set group membership.'));
+ }
+
+ if ($local) {
+ $local_group = new Local_group();
+
+ $local_group->group_id = $group->id;
+ $local_group->nickname = $nickname;
+ $local_group->created = common_sql_now();
+
+ $result = $local_group->insert();
+
+ if (!$result) {
+ common_log_db_error($local_group, 'INSERT', __FILE__);
+ throw new ServerException(_('Could not save local group info.'));
+ }
}
$group->query('COMMIT');
diff --git a/classes/User_username.php b/classes/User_username.php
index 853fd5cb8..8d99cddd3 100644
--- a/classes/User_username.php
+++ b/classes/User_username.php
@@ -55,7 +55,7 @@ class User_username extends Memcached_DataObject
// now define the keys.
function keys() {
- return array('provider_name', 'username');
+ return array('provider_name' => 'K', 'username' => 'K');
}
}
diff --git a/classes/statusnet.ini b/classes/statusnet.ini
index d116b16a3..473bd6ff5 100644
--- a/classes/statusnet.ini
+++ b/classes/statusnet.ini
@@ -245,13 +245,6 @@ modified = 384
group_id = K
profile_id = K
-[invitation]
-code = 130
-user_id = 129
-address = 130
-address_type = 130
-created = 142
-
[inbox]
user_id = 129
notice_ids = 66
@@ -259,9 +252,26 @@ notice_ids = 66
[inbox__keys]
user_id = K
+[invitation]
+code = 130
+user_id = 129
+address = 130
+address_type = 130
+created = 142
+
[invitation__keys]
code = K
+[local_group]
+group_id = 129
+nickname = 2
+created = 142
+modified = 384
+
+[local_group__keys]
+group_id = K
+nickname = U
+
[location_namespace]
id = 129
description = 2
@@ -369,7 +379,7 @@ icon = 130
source_url = 2
organization = 2
homepage = 2
-callback_url = 130
+callback_url = 2
type = 17
access_type = 17
created = 142
@@ -440,13 +450,13 @@ tag = K
[queue_item]
id = 129
-frame = 66
+frame = 194
transport = 130
created = 142
claimed = 14
[queue_item__keys]
-id = K
+id = N
[related_group]
group_id = 129
@@ -587,10 +597,11 @@ mini_logo = 2
design_id = 1
created = 142
modified = 384
+uri = 2
+mainpage = 2
[user_group__keys]
id = N
-nickname = U
[user_openid]
canonical = 130
diff --git a/config.php.sample b/config.php.sample
index b8852dc67..75f5c7d55 100644
--- a/config.php.sample
+++ b/config.php.sample
@@ -124,6 +124,8 @@ $config['sphinx']['port'] = 3312;
// Email info, used for all outbound email
// $config['mail']['notifyfrom'] = 'microblog@example.net';
+// Domain for generating no-reply and incoming email addresses, if enabled.
+// Defaults to site server name.
// $config['mail']['domain'] = 'microblog.example.net';
// See http://pear.php.net/manual/en/package.mail.mail.factory.php for options
// $config['mail']['backend'] = 'smtp';
@@ -131,8 +133,6 @@ $config['sphinx']['port'] = 3312;
// 'host' => 'localhost',
// 'port' => 25,
// );
-// For incoming email, if enabled. Defaults to site server name.
-// $config['mail']['domain'] = 'incoming.example.net';
// exponential decay factor for tags, default 10 days
// raise this if traffic is slow, lower it if it's fast
@@ -188,9 +188,6 @@ $config['sphinx']['port'] = 3312;
// Disable SMS
// $config['sms']['enabled'] = false;
-// Disable Twitter integration
-// $config['twitter']['enabled'] = false;
-
// Twitter integration source attribute. Note: default is StatusNet
// $config['integration']['source'] = 'StatusNet';
@@ -198,7 +195,7 @@ $config['sphinx']['port'] = 3312;
//
// NOTE: if you enable this you must also set $config['avatar']['path']
//
-// $config['twitterbridge']['enabled'] = true;
+// $config['twitterimport']['enabled'] = true;
// Twitter OAuth settings
// $config['twitter']['consumer_key'] = 'YOURKEY';
@@ -212,10 +209,6 @@ $config['sphinx']['port'] = 3312;
// $config['throttle']['count'] = 100;
// $config['throttle']['timespan'] = 3600;
-// List of users banned from posting (nicknames and/or IDs)
-// $config['profile']['banned'][] = 'hacker';
-// $config['profile']['banned'][] = 12345;
-
// Config section for the built-in Facebook application
// $config['facebook']['apikey'] = 'APIKEY';
// $config['facebook']['secret'] = 'SECRET';
@@ -275,6 +268,8 @@ $config['sphinx']['port'] = 3312;
// Support for file uploads (attachments),
// select supported mimetypes and quotas (in bytes)
// $config['attachments']['supported'] = array('image/png', 'application/ogg');
+// $config['attachments']['supported'] = true; //allow all file types to be uploaded
+
// $config['attachments']['file_quota'] = 5000000;
// $config['attachments']['user_quota'] = 50000000;
// $config['attachments']['monthly_quota'] = 15000000;
diff --git a/db/08to09.sql b/db/08to09.sql
index d5f30a26b..ba6f38200 100644
--- a/db/08to09.sql
+++ b/db/08to09.sql
@@ -111,7 +111,11 @@ 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';
+ 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';
create table oauth_application (
id integer auto_increment primary key comment 'unique identifier',
@@ -140,4 +144,47 @@ create table oauth_application_user (
constraint primary key (profile_id, application_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+create table inbox (
+
+ user_id integer not null comment 'user receiving the notice' references user (id),
+ notice_ids blob comment 'packed list of notice ids',
+
+ constraint primary key (user_id)
+
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table conversation (
+ id integer auto_increment primary key comment 'unique identifier',
+ uri varchar(225) unique comment 'URI of the conversation',
+ 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;
+
+-- stub entry to push the autoincrement past existing notice ids
+insert into conversation (id,created)
+ select max(id)+1, now() from notice;
+
+alter table user_group
+ add uri varchar(255) unique key comment 'universal identifier',
+ add mainpage varchar(255) comment 'page for group info to link to',
+ drop index nickname;
+
+create table local_group (
+
+ group_id integer primary key comment 'group represented' references user_group (id),
+ nickname varchar(64) unique key comment 'group represented',
+
+ 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;
+
+insert into local_group (group_id, nickname, created)
+ select id, nickname, created from user_group;
+
+alter table file_to_post
+ add index post_id_idx (post_id);
+
+alter table group_inbox
+ add index group_inbox_notice_id_idx (notice_id);
diff --git a/db/beta5tobeta6.sql b/db/beta5tobeta6.sql
new file mode 100644
index 000000000..e9dff17ef
--- /dev/null
+++ b/db/beta5tobeta6.sql
@@ -0,0 +1,28 @@
+alter table oauth_application
+ modify column name varchar(255) not null unique key comment 'name of the application',
+ modify column access_type tinyint default 0 comment 'access type, bit 1 = read, bit 2 = write';
+
+alter table user_group
+add column uri varchar(255) unique key comment 'universal identifier',
+add column mainpage varchar(255) comment 'page for group info to link to',
+drop index nickname;
+
+create table conversation (
+ id integer auto_increment primary key comment 'unique identifier',
+ uri varchar(225) unique comment 'URI of the conversation',
+ 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 local_group (
+ group_id integer primary key comment 'group represented' references user_group (id),
+ nickname varchar(64) unique key comment 'group represented',
+
+ 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;
+
+insert into local_group (group_id, nickname, created)
+select id, nickname, created from user_group;
+
diff --git a/db/statusnet.sql b/db/statusnet.sql
index d6f0f54a2..d1cd67075 100644
--- a/db/statusnet.sql
+++ b/db/statusnet.sql
@@ -401,7 +401,7 @@ create table profile_block (
create table user_group (
id integer auto_increment primary key comment 'unique identifier',
- nickname varchar(64) unique key comment 'nickname for addressing',
+ nickname varchar(64) comment 'nickname for addressing',
fullname varchar(255) comment 'display name',
homepage varchar(255) comment 'URL, cached so we dont regenerate',
description text comment 'group description',
@@ -416,6 +416,9 @@ create table user_group (
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
+ uri varchar(255) unique key comment 'universal identifier',
+ mainpage varchar(255) comment 'page for group info to link to',
+
index user_group_nickname_idx (nickname)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
@@ -450,7 +453,8 @@ create table group_inbox (
created datetime not null comment 'date the notice was created',
constraint primary key (group_id, notice_id),
- index group_inbox_created_idx (created)
+ index group_inbox_created_idx (created),
+ index group_inbox_notice_id_idx (notice_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
@@ -515,7 +519,8 @@ create table file_to_post (
post_id integer comment 'id of the notice it belongs to' references notice (id),
modified timestamp comment 'date this record was modified',
- constraint primary key (file_id, post_id)
+ constraint primary key (file_id, post_id),
+ index post_id_idx (post_id)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
@@ -650,3 +655,13 @@ create table conversation (
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 local_group (
+
+ group_id integer primary key comment 'group represented' references user_group (id),
+ nickname varchar(64) unique key comment 'group represented',
+
+ 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;
diff --git a/index.php b/index.php
index 06ff9900f..65f251bcc 100644
--- a/index.php
+++ b/index.php
@@ -37,8 +37,6 @@ define('INSTALLDIR', dirname(__FILE__));
define('STATUSNET', true);
define('LACONICA', true); // compatibility
-require_once INSTALLDIR . '/lib/common.php';
-
$user = null;
$action = null;
@@ -68,52 +66,69 @@ function getPath($req)
*/
function handleError($error)
{
- if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
- return;
- }
+ try {
- $logmsg = "PEAR error: " . $error->getMessage();
- if (common_config('site', 'logdebug')) {
- $logmsg .= " : ". $error->getDebugInfo();
- }
- // DB queries often end up with a lot of newlines; merge to a single line
- // for easier grepability...
- $logmsg = str_replace("\n", " ", $logmsg);
- common_log(LOG_ERR, $logmsg);
-
- // @fixme backtrace output should be consistent with exception handling
- if (common_config('site', 'logdebug')) {
- $bt = $error->getBacktrace();
- foreach ($bt as $n => $line) {
- common_log(LOG_ERR, formatBacktraceLine($n, $line));
+ if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
+ return;
}
- }
- if ($error instanceof DB_DataObject_Error
- || $error instanceof DB_Error
- ) {
- $msg = sprintf(
- _(
- 'The database for %s isn\'t responding correctly, '.
- 'so the site won\'t work properly. '.
- 'The site admins probably know about the problem, '.
- 'but you can contact them at %s to make sure. '.
- 'Otherwise, wait a few minutes and try again.'
- ),
- common_config('site', 'name'),
- common_config('site', 'email')
- );
- } else {
- $msg = _(
- 'An important error occured, probably related to email setup. '.
- 'Check logfiles for more info..'
- );
- }
- $dac = new DBErrorAction($msg, 500);
- $dac->showPage();
+ $logmsg = "PEAR error: " . $error->getMessage();
+ if ($error instanceof PEAR_Exception && common_config('site', 'logdebug')) {
+ $logmsg .= " : ". $error->toText();
+ }
+ // DB queries often end up with a lot of newlines; merge to a single line
+ // for easier grepability...
+ $logmsg = str_replace("\n", " ", $logmsg);
+ common_log(LOG_ERR, $logmsg);
+
+ // @fixme backtrace output should be consistent with exception handling
+ if (common_config('site', 'logdebug')) {
+ $bt = $error->getTrace();
+ foreach ($bt as $n => $line) {
+ common_log(LOG_ERR, formatBacktraceLine($n, $line));
+ }
+ }
+ if ($error instanceof DB_DataObject_Error
+ || $error instanceof DB_Error
+ || ($error instanceof PEAR_Exception && $error->getCode() == -24)
+ ) {
+ //If we run into a DB error, assume we can't connect to the DB at all
+ //so set the current user to null, so we don't try to access the DB
+ //while rendering the error page.
+ global $_cur;
+ $_cur = null;
+
+ $msg = sprintf(
+ _(
+ 'The database for %s isn\'t responding correctly, '.
+ 'so the site won\'t work properly. '.
+ 'The site admins probably know about the problem, '.
+ 'but you can contact them at %s to make sure. '.
+ 'Otherwise, wait a few minutes and try again.'
+ ),
+ common_config('site', 'name'),
+ common_config('site', 'email')
+ );
+ } else {
+ $msg = _(
+ 'An important error occured, probably related to email setup. '.
+ 'Check logfiles for more info..'
+ );
+ }
+
+ $dac = new DBErrorAction($msg, 500);
+ $dac->showPage();
+
+ } catch (Exception $e) {
+ echo _('An error occurred.');
+ }
exit(-1);
}
+set_exception_handler('handleError');
+
+require_once INSTALLDIR . '/lib/common.php';
+
/**
* Format a backtrace line for debug output roughly like debug_print_backtrace() does.
* Exceptions already have this built in, but PEAR error objects just give us the array.
@@ -185,7 +200,7 @@ function checkMirror($action_obj, $args)
function isLoginAction($action)
{
- static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds');
+ static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds', 'otp');
$login = null;
@@ -238,10 +253,6 @@ function main()
return;
}
- // For database errors
-
- PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
-
// Make sure RW database is setup
setupRW();
diff --git a/install.php b/install.php
index 435f6d63b..929277e5e 100644
--- a/install.php
+++ b/install.php
@@ -31,6 +31,7 @@
* @author Robin Millette <millette@controlyourself.ca>
* @author Sarven Capadisli <csarven@status.net>
* @author Tom Adams <tom@holizz.com>
+ * @author Zach Copley <zach@status.net>
* @license GNU Affero General Public License http://www.gnu.org/licenses/
* @version 0.9.x
* @link http://status.net
@@ -300,6 +301,19 @@ function checkPrereqs()
$pass = false;
}
+ // Look for known library bugs
+ $str = "abcdefghijklmnopqrstuvwxyz";
+ $replaced = preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
+ if ($str != $replaced) {
+ printf('<p class="error">PHP is linked to a version of the PCRE library ' .
+ 'that does not support Unicode properties. ' .
+ 'If you are running Red Hat Enterprise Linux / ' .
+ 'CentOS 5.4 or earlier, see <a href="' .
+ 'http://status.net/wiki/Red_Hat_Enterprise_Linux#PCRE_library' .
+ '">our documentation page</a> on fixing this.</p>');
+ $pass = false;
+ }
+
$reqs = array('gd', 'curl',
'xmlwriter', 'mbstring', 'xml', 'dom', 'simplexml');
@@ -434,72 +448,119 @@ E_O_T;
E_O_T;
}
+/**
+ * Helper class for building form
+ */
+class Posted {
+ function value($name)
+ {
+ if (isset($_POST[$name])) {
+ return htmlspecialchars(strval($_POST[$name]));
+ } else {
+ return '';
+ }
+ }
+}
+
function showForm()
{
global $dbModules;
+ $post = new Posted();
$dbRadios = '';
- $checked = 'checked="checked" '; // Check the first one which exists
+ if (isset($_POST['dbtype'])) {
+ $dbtype = $_POST['dbtype'];
+ } else {
+ $dbtype = null;
+ }
foreach ($dbModules as $type => $info) {
if (checkExtension($info['check_module'])) {
+ if ($dbtype == null || $dbtype == $type) {
+ $checked = 'checked="checked" ';
+ $dbtype = $type; // if we didn't have one checked, hit the first
+ } else {
+ $checked = '';
+ }
$dbRadios .= "<input type=\"radio\" name=\"dbtype\" id=\"dbtype-$type\" value=\"$type\" $checked/> $info[name]<br />\n";
- $checked = '';
}
}
echo<<<E_O_T
</ul>
</dd>
</dl>
-<dl id="page_notice" class="system_notice">
- <dt>Page notice</dt>
- <dd>
- <div class="instructions">
- <p>Enter your database connection information below to initialize the database.</p>
- </div>
- </dd>
-</dl>
<form method="post" action="install.php" class="form_settings" id="form_install">
<fieldset>
- <legend>Connection settings</legend>
- <ul class="form_data">
- <li>
- <label for="sitename">Site name</label>
- <input type="text" id="sitename" name="sitename" />
- <p class="form_guide">The name of your site</p>
- </li>
- <li>
- <label for="fancy-enable">Fancy URLs</label>
- <input type="radio" name="fancy" id="fancy-enable" value="enable" checked='checked' /> enable<br />
- <input type="radio" name="fancy" id="fancy-disable" value="" /> disable<br />
- <p class="form_guide" id='fancy-form_guide'>Enable fancy (pretty) URLs. Auto-detection failed, it depends on Javascript.</p>
- </li>
- <li>
- <label for="host">Hostname</label>
- <input type="text" id="host" name="host" />
- <p class="form_guide">Database hostname</p>
- </li>
- <li>
-
- <label for="dbtype">Type</label>
- $dbRadios
- <p class="form_guide">Database type</p>
- </li>
-
- <li>
- <label for="database">Name</label>
- <input type="text" id="database" name="database" />
- <p class="form_guide">Database name</p>
- </li>
- <li>
- <label for="username">Username</label>
- <input type="text" id="username" name="username" />
- <p class="form_guide">Database username</p>
- </li>
- <li>
- <label for="password">Password</label>
- <input type="password" id="password" name="password" />
- <p class="form_guide">Database password (optional)</p>
- </li>
- </ul>
+ <fieldset id="settings_site">
+ <legend>Site settings</legend>
+ <ul class="form_data">
+ <li>
+ <label for="sitename">Site name</label>
+ <input type="text" id="sitename" name="sitename" value="{$post->value('sitename')}" />
+ <p class="form_guide">The name of your site</p>
+ </li>
+ <li>
+ <label for="fancy-enable">Fancy URLs</label>
+ <input type="radio" name="fancy" id="fancy-enable" value="enable" checked='checked' /> enable<br />
+ <input type="radio" name="fancy" id="fancy-disable" value="" /> disable<br />
+ <p class="form_guide" id='fancy-form_guide'>Enable fancy (pretty) URLs. Auto-detection failed, it depends on Javascript.</p>
+ </li>
+ </ul>
+ </fieldset>
+
+ <fieldset id="settings_db">
+ <legend>Database settings</legend>
+ <ul class="form_data">
+ <li>
+ <label for="host">Hostname</label>
+ <input type="text" id="host" name="host" value="{$post->value('host')}" />
+ <p class="form_guide">Database hostname</p>
+ </li>
+ <li>
+ <label for="dbtype">Type</label>
+ $dbRadios
+ <p class="form_guide">Database type</p>
+ </li>
+ <li>
+ <label for="database">Name</label>
+ <input type="text" id="database" name="database" value="{$post->value('database')}" />
+ <p class="form_guide">Database name</p>
+ </li>
+ <li>
+ <label for="dbusername">DB username</label>
+ <input type="text" id="dbusername" name="dbusername" value="{$post->value('dbusername')}" />
+ <p class="form_guide">Database username</p>
+ </li>
+ <li>
+ <label for="dbpassword">DB password</label>
+ <input type="password" id="dbpassword" name="dbpassword" value="{$post->value('dbpassword')}" />
+ <p class="form_guide">Database password (optional)</p>
+ </li>
+ </ul>
+ </fieldset>
+
+ <fieldset id="settings_admin">
+ <legend>Administrator settings</legend>
+ <ul class="form_data">
+ <li>
+ <label for="admin_nickname">Administrator nickname</label>
+ <input type="text" id="admin_nickname" name="admin_nickname" value="{$post->value('admin_nickname')}" />
+ <p class="form_guide">Nickname for the initial StatusNet user (administrator)</p>
+ </li>
+ <li>
+ <label for="admin_password">Administrator password</label>
+ <input type="password" id="admin_password" name="admin_password" value="{$post->value('admin_password')}" />
+ <p class="form_guide">Password for the initial StatusNet user (administrator)</p>
+ </li>
+ <li>
+ <label for="admin_password2">Confirm password</label>
+ <input type="password" id="admin_password2" name="admin_password2" value="{$post->value('admin_password2')}" />
+ </li>
+ <li>
+ <label for="admin_email">Administrator e-mail</label>
+ <input id="admin_email" name="admin_email" value="{$post->value('admin_email')}" />
+ <p class="form_guide">Optional email address for the initial StatusNet user (administrator)</p>
+ </li>
+ </ul>
+ </fieldset>
<input type="submit" name="submit" class="submit" value="Submit" />
</fieldset>
</form>
@@ -517,10 +578,16 @@ function handlePost()
$host = $_POST['host'];
$dbtype = $_POST['dbtype'];
$database = $_POST['database'];
- $username = $_POST['username'];
- $password = $_POST['password'];
+ $username = $_POST['dbusername'];
+ $password = $_POST['dbpassword'];
$sitename = $_POST['sitename'];
$fancy = !empty($_POST['fancy']);
+
+ $adminNick = $_POST['admin_nickname'];
+ $adminPass = $_POST['admin_password'];
+ $adminPass2 = $_POST['admin_password2'];
+ $adminEmail = $_POST['admin_email'];
+
$server = $_SERVER['HTTP_HOST'];
$path = substr(dirname($_SERVER['PHP_SELF']), 1);
@@ -552,6 +619,21 @@ STR;
$fail = true;
}
+ if (empty($adminNick)) {
+ updateStatus("No initial StatusNet user nickname specified.", true);
+ $fail = true;
+ }
+
+ if (empty($adminPass)) {
+ updateStatus("No initial StatusNet user password specified.", true);
+ $fail = true;
+ }
+
+ if ($adminPass != $adminPass2) {
+ updateStatus("Administrator passwords do not match. Did you mistype?", true);
+ $fail = true;
+ }
+
if ($fail) {
showForm();
return;
@@ -574,13 +656,29 @@ STR;
return;
}
+ // Okay, cross fingers and try to register an initial user
+ if (registerInitialUser($adminNick, $adminPass, $adminEmail)) {
+ updateStatus(
+ "An initial user with the administrator role has been created."
+ );
+ } else {
+ updateStatus(
+ "Could not create initial StatusNet user (administrator).",
+ true
+ );
+ showForm();
+ return;
+ }
+
/*
TODO https needs to be considered
*/
$link = "http://".$server.'/'.$path;
updateStatus("StatusNet has been installed at $link");
- updateStatus("You can visit your <a href='$link'>new StatusNet site</a>.");
+ updateStatus(
+ "<strong>DONE!</strong> You can visit your <a href='$link'>new StatusNet site</a> (login as '$adminNick'). If this is your first StatusNet install, you may want to poke around our <a href='http://status.net/wiki/Getting_started'>Getting Started guide</a>."
+ );
}
function Pgsql_Db_installer($host, $database, $username, $password)
@@ -756,6 +854,47 @@ function runDbScript($filename, $conn, $type = 'mysqli')
return true;
}
+function registerInitialUser($nickname, $password, $email)
+{
+ define('STATUSNET', true);
+ define('LACONICA', true); // compatibility
+
+ require_once INSTALLDIR . '/lib/common.php';
+
+ $data = array('nickname' => $nickname,
+ 'password' => $password,
+ 'fullname' => $nickname);
+ if ($email) {
+ $data['email'] = $email;
+ }
+ $user = User::register($data);
+
+ if (empty($user)) {
+ return false;
+ }
+
+ // give initial user carte blanche
+
+ $user->grantRole('owner');
+ $user->grantRole('moderator');
+ $user->grantRole('administrator');
+
+ // Attempt to do a remote subscribe to update@status.net
+ // Will fail if instance is on a private network.
+
+ if (class_exists('Ostatus_profile')) {
+ try {
+ $oprofile = Ostatus_profile::ensureProfile('http://update.status.net/');
+ Subscription::start($user->getProfile(), $oprofile->localProfile());
+ updateStatus("Set up subscription to <a href='http://update.status.net/'>update@status.net</a>.");
+ } catch (Exception $e) {
+ updateStatus("Could not set up subscription to <a href='http://update.status.net/'>update@status.net</a>.");
+ }
+ }
+
+ return true;
+}
+
?>
<?php echo"<?"; ?> xml version="1.0" encoding="UTF-8" <?php echo "?>"; ?>
<!DOCTYPE html
@@ -765,10 +904,10 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<head>
<title>Install StatusNet</title>
<link rel="shortcut icon" href="favicon.ico"/>
- <link rel="stylesheet" type="text/css" href="theme/default/css/display.css?version=0.8" media="screen, projection, tv"/>
- <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/base/css/ie.css?version=0.8" /><![endif]-->
- <!--[if lte IE 6]><link rel="stylesheet" type="text/css" theme/base/css/ie6.css?version=0.8" /><![endif]-->
- <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/default/css/ie.css?version=0.8" /><![endif]-->
+ <link rel="stylesheet" type="text/css" href="theme/default/css/display.css" media="screen, projection, tv"/>
+ <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/base/css/ie.css" /><![endif]-->
+ <!--[if lte IE 6]><link rel="stylesheet" type="text/css" theme/base/css/ie6.css" /><![endif]-->
+ <!--[if IE]><link rel="stylesheet" type="text/css" href="theme/default/css/ie.css" /><![endif]-->
<script src="js/jquery.min.js"></script>
<script src="js/install.js"></script>
</head>
@@ -784,8 +923,10 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
</div>
<div id="core">
<div id="content">
- <h1>Install StatusNet</h1>
+ <div id="content_inner">
+ <h1>Install StatusNet</h1>
<?php main(); ?>
+ </div>
</div>
</div>
</div>
diff --git a/js/jquery.js b/js/jquery.js
index 237e1b908..b3b95307a 100644
--- a/js/jquery.js
+++ b/js/jquery.js
@@ -1,5 +1,5 @@
/*!
- * jQuery JavaScript Library v1.4.1
+ * jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
@@ -11,7 +11,7 @@
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
- * Date: Mon Jan 25 19:43:33 2010 -0500
+ * Date: Sat Feb 13 22:33:48 2010 -0500
*/
(function( window, undefined ) {
@@ -86,6 +86,15 @@ jQuery.fn = jQuery.prototype = {
this.length = 1;
return this;
}
+
+ // The body element only exists once, optimize finding it
+ if ( selector === "body" && !context ) {
+ this.context = document;
+ this[0] = document.body;
+ this.selector = "body";
+ this.length = 1;
+ return this;
+ }
// Handle HTML strings
if ( typeof selector === "string" ) {
@@ -116,7 +125,9 @@ jQuery.fn = jQuery.prototype = {
ret = buildFragment( [ match[1] ], [ doc ] );
selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
}
-
+
+ return jQuery.merge( this, selector );
+
// HANDLE: $("#id")
} else {
elem = document.getElementById( match[2] );
@@ -143,6 +154,7 @@ jQuery.fn = jQuery.prototype = {
this.selector = selector;
this.context = document;
selector = document.getElementsByTagName( selector );
+ return jQuery.merge( this, selector );
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
@@ -165,16 +177,14 @@ jQuery.fn = jQuery.prototype = {
this.context = selector.context;
}
- return jQuery.isArray( selector ) ?
- this.setArray( selector ) :
- jQuery.makeArray( selector, this );
+ return jQuery.makeArray( selector, this );
},
// Start with an empty selector
selector: "",
// The current version of jQuery being used
- jquery: "1.4.1",
+ jquery: "1.4.2",
// The default length of a jQuery object is 0
length: 0,
@@ -204,7 +214,14 @@ jQuery.fn = jQuery.prototype = {
// (returning the new matched element set)
pushStack: function( elems, name, selector ) {
// Build a new jQuery matched element set
- var ret = jQuery( elems || null );
+ var ret = jQuery();
+
+ if ( jQuery.isArray( elems ) ) {
+ push.apply( ret, elems );
+
+ } else {
+ jQuery.merge( ret, elems );
+ }
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
@@ -221,18 +238,6 @@ jQuery.fn = jQuery.prototype = {
return ret;
},
- // Force the current matched set of elements to become
- // the specified array of elements (destroying the stack in the process)
- // You should use pushStack() in order to do this, but maintain the stack
- setArray: function( elems ) {
- // 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;
- push.apply( this, elems );
-
- return this;
- },
-
// Execute a callback for every element in the matched set.
// (You can seed the arguments with an array of args, but this is
// only used internally.)
@@ -492,6 +497,9 @@ jQuery.extend({
if ( typeof data !== "string" || !data ) {
return null;
}
+
+ // Make sure leading/trailing whitespace is removed (IE can't handle it)
+ data = jQuery.trim( data );
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
@@ -619,6 +627,7 @@ jQuery.extend({
for ( var l = second.length; j < l; j++ ) {
first[ i++ ] = second[ j ];
}
+
} else {
while ( second[j] !== undefined ) {
first[ i++ ] = second[ j++ ];
@@ -807,7 +816,7 @@ function access( elems, key, value, exec, fn, pass ) {
}
// Getting an attribute
- return length ? fn( elems[0], key ) : null;
+ return length ? fn( elems[0], key ) : undefined;
}
function now() {
@@ -871,7 +880,10 @@ function now() {
// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
optSelected: document.createElement("select").appendChild( document.createElement("option") ).selected,
+ parentNode: div.removeChild( div.appendChild( document.createElement("div") ) ).parentNode === null,
+
// Will be defined later
+ deleteExpando: true,
checkClone: false,
scriptEval: false,
noCloneEvent: true,
@@ -893,6 +905,15 @@ function now() {
delete window[ id ];
}
+ // Test to see if it's possible to delete an expando from an element
+ // Fails in Internet Explorer
+ try {
+ delete script.test;
+
+ } catch(e) {
+ jQuery.support.deleteExpando = false;
+ }
+
root.removeChild( script );
if ( div.attachEvent && div.fireEvent ) {
@@ -923,6 +944,7 @@ function now() {
document.body.appendChild( div );
jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
document.body.removeChild( div ).style.display = 'none';
+
div = null;
});
@@ -962,7 +984,6 @@ jQuery.props = {
frameborder: "frameBorder"
};
var expando = "jQuery" + now(), uuid = 0, windowData = {};
-var emptyObject = {};
jQuery.extend({
cache: {},
@@ -988,8 +1009,7 @@ jQuery.extend({
var id = elem[ expando ], cache = jQuery.cache, thisCache;
- // Handle the case where there's no name immediately
- if ( !name && !id ) {
+ if ( !id && typeof name === "string" && data === undefined ) {
return null;
}
@@ -1003,17 +1023,16 @@ jQuery.extend({
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 {
- thisCache = cache[ id ] = {};
+
+ } else if ( !cache[ id ] ) {
+ elem[ expando ] = id;
+ cache[ id ] = {};
}
+ thisCache = cache[ id ];
+
// Prevent overriding the named cache with undefined values
if ( data !== undefined ) {
- elem[ expando ] = id;
thisCache[ name ] = data;
}
@@ -1045,15 +1064,11 @@ jQuery.extend({
// 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 );
- }
+ if ( jQuery.support.deleteExpando ) {
+ delete elem[ jQuery.expando ];
+
+ } else if ( elem.removeAttribute ) {
+ elem.removeAttribute( jQuery.expando );
}
// Completely remove the data cache
@@ -1230,12 +1245,13 @@ jQuery.fn.extend({
elem.className = value;
} else {
- var className = " " + elem.className + " ";
+ var className = " " + elem.className + " ", setClass = elem.className;
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
- elem.className += " " + classNames[c];
+ setClass += " " + classNames[c];
}
}
+ elem.className = jQuery.trim( setClass );
}
}
}
@@ -1264,7 +1280,7 @@ jQuery.fn.extend({
for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
className = className.replace(" " + classNames[c] + " ", " ");
}
- elem.className = className.substring(1, className.length - 1);
+ elem.className = jQuery.trim( className );
} else {
elem.className = "";
@@ -1520,15 +1536,16 @@ jQuery.extend({
}
// elem is actually elem.style ... set the style
- // Using attr for specific style information is now deprecated. Use style insead.
+ // Using attr for specific style information is now deprecated. Use style instead.
return jQuery.style( elem, name, value );
}
});
-var fcleanup = function( nm ) {
- return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {
- return "\\" + ch;
- });
-};
+var rnamespaces = /\.(.*)$/,
+ fcleanup = function( nm ) {
+ return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {
+ return "\\" + ch;
+ });
+ };
/*
* A number of helper functions used for managing events.
@@ -1550,107 +1567,104 @@ jQuery.event = {
elem = window;
}
+ var handleObjIn, handleObj;
+
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ }
+
// Make sure that the function being executed has a unique ID
if ( !handler.guid ) {
handler.guid = jQuery.guid++;
}
- // if data is passed, bind to handler
- if ( data !== undefined ) {
- // Create temporary function pointer to original handler
- var fn = handler;
-
- // Create unique handler function, wrapped around original handler
- handler = jQuery.proxy( fn );
+ // Init the element's event structure
+ var elemData = jQuery.data( elem );
- // Store data in unique handler
- handler.data = data;
+ // If no elemData is found then we must be trying to bind to one of the
+ // banned noData elements
+ if ( !elemData ) {
+ return;
}
- // Init the element's event structure
- var events = jQuery.data( elem, "events" ) || jQuery.data( elem, "events", {} ),
- handle = jQuery.data( elem, "handle" ), eventHandle;
+ var events = elemData.events = elemData.events || {},
+ eventHandle = elemData.handle, eventHandle;
- if ( !handle ) {
- eventHandle = function() {
+ if ( !eventHandle ) {
+ elemData.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 );
- }
-
- // If no handle is found then we must be trying to bind to one of the
- // banned noData elements
- if ( !handle ) {
- return;
}
// 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;
+ // This is to prevent a memory leak with non-native events in IE.
+ eventHandle.elem = elem;
// Handle multiple events separated by a space
// jQuery(...).bind("mouseover mouseout", fn);
- types = types.split( /\s+/ );
+ types = types.split(" ");
- var type, i = 0;
+ var type, i = 0, namespaces;
while ( (type = types[ i++ ]) ) {
- // Namespaced event handlers
- var namespaces = type.split(".");
- type = namespaces.shift();
+ handleObj = handleObjIn ?
+ jQuery.extend({}, handleObjIn) :
+ { handler: handler, data: data };
- if ( i > 1 ) {
- handler = jQuery.proxy( handler );
+ // Namespaced event handlers
+ if ( type.indexOf(".") > -1 ) {
+ namespaces = type.split(".");
+ type = namespaces.shift();
+ handleObj.namespace = namespaces.slice(0).sort().join(".");
- if ( data !== undefined ) {
- handler.data = data;
- }
+ } else {
+ namespaces = [];
+ handleObj.namespace = "";
}
- handler.type = namespaces.slice(0).sort().join(".");
+ handleObj.type = type;
+ handleObj.guid = handler.guid;
// Get the current list of functions bound to this event
var handlers = events[ type ],
- special = this.special[ type ] || {};
+ special = jQuery.event.special[ type ] || {};
// Init the event handler queue
if ( !handlers ) {
- handlers = events[ type ] = {};
+ 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 ) {
+ if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
// Bind the global event handler to the element
if ( elem.addEventListener ) {
- elem.addEventListener( type, handle, false );
+ elem.addEventListener( type, eventHandle, false );
+
} else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, handle );
+ elem.attachEvent( "on" + type, eventHandle );
}
}
}
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;
- }
- }
-
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
// Add the function to the element's handler list
- handlers[ handler.guid ] = handler;
+ handlers.push( handleObj );
// Keep track of which events have been used, for global triggering
- this.global[ type ] = true;
+ jQuery.event.global[ type ] = true;
}
// Nullify elem to prevent memory leaks in IE
@@ -1660,90 +1674,121 @@ jQuery.event = {
global: {},
// Detach an event or set of events from an element
- remove: function( elem, types, handler ) {
+ remove: function( elem, types, handler, pos ) {
// 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;
+ var ret, type, fn, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType,
+ elemData = jQuery.data( elem ),
+ events = elemData && elemData.events;
- 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;
+ if ( !elemData || !events ) {
+ return;
+ }
+
+ // types is actually an event object here
+ if ( types && types.type ) {
+ handler = types.handler;
+ types = types.type;
+ }
+
+ // Unbind all events for the element
+ if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
+ types = types || "";
+
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types );
+ }
+
+ return;
+ }
+
+ // Handle multiple events separated by a space
+ // jQuery(...).unbind("mouseover mouseout", fn);
+ types = types.split(" ");
+
+ while ( (type = types[ i++ ]) ) {
+ origType = type;
+ handleObj = null;
+ all = type.indexOf(".") < 0;
+ namespaces = [];
+
+ if ( !all ) {
+ // Namespaced event handlers
+ namespaces = type.split(".");
+ type = namespaces.shift();
+
+ namespace = new RegExp("(^|\\.)" +
+ jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)")
+ }
+
+ eventType = events[ type ];
+
+ if ( !eventType ) {
+ continue;
+ }
+
+ if ( !handler ) {
+ for ( var j = 0; j < eventType.length; j++ ) {
+ handleObj = eventType[ j ];
+
+ if ( all || namespace.test( handleObj.namespace ) ) {
+ jQuery.event.remove( elem, origType, handleObj.handler, j );
+ eventType.splice( j--, 1 );
+ }
}
- // 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 ];
- }
- }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+
+ for ( var j = pos || 0; j < eventType.length; j++ ) {
+ handleObj = eventType[ j ];
+
+ if ( handler.guid === handleObj.guid ) {
+ // remove the given handler for the given type
+ if ( all || namespace.test( handleObj.namespace ) ) {
+ if ( pos == null ) {
+ eventType.splice( j--, 1 );
}
if ( special.remove ) {
- special.remove.call( elem, namespaces, fn);
+ special.remove.call( elem, handleObj );
}
+ }
- // 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 ];
- }
+ if ( pos != null ) {
+ break;
}
}
}
- // 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;
+ // remove generic event handler if no more handlers exist
+ if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
+ if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) {
+ removeEvent( elem, type, elemData.handle );
}
- jQuery.removeData( elem, "events" );
- jQuery.removeData( elem, "handle" );
+
+ ret = null;
+ delete events[ type ];
+ }
+ }
+
+ // Remove the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ var handle = elemData.handle;
+ if ( handle ) {
+ handle.elem = null;
+ }
+
+ delete elemData.events;
+ delete elemData.handle;
+
+ if ( jQuery.isEmptyObject( elemData ) ) {
+ jQuery.removeData( elem );
}
}
},
@@ -1774,7 +1819,7 @@ jQuery.event = {
event.stopPropagation();
// Only trigger if we've ever bound an event for it
- if ( this.global[ type ] ) {
+ if ( jQuery.event.global[ type ] ) {
jQuery.each( jQuery.cache, function() {
if ( this.events && this.events[type] ) {
jQuery.event.trigger( event, data, this.handle.elem );
@@ -1825,9 +1870,12 @@ jQuery.event = {
} else if ( !event.isDefaultPrevented() ) {
var target = event.target, old,
- isClick = jQuery.nodeName(target, "a") && type === "click";
+ isClick = jQuery.nodeName(target, "a") && type === "click",
+ special = jQuery.event.special[ type ] || {};
+
+ if ( (!special._default || special._default.call( elem, event ) === false) &&
+ !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
- 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
@@ -1837,7 +1885,7 @@ jQuery.event = {
target[ "on" + type ] = null;
}
- this.triggered = true;
+ jQuery.event.triggered = true;
target[ type ]();
}
@@ -1848,53 +1896,57 @@ jQuery.event = {
target[ "on" + type ] = old;
}
- this.triggered = false;
+ jQuery.event.triggered = false;
}
}
},
handle: function( event ) {
- // returned undefined or false
- var all, handlers;
+ var all, handlers, namespaces, namespace, events;
event = arguments[0] = jQuery.event.fix( event || window.event );
event.currentTarget = this;
// Namespaced event handlers
- var namespaces = event.type.split(".");
- event.type = namespaces.shift();
+ all = event.type.indexOf(".") < 0 && !event.exclusive;
- // Cache this now, all = true means, any handler
- all = !namespaces.length && !event.exclusive;
-
- var namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
+ if ( !all ) {
+ namespaces = event.type.split(".");
+ event.type = namespaces.shift();
+ namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
+ }
- handlers = ( jQuery.data(this, "events") || {} )[ event.type ];
+ var events = jQuery.data(this, "events"), handlers = events[ event.type ];
- for ( var j in handlers ) {
- var handler = handlers[ j ];
+ if ( events && handlers ) {
+ // Clone the handlers to prevent manipulation
+ handlers = handlers.slice(0);
- // 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;
+ for ( var j = 0, l = handlers.length; j < l; j++ ) {
+ var handleObj = handlers[ j ];
- var ret = handler.apply( this, arguments );
+ // Filter the functions by class
+ if ( all || namespace.test( handleObj.namespace ) ) {
+ // Pass in a reference to the handler function itself
+ // So that we can later remove it
+ event.handler = handleObj.handler;
+ event.data = handleObj.data;
+ event.handleObj = handleObj;
+
+ var ret = handleObj.handler.apply( this, arguments );
- if ( ret !== undefined ) {
- event.result = ret;
- if ( ret === false ) {
- event.preventDefault();
- event.stopPropagation();
+ if ( ret !== undefined ) {
+ event.result = ret;
+ if ( ret === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
}
- }
- if ( event.isImmediatePropagationStopped() ) {
- break;
+ if ( event.isImmediatePropagationStopped() ) {
+ break;
+ }
}
-
}
}
@@ -1973,44 +2025,39 @@ jQuery.event = {
},
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 );
-
+ add: function( handleObj ) {
+ jQuery.event.add( this, handleObj.origType, jQuery.extend({}, handleObj, {handler: liveHandler}) );
},
- 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 );
+ remove: function( handleObj ) {
+ var remove = true,
+ type = handleObj.origType.replace(rnamespaces, "");
+
+ jQuery.each( jQuery.data(this, "events").live || [], function() {
+ if ( type === this.origType.replace(rnamespaces, "") ) {
+ remove = false;
+ return false;
}
+ });
+
+ if ( remove ) {
+ jQuery.event.remove( this, handleObj.origType, liveHandler );
}
- },
- special: {}
+ }
+
},
+
beforeunload: {
- setup: function( data, namespaces, fn ) {
+ setup: function( data, namespaces, eventHandle ) {
// We only want to do this special case on windows
if ( this.setInterval ) {
- this.onbeforeunload = fn;
+ this.onbeforeunload = eventHandle;
}
return false;
},
- teardown: function( namespaces, fn ) {
- if ( this.onbeforeunload === fn ) {
+ teardown: function( namespaces, eventHandle ) {
+ if ( this.onbeforeunload === eventHandle ) {
this.onbeforeunload = null;
}
}
@@ -2018,6 +2065,14 @@ jQuery.event = {
}
};
+var removeEvent = document.removeEventListener ?
+ function( elem, type, handle ) {
+ elem.removeEventListener( type, handle, false );
+ } :
+ function( elem, type, handle ) {
+ elem.detachEvent( "on" + type, handle );
+ };
+
jQuery.Event = function( src ) {
// Allow instantiation without the 'new' keyword
if ( !this.preventDefault ) {
@@ -2095,27 +2150,24 @@ 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 {
+ // Firefox sometimes assigns relatedTarget a XUL element
+ // which we cannot access the parentNode property of
+ try {
+ // Traverse up the tree
+ while ( parent && parent !== this ) {
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;
+ 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 );
- }
+ // handle event if we actually just moused on to a non sub-element
+ jQuery.event.handle.apply( this, arguments );
+ }
+ // assuming we've left the element since we most likely mousedover a xul element
+ } catch(e) { }
},
// In case of event delegation, we only need to rename the event.type,
@@ -2143,64 +2195,65 @@ jQuery.each({
// submit delegation
if ( !jQuery.support.submitBubbles ) {
-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;
+ jQuery.event.special.submit = {
+ setup: function( data, namespaces ) {
+ if ( this.nodeName.toLowerCase() !== "form" ) {
+ jQuery.event.add(this, "click.specialSubmit", function( e ) {
+ var elem = e.target, type = elem.type;
- if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) {
- return trigger( "submit", this, arguments );
- }
- });
+ 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;
+ jQuery.event.add(this, "keypress.specialSubmit", 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 );
- }
- });
+ if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) {
+ return trigger( "submit", this, arguments );
+ }
+ });
- } else {
- return false;
- }
- },
+ } else {
+ return false;
+ }
+ },
- remove: function( namespaces, fn ) {
- jQuery.event.remove( this, "click.specialSubmit" + (fn ? "."+fn.guid : "") );
- jQuery.event.remove( this, "keypress.specialSubmit" + (fn ? "."+fn.guid : "") );
- }
-};
+ teardown: function( namespaces ) {
+ jQuery.event.remove( this, ".specialSubmit" );
+ }
+ };
}
// change delegation, happens here so we have bind.
if ( !jQuery.support.changeBubbles ) {
-var formElems = /textarea|input|select/i;
+ var formElems = /textarea|input|select/i,
-function getVal( elem ) {
- var type = elem.type, val = elem.value;
+ changeFilters,
- if ( type === "radio" || type === "checkbox" ) {
- val = elem.checked;
+ getVal = function( elem ) {
+ var type = elem.type, val = elem.value;
- } else if ( type === "select-multiple" ) {
- val = elem.selectedIndex > -1 ?
- jQuery.map( elem.options, function( elem ) {
- return elem.selected;
- }).join("-") :
- "";
+ if ( type === "radio" || type === "checkbox" ) {
+ val = elem.checked;
- } else if ( elem.nodeName.toLowerCase() === "select" ) {
- val = elem.selectedIndex;
- }
+ } else if ( type === "select-multiple" ) {
+ val = elem.selectedIndex > -1 ?
+ jQuery.map( elem.options, function( elem ) {
+ return elem.selected;
+ }).join("-") :
+ "";
- return val;
-}
+ } else if ( elem.nodeName.toLowerCase() === "select" ) {
+ val = elem.selectedIndex;
+ }
+
+ return val;
+ },
-function testChange( e ) {
+ testChange = function testChange( e ) {
var elem = e.target, data, val;
if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {
@@ -2223,61 +2276,61 @@ function testChange( e ) {
e.type = "change";
return jQuery.event.trigger( e, arguments[1], elem );
}
-}
+ };
-jQuery.event.special.change = {
- filters: {
- focusout: testChange,
+ jQuery.event.special.change = {
+ filters: {
+ focusout: testChange,
- click: function( e ) {
- var elem = e.target, type = elem.type;
+ click: function( e ) {
+ var elem = e.target, type = elem.type;
- if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) {
- return testChange.call( this, e );
- }
- },
+ 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;
- // 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 );
+ }
+ },
- 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;
+ jQuery.data( elem, "_change_data", getVal(elem) );
}
},
- // 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;
+ setup: function( data, namespaces ) {
+ if ( this.type === "file" ) {
+ return false;
+ }
- if ( elem.nodeName.toLowerCase() === "input" && elem.type === "radio" ) {
- jQuery.data( elem, "_change_data", getVal(elem) );
+ for ( var type in changeFilters ) {
+ jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
}
- }
- },
- setup: function( data, namespaces, fn ) {
- for ( var type in changeFilters ) {
- jQuery.event.add( this, type + ".specialChange." + fn.guid, changeFilters[type] );
- }
- 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] );
- }
+ return formElems.test( this.nodeName );
+ },
- return formElems.test( this.nodeName );
- }
-};
+ teardown: function( namespaces ) {
+ jQuery.event.remove( this, ".specialChange" );
-var changeFilters = jQuery.event.special.change.filters;
+ return formElems.test( this.nodeName );
+ }
+ };
+ changeFilters = jQuery.event.special.change.filters;
}
function trigger( type, elem, args ) {
@@ -2325,11 +2378,16 @@ jQuery.each(["bind", "one"], function( i, name ) {
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 ( type === "unload" && name !== "one" ) {
+ this.one( type, data, fn );
+
+ } else {
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ jQuery.event.add( this[i], type, handler, data );
+ }
+ }
+
+ return this;
};
});
@@ -2340,13 +2398,29 @@ jQuery.fn.extend({
for ( var key in type ) {
this.unbind(key, type[key]);
}
- return this;
+
+ } else {
+ for ( var i = 0, l = this.length; i < l; i++ ) {
+ jQuery.event.remove( this[i], type, fn );
+ }
}
- return this.each(function() {
- jQuery.event.remove( this, type, fn );
- });
+ return this;
+ },
+
+ delegate: function( selector, types, data, fn ) {
+ return this.live( types, data, fn, selector );
+ },
+
+ undelegate: function( selector, types, fn ) {
+ if ( arguments.length === 0 ) {
+ return this.unbind( "live" );
+
+ } else {
+ return this.die( types, null, fn, selector );
+ }
},
+
trigger: function( type, data ) {
return this.each(function() {
jQuery.event.trigger( type, data, this );
@@ -2390,32 +2464,60 @@ jQuery.fn.extend({
}
});
+var liveMap = {
+ focus: "focusin",
+ blur: "focusout",
+ mouseenter: "mouseover",
+ mouseleave: "mouseout"
+};
+
jQuery.each(["live", "die"], function( i, name ) {
- jQuery.fn[ name ] = function( types, data, fn ) {
- var type, i = 0;
+ jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) {
+ var type, i = 0, match, namespaces, preType,
+ selector = origSelector || this.selector,
+ context = origSelector ? this : jQuery( this.context );
if ( jQuery.isFunction( data ) ) {
fn = data;
data = undefined;
}
- types = (types || "").split( /\s+/ );
+ types = (types || "").split(" ");
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;
-
+ match = rnamespaces.exec( type );
+ namespaces = "";
+
+ if ( match ) {
+ namespaces = match[0];
+ type = type.replace( rnamespaces, "" );
+ }
+
+ if ( type === "hover" ) {
+ types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
+ continue;
+ }
+
+ preType = type;
+
+ if ( type === "focus" || type === "blur" ) {
+ types.push( liveMap[ type ] + namespaces );
+ type = type + namespaces;
+
+ } else {
+ type = (liveMap[ type ] || type) + namespaces;
+ }
+
if ( name === "live" ) {
// bind live handler
- jQuery( this.context ).bind( liveConvert( type, this.selector ), {
- data: data, selector: this.selector, live: type
- }, fn );
+ context.each(function(){
+ jQuery.event.add( this, liveConvert( type, selector ),
+ { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } );
+ });
} else {
// unbind live handler
- jQuery( this.context ).unbind( liveConvert( type, this.selector ), fn ? { guid: fn.guid + this.selector + type } : null );
+ context.unbind( liveConvert( type, selector ), fn );
}
}
@@ -2425,45 +2527,46 @@ jQuery.each(["live", "die"], function( i, name ) {
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);
+ related, match, handleObj, elem, j, i, l, data,
+ events = jQuery.data( this, "events" );
// Make sure we avoid non-left-click bubbling in Firefox (#3861)
- if ( event.button && event.type === "click" ) {
+ if ( event.liveFired === this || !events || !events.live || 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 ) {
+ event.liveFired = this;
+
+ var live = events.live.slice(0);
+
+ for ( j = 0; j < live.length; j++ ) {
+ handleObj = live[j];
+
+ if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
+ selectors.push( handleObj.selector );
- data = fn.data;
- if ( !(data.beforeFilter && data.beforeFilter[event.type] &&
- !data.beforeFilter[event.type](event)) ) {
- selectors.push( fn.selector );
- }
} else {
- delete live[j];
+ live.splice( j--, 1 );
}
}
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;
+ for ( j = 0; j < live.length; j++ ) {
+ handleObj = live[j];
+
+ if ( match[i].selector === handleObj.selector ) {
+ 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 ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) {
+ related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
}
if ( !related || related !== elem ) {
- elems.push({ elem: elem, fn: fn });
+ elems.push({ elem: elem, handleObj: handleObj });
}
}
}
@@ -2472,8 +2575,10 @@ function liveHandler( event ) {
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 ) {
+ event.data = match.handleObj.data;
+ event.handleObj = match.handleObj;
+
+ if ( match.handleObj.origHandler.apply( match.elem, args ) === false ) {
stop = false;
break;
}
@@ -2483,7 +2588,7 @@ function liveHandler( event ) {
}
function liveConvert( type, selector ) {
- return "live." + (type ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&");
+ return "live." + (type && type !== "*" ? type + "." : "") + selector.replace(/\./g, "`").replace(/ /g, "&");
}
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
@@ -3228,8 +3333,10 @@ 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.
+// Also verifies that the returned array holds DOM nodes
+// (which is not the case in the Blackberry browser)
try {
- Array.prototype.slice.call( document.documentElement.childNodes, 0 );
+ Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType;
// Provide a fallback method if it does not work
} catch(e){
@@ -3533,7 +3640,7 @@ function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
}
var contains = document.compareDocumentPosition ? function(a, b){
- return a.compareDocumentPosition(b) & 16;
+ return !!(a.compareDocumentPosition(b) & 16);
} : function(a, b){
return a !== b && (a.contains ? a.contains(b) : true);
};
@@ -3570,7 +3677,7 @@ jQuery.find = Sizzle;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.filters;
jQuery.unique = Sizzle.uniqueSort;
-jQuery.getText = getText;
+jQuery.text = getText;
jQuery.isXMLDoc = isXML;
jQuery.contains = contains;
@@ -3856,7 +3963,8 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
rselfClosing = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
rtagName = /<([\w:]+)/,
rtbody = /<tbody/i,
- rhtml = /<|&\w+;/,
+ rhtml = /<|&#?\w+;/,
+ rnocache = /<script|<object|<embed|<option|<style/i,
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, // checked="checked" or checked (html5)
fcloseTag = function( all, front, tag ) {
return rselfClosing.test( tag ) ?
@@ -3896,7 +4004,7 @@ jQuery.fn.extend({
return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
}
- return jQuery.getText( this );
+ return jQuery.text( this );
},
wrapAll: function( html ) {
@@ -4000,6 +4108,40 @@ jQuery.fn.extend({
return set;
}
},
+
+ // keepData is for internal use only--do not document
+ remove: function( selector, keepData ) {
+ for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
+ if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {
+ if ( !keepData && elem.nodeType === 1 ) {
+ jQuery.cleanData( elem.getElementsByTagName("*") );
+ jQuery.cleanData( [ elem ] );
+ }
+
+ if ( elem.parentNode ) {
+ elem.parentNode.removeChild( elem );
+ }
+ }
+ }
+
+ return this;
+ },
+
+ empty: function() {
+ for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( elem.getElementsByTagName("*") );
+ }
+
+ // Remove any remaining nodes
+ while ( elem.firstChild ) {
+ elem.removeChild( elem.firstChild );
+ }
+ }
+
+ return this;
+ },
clone: function( events ) {
// Do the clone
@@ -4021,6 +4163,8 @@ jQuery.fn.extend({
}
return jQuery.clean([html.replace(rinlinejQuery, "")
+ // Handle the case in IE 8 where action=/test/> self-closes a tag
+ .replace(/=([^="'>\s]+\/)>/g, '="$1">')
.replace(rleadingWhitespace, "")], ownerDocument)[0];
} else {
return this.cloneNode(true);
@@ -4044,7 +4188,7 @@ jQuery.fn.extend({
null;
// See if we can take a shortcut and just use innerHTML
- } else if ( typeof value === "string" && !/<script/i.test( value ) &&
+ } else if ( typeof value === "string" && !rnocache.test( value ) &&
(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value )) &&
!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {
@@ -4083,16 +4227,17 @@ jQuery.fn.extend({
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();
-
- } else {
+ if ( jQuery.isFunction( value ) ) {
return this.each(function(i) {
var self = jQuery(this), old = self.html();
self.replaceWith( value.call( this, i, old ) );
});
}
+ if ( typeof value !== "string" ) {
+ value = jQuery(value).detach();
+ }
+
return this.each(function() {
var next = this.nextSibling, parent = this.parentNode;
@@ -4114,7 +4259,7 @@ jQuery.fn.extend({
},
domManip: function( args, table, callback ) {
- var results, first, value = args[0], scripts = [];
+ var results, first, value = args[0], scripts = [], fragment, parent;
// We can't cloneNode fragments that contain checked, in WebKit
if ( !jQuery.support.checkClone && arguments.length === 3 && typeof value === "string" && rchecked.test( value ) ) {
@@ -4132,14 +4277,23 @@ jQuery.fn.extend({
}
if ( this[0] ) {
+ parent = value && value.parentNode;
+
// 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 };
+ if ( jQuery.support.parentNode && parent && parent.nodeType === 11 && parent.childNodes.length === this.length ) {
+ results = { fragment: parent };
+
} else {
results = buildFragment( args, this, scripts );
}
-
- first = results.fragment.firstChild;
+
+ fragment = results.fragment;
+
+ if ( fragment.childNodes.length === 1 ) {
+ first = fragment = fragment.firstChild;
+ } else {
+ first = fragment.firstChild;
+ }
if ( first ) {
table = table && jQuery.nodeName( first, "tr" );
@@ -4149,14 +4303,14 @@ jQuery.fn.extend({
table ?
root(this[i], first) :
this[i],
- results.cacheable || this.length > 1 || i > 0 ?
- results.fragment.cloneNode(true) :
- results.fragment
+ i > 0 || results.cacheable || this.length > 1 ?
+ fragment.cloneNode(true) :
+ fragment
);
}
}
- if ( scripts ) {
+ if ( scripts.length ) {
jQuery.each( scripts, evalScript );
}
}
@@ -4196,10 +4350,16 @@ function cloneCopyEvent(orig, ret) {
}
function buildFragment( args, nodes, scripts ) {
- var fragment, cacheable, cacheresults, doc;
+ var fragment, cacheable, cacheresults,
+ doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document);
+
+ // Only cache "small" (1/2 KB) strings that are associated with the main document
+ // Cloning options loses the selected state, so don't cache them
+ // IE 6 doesn't like it when you put <object> or <embed> elements in a fragment
+ // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache
+ if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && doc === document &&
+ !rnocache.test( args[0] ) && (jQuery.support.checkClone || !rchecked.test( args[0] )) ) {
- // 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 ) {
@@ -4210,7 +4370,6 @@ function buildFragment( args, nodes, scripts ) {
}
if ( !fragment ) {
- doc = (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : document);
fragment = doc.createDocumentFragment();
jQuery.clean( args, doc, fragment, scripts );
}
@@ -4232,46 +4391,22 @@ jQuery.each({
replaceAll: "replaceWith"
}, function( name, original ) {
jQuery.fn[ name ] = function( selector ) {
- var ret = [], insert = jQuery( selector );
-
- 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.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 ] );
- }
-
- if ( this.parentNode ) {
- this.parentNode.removeChild( this );
+ var ret = [], insert = jQuery( selector ),
+ parent = this.length === 1 && this[0].parentNode;
+
+ if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
+ insert[ original ]( this[0] );
+ return this;
+
+ } else {
+ 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 );
}
- },
-
- empty: function() {
- // Remove element nodes and prevent memory leaks
- if ( this.nodeType === 1 ) {
- jQuery.cleanData( this.getElementsByTagName("*") );
- }
-
- // Remove any remaining nodes
- while ( this.firstChild ) {
- this.removeChild( this.firstChild );
- }
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function() {
- return this.each( fn, arguments );
};
});
@@ -4286,13 +4421,13 @@ jQuery.extend({
var ret = [];
- jQuery.each(elems, function( i, elem ) {
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
if ( typeof elem === "number" ) {
elem += "";
}
if ( !elem ) {
- return;
+ continue;
}
// Convert html string into DOM nodes
@@ -4343,7 +4478,7 @@ jQuery.extend({
div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );
}
- elem = jQuery.makeArray( div.childNodes );
+ elem = div.childNodes;
}
if ( elem.nodeType ) {
@@ -4351,13 +4486,13 @@ jQuery.extend({
} 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"))) );
@@ -4371,9 +4506,36 @@ jQuery.extend({
},
cleanData: function( elems ) {
- for ( var i = 0, elem, id; (elem = elems[i]) != null; i++ ) {
- jQuery.event.remove( elem );
- jQuery.removeData( elem );
+ var data, id, cache = jQuery.cache,
+ special = jQuery.event.special,
+ deleteExpando = jQuery.support.deleteExpando;
+
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+ id = elem[ jQuery.expando ];
+
+ if ( id ) {
+ data = cache[ id ];
+
+ if ( data.events ) {
+ for ( var type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ } else {
+ removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ if ( deleteExpando ) {
+ delete elem[ jQuery.expando ];
+
+ } else if ( elem.removeAttribute ) {
+ elem.removeAttribute( jQuery.expando );
+ }
+
+ delete cache[ id ];
+ }
}
}
});
@@ -4614,15 +4776,15 @@ var jsc = now(),
rquery = /\?/,
rts = /(\?|&)_=.*?(&|$)/,
rurl = /^(\w+:)?\/\/([^\/?#]+)/,
- r20 = /%20/g;
+ r20 = /%20/g,
-jQuery.fn.extend({
- // Keep a copy of the old load
- _load: jQuery.fn.load,
+ // Keep a copy of the old load method
+ _load = jQuery.fn.load;
+jQuery.fn.extend({
load: function( url, params, callback ) {
if ( typeof url !== "string" ) {
- return this._load( url );
+ return _load.call( this, url );
// Don't do a request if no elements are being requested
} else if ( !this.length ) {
@@ -5243,7 +5405,7 @@ jQuery.extend({
if ( jQuery.isArray(obj) ) {
// Serialize array item.
jQuery.each( obj, function( i, v ) {
- if ( traditional ) {
+ if ( traditional || /\[\]$/.test( prefix ) ) {
// Treat each array item as a scalar.
add( prefix, v );
} else {
diff --git a/js/jquery.min.js b/js/jquery.min.js
index 950198f47..b170a78f8 100644
--- a/js/jquery.min.js
+++ b/js/jquery.min.js
@@ -1,5 +1,5 @@
/*!
- * jQuery JavaScript Library v1.4.1
+ * jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
@@ -11,143 +11,145 @@
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
- * Date: Mon Jan 25 19:43:33 2010 -0500
+ * Date: Sat Feb 13 22:33:48 2010 -0500
*/
-(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);
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(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,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
+e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
+j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
+"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(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 j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
+true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(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)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=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(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.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(R.apply(this,arguments),"slice",R.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,j,i,o;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(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
+c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
+L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},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===w||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;a=c.trim(a);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 A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.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,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
+d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},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]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,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=w}else if(b&&
+!c.isFunction(b)){d=b;b=w}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:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
+true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.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("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=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(),Ya=0,za={};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==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za: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{if(c.support.deleteExpando)delete a[c.expando];
+else a.removeAttribute&&a.removeAttribute(c.expando);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===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&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===
+w)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 Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
+cb=/^(a|area)$/i,Ba=/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(n){var r=c(this);r.addClass(a.call(this,n,r.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 j=" "+e.className+" ",
+i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)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 j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
+" ");e.className=c.trim(j)}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 j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"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(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){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 j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
+e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
+c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});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 w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.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:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;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&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=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!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
+null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},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();c.event.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 w;a.result=w;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(j){}if(!a.isPropagationStopped()&&
+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){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||s;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=s.documentElement;d=s.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!==w)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){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
+"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},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}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};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 Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=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?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
+{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
+if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(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},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.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 fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.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 j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
+!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},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)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
+u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}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});A.attachEvent&&!A.addEventListener&&A.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="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
+if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
+e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
+t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
+g);if(j.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])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
+for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
+1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.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 l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
+l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
+h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)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,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
+g);return false}else if(n.match.POS.test(g[0])||n.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,l){return!!k(l[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,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
+h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
+m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=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 l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
+"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
+h){return"\\"+(h-0+1)}))}var z=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(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
+!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
+h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
+q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
+if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
+(function(){var g=s.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){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
+function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
+gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,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(Ua.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 j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,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(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(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,j=
+{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.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(qa(a[0])||qa(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);eb.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||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.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===w||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 Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.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!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(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}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
+return this},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(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
+""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);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 j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):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))});if(typeof a!=="string")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(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
+u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
+1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}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);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
+return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
+""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
+c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
+c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
+function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.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 w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;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=
+Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,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?i():c.swap(a,ob,i);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=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$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(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=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=j}}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 sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
+"string")return zb.call(this,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 j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});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||ub.test(this.nodeName)||vb.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:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.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(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,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),j,i,o,k=a&&a.context||e,n=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(n==="GET")N.test(e.url)||(e.url+=(ka.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))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
+false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
+false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
+c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
+d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
+g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},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(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
+if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["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(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[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 j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
+j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});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(j){return e.step(j)}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 s.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(r){c.offset.setOffset(this,a,r)});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,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
+k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
+f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=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!==j;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(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
+d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"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||s.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],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
+"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.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(j){var i=c(this);i[d](f.call(this,j,i[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===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
diff --git a/js/util.js b/js/util.js
index 4b6c39a1d..3efda0d7b 100644
--- a/js/util.js
+++ b/js/util.js
@@ -53,7 +53,7 @@ var SN = { // StatusNet
NoticeLocationNs: 'notice_data-location_ns',
NoticeGeoName: 'notice_data-geo_name',
NoticeDataGeo: 'notice_data-geo',
- NoticeDataGeoCookie: 'notice_data-geo_cookie',
+ NoticeDataGeoCookie: 'NoticeDataGeo',
NoticeDataGeoSelected: 'notice_data-geo_selected',
StatusNetInstance:'StatusNetInstance'
}
@@ -320,18 +320,12 @@ var SN = { // StatusNet
}
},
- NoticeReplyTo: function(notice_item) {
- var notice = notice_item[0];
- var notice_reply = $('.notice_reply', notice)[0];
-
- if (jQuery.data(notice_reply, "ElementData") === undefined) {
- jQuery.data(notice_reply, "ElementData", {Bind:'submit'});
- $(notice_reply).bind('click', function() {
- var nickname = ($('.author .nickname', notice).length > 0) ? $($('.author .nickname', notice)[0]) : $('.author .nickname.uid');
- SN.U.NoticeReplySet(nickname.text(), $($('.notice_id', notice)[0]).text());
- return false;
- });
- }
+ NoticeReplyTo: function(notice) {
+ notice.find('.notice_reply').live('click', function() {
+ var nickname = ($('.author .nickname', notice).length > 0) ? $($('.author .nickname', notice)[0]) : $('.author .nickname.uid');
+ SN.U.NoticeReplySet(nickname.text(), $($('.notice_id', notice)[0]).text());
+ return false;
+ });
},
NoticeReplySet: function(nick,id) {
@@ -429,8 +423,11 @@ var SN = { // StatusNet
};
notice.find('a.attachment').click(function() {
- $().jOverlay({url: $('address .url')[0].href+'attachment/' + ($(this).attr('id').substring('attachment'.length + 1)) + '/ajax'});
- return false;
+ var attachId = ($(this).attr('id').substring('attachment'.length + 1));
+ if (attachId) {
+ $().jOverlay({url: $('address .url')[0].href+'attachment/' + attachId + '/ajax'});
+ return false;
+ }
});
if ($('#shownotice').length == 0) {
@@ -500,7 +497,7 @@ var SN = { // StatusNet
$('#'+SN.C.S.NoticeLocationId).val('');
$('#'+SN.C.S.NoticeDataGeo).attr('checked', false);
- $.cookie(SN.C.S.NoticeDataGeoCookie, 'disabled', { path: '/', expires: SN.U.GetFullYear(2029, 0, 1) });
+ $.cookie(SN.C.S.NoticeDataGeoCookie, 'disabled', { path: '/' });
}
function getJSONgeocodeURL(geocodeURL, data) {
@@ -543,7 +540,7 @@ var SN = { // StatusNet
NDG: true
};
- $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue), { path: '/', expires: SN.U.GetFullYear(2029, 0, 1) });
+ $.cookie(SN.C.S.NoticeDataGeoCookie, JSON.stringify(cookieValue), { path: '/' });
});
}
diff --git a/lib/action.php b/lib/action.php
index fa9ddb911..10394c789 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -420,56 +420,75 @@ class Action extends HTMLOutputter // lawsuit
function showPrimaryNav()
{
$user = common_current_user();
- $connect = '';
- if (common_config('xmpp', 'enabled')) {
- $connect = 'imsettings';
- } else if (common_config('sms', 'enabled')) {
- $connect = 'smssettings';
- } else if (common_config('twitter', 'enabled')) {
- $connect = 'twittersettings';
- }
-
$this->elementStart('dl', array('id' => 'site_nav_global_primary'));
$this->element('dt', null, _('Primary site navigation'));
$this->elementStart('dd');
$this->elementStart('ul', array('class' => 'nav'));
if (Event::handle('StartPrimaryNav', array($this))) {
if ($user) {
+ // TRANS: Tooltip for main menu option "Personal"
+ $tooltip = _m('TOOLTIP', 'Personal profile and friends timeline');
+ // TRANS: Main menu option when logged in for access to personal profile and friends timeline
$this->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
- _('Home'), _('Personal profile and friends timeline'), false, 'nav_home');
+ _m('MENU', 'Personal'), $tooltip, false, 'nav_home');
+ // TRANS: Tooltip for main menu option "Account"
+ $tooltip = _m('TOOLTIP', 'Change your email, avatar, password, profile');
+ // TRANS: Main menu option when logged in for access to user settings
$this->menuItem(common_local_url('profilesettings'),
- _('Account'), _('Change your email, avatar, password, profile'), false, 'nav_account');
- if ($connect) {
- $this->menuItem(common_local_url($connect),
- _('Connect'), _('Connect to services'), false, 'nav_connect');
- }
+ _('Account'), $tooltip, false, 'nav_account');
+ // TRANS: Tooltip for main menu option "Services"
+ $tooltip = _m('TOOLTIP', 'Connect to services');
+ // TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
+ $this->menuItem(common_local_url('oauthconnectionssettings'),
+ _('Connect'), $tooltip, false, 'nav_connect');
if ($user->hasRight(Right::CONFIGURESITE)) {
+ // TRANS: Tooltip for menu option "Admin"
+ $tooltip = _m('TOOLTIP', 'Change site configuration');
+ // TRANS: Main menu option when logged in and site admin for access to site configuration
$this->menuItem(common_local_url('siteadminpanel'),
- _('Admin'), _('Change site configuration'), false, 'nav_admin');
+ _m('MENU', 'Admin'), $tooltip, false, 'nav_admin');
}
if (common_config('invite', 'enabled')) {
+ // TRANS: Tooltip for main menu option "Invite"
+ $tooltip = _m('TOOLTIP', 'Invite friends and colleagues to join you on %s');
+ // TRANS: Main menu option when logged in and invitations are allowed for inviting new users
$this->menuItem(common_local_url('invite'),
- _('Invite'),
- sprintf(_('Invite friends and colleagues to join you on %s'),
+ _m('MENU', 'Invite'),
+ sprintf($tooltip,
common_config('site', 'name')),
false, 'nav_invitecontact');
}
+ // TRANS: Tooltip for main menu option "Logout"
+ $tooltip = _m('TOOLTIP', 'Logout from the site');
+ // TRANS: Main menu option when logged in to log out the current user
$this->menuItem(common_local_url('logout'),
- _('Logout'), _('Logout from the site'), false, 'nav_logout');
+ _m('MENU', 'Logout'), $tooltip, false, 'nav_logout');
}
else {
if (!common_config('site', 'closed')) {
+ // TRANS: Tooltip for main menu option "Register"
+ $tooltip = _m('TOOLTIP', 'Create an account');
+ // TRANS: Main menu option when not logged in to register a new account
$this->menuItem(common_local_url('register'),
- _('Register'), _('Create an account'), false, 'nav_register');
+ _m('MENU', 'Register'), $tooltip, false, 'nav_register');
}
+ // TRANS: Tooltip for main menu option "Login"
+ $tooltip = _m('TOOLTIP', 'Login to the site');
+ // TRANS: Main menu option when not logged in to log in
$this->menuItem(common_local_url('login'),
- _('Login'), _('Login to the site'), false, 'nav_login');
+ _m('MENU', 'Login'), $tooltip, false, 'nav_login');
}
+ // TRANS: Tooltip for main menu option "Help"
+ $tooltip = _m('TOOLTIP', 'Help me!');
+ // TRANS: Main menu option for help on the StatusNet site
$this->menuItem(common_local_url('doc', array('title' => 'help')),
- _('Help'), _('Help me!'), false, 'nav_help');
+ _m('MENU', 'Help'), $tooltip, false, 'nav_help');
if ($user || !common_config('site', 'private')) {
+ // TRANS: Tooltip for main menu option "Search"
+ $tooltip = _m('TOOLTIP', 'Search for people or text');
+ // TRANS: Main menu option when logged in or when the StatusNet instance is not private
$this->menuItem(common_local_url('peoplesearch'),
- _('Search'), _('Search for people or text'), false, 'nav_search');
+ _m('MENU', 'Search'), $tooltip, false, 'nav_search');
}
Event::handle('EndPrimaryNav', array($this));
}
@@ -490,6 +509,7 @@ class Action extends HTMLOutputter // lawsuit
if ($text) {
$this->elementStart('dl', array('id' => 'site_notice',
'class' => 'system_notice'));
+ // TRANS: DT element for site notice. String is hidden in default CSS.
$this->element('dt', null, _('Site notice'));
$this->elementStart('dd', null);
$this->raw($text);
@@ -976,7 +996,7 @@ class Action extends HTMLOutputter // lawsuit
if (is_null($arg)) {
return $def;
- } else if (in_array($arg, array('true', 'yes', '1'))) {
+ } else if (in_array($arg, array('true', 'yes', '1', 'on'))) {
return true;
} else if (in_array($arg, array('false', 'no', '0'))) {
return false;
diff --git a/lib/activity.php b/lib/activity.php
index 25727bf2b..2cb80f9e1 100644
--- a/lib/activity.php
+++ b/lib/activity.php
@@ -154,7 +154,15 @@ class PoCo
PoCo::NS
);
- array_push($urls, new PoCoURL($type, $value, $primary));
+ $isPrimary = false;
+
+ if (isset($primary) && $primary == 'true') {
+ $isPrimary = true;
+ }
+
+ // @todo check to make sure a primary hasn't already been added
+
+ array_push($urls, new PoCoURL($type, $value, $isPrimary));
}
return $urls;
}
@@ -215,6 +223,46 @@ class PoCo
return $poco;
}
+ function fromGroup($group)
+ {
+ if (empty($group)) {
+ return null;
+ }
+
+ $poco = new PoCo();
+
+ $poco->preferredUsername = $group->nickname;
+ $poco->displayName = $group->getBestName();
+
+ $poco->note = $group->description;
+
+ $paddy = new PoCoAddress();
+ $paddy->formatted = $group->location;
+ $poco->address = $paddy;
+
+ if (!empty($group->homepage)) {
+ array_push(
+ $poco->urls,
+ new PoCoURL(
+ 'homepage',
+ $group->homepage,
+ true
+ )
+ );
+ }
+
+ return $poco;
+ }
+
+ function getPrimaryURL()
+ {
+ foreach ($this->urls as $url) {
+ if ($url->primary) {
+ return $url;
+ }
+ }
+ }
+
function asString()
{
$xs = new XMLStringer(true);
@@ -296,22 +344,45 @@ class ActivityUtils
static function getLink(DOMNode $element, $rel, $type=null)
{
- $links = $element->getElementsByTagnameNS(self::ATOM, self::LINK);
+ $els = $element->childNodes;
- foreach ($links as $link) {
+ foreach ($els as $link) {
+ if ($link->localName == self::LINK && $link->namespaceURI == self::ATOM) {
- $linkRel = $link->getAttribute(self::REL);
- $linkType = $link->getAttribute(self::TYPE);
+ $linkRel = $link->getAttribute(self::REL);
+ $linkType = $link->getAttribute(self::TYPE);
- if ($linkRel == $rel &&
- (is_null($type) || $linkType == $type)) {
- return $link->getAttribute(self::HREF);
+ if ($linkRel == $rel &&
+ (is_null($type) || $linkType == $type)) {
+ return $link->getAttribute(self::HREF);
+ }
}
}
return null;
}
+ static function getLinks(DOMNode $element, $rel, $type=null)
+ {
+ $els = $element->childNodes;
+ $out = array();
+
+ foreach ($els as $link) {
+ if ($link->localName == self::LINK && $link->namespaceURI == self::ATOM) {
+
+ $linkRel = $link->getAttribute(self::REL);
+ $linkType = $link->getAttribute(self::TYPE);
+
+ if ($linkRel == $rel &&
+ (is_null($type) || $linkType == $type)) {
+ $out[] = $link;
+ }
+ }
+ }
+
+ return $out;
+ }
+
/**
* Gets the first child element with the given tag
*
@@ -417,6 +488,75 @@ class ActivityUtils
}
}
+// XXX: Arg! This wouldn't be necessary if we used Avatars conistently
+class AvatarLink
+{
+ public $url;
+ public $type;
+ public $size;
+ public $width;
+ public $height;
+
+ function __construct($element=null)
+ {
+ if ($element) {
+ // @fixme use correct namespaces
+ $this->url = $element->getAttribute('href');
+ $this->type = $element->getAttribute('type');
+ $width = $element->getAttribute('media:width');
+ if ($width != null) {
+ $this->width = intval($width);
+ }
+ $height = $element->getAttribute('media:height');
+ if ($height != null) {
+ $this->height = intval($height);
+ }
+ }
+ }
+
+ static function fromAvatar($avatar)
+ {
+ if (empty($avatar)) {
+ return null;
+ }
+ $alink = new AvatarLink();
+ $alink->type = $avatar->mediatype;
+ $alink->height = $avatar->height;
+ $alink->width = $avatar->width;
+ $alink->url = $avatar->displayUrl();
+ return $alink;
+ }
+
+ static function fromFilename($filename, $size)
+ {
+ $alink = new AvatarLink();
+ $alink->url = $filename;
+ $alink->height = $size;
+ if (!empty($filename)) {
+ $alink->width = $size;
+ $alink->type = self::mediatype($filename);
+ } else {
+ $alink->url = User_group::defaultLogo($size);
+ $alink->type = 'image/png';
+ }
+ return $alink;
+ }
+
+ // yuck!
+ static function mediatype($filename) {
+ $ext = strtolower(end(explode('.', $filename)));
+ if ($ext == 'jpeg') {
+ $ext = 'jpg';
+ }
+ // hope we don't support any others
+ $types = array('png', 'gif', 'jpg', 'jpeg');
+ if (in_array($ext, $types)) {
+ return 'image/' . $ext;
+ }
+ return null;
+ }
+}
+
/**
* A noun-ish thing in the activity universe
*
@@ -473,7 +613,7 @@ class ActivityObject
public $content;
public $link;
public $source;
- public $avatar;
+ public $avatarLinks = array();
public $geopoint;
public $poco;
public $displayName;
@@ -496,6 +636,12 @@ class ActivityObject
$this->element = $element;
+ $this->geopoint = $this->_childContent(
+ $element,
+ ActivityContext::POINT,
+ ActivityContext::GEORSS
+ );
+
if ($element->tagName == 'author') {
$this->type = self::PERSON; // XXX: is this fair?
@@ -535,8 +681,10 @@ class ActivityObject
if ($this->type == self::PERSON || $this->type == self::GROUP) {
$this->displayName = $this->title;
- // @fixme we may have multiple avatars with different resolutions specified
- $this->avatar = ActivityUtils::getLink($element, 'avatar');
+ $avatars = ActivityUtils::getLinks($element, 'avatar');
+ foreach ($avatars as $link) {
+ $this->avatarLinks[] = new AvatarLink($link);
+ }
$this->poco = new PoCo($element);
}
@@ -587,10 +735,40 @@ class ActivityObject
$object->id = $profile->getUri();
$object->title = $profile->getBestName();
$object->link = $profile->profileurl;
- $object->avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
+
+ $orig = $profile->getOriginalAvatar();
+
+ if (!empty($orig)) {
+ $object->avatarLinks[] = AvatarLink::fromAvatar($orig);
+ }
+
+ $sizes = array(
+ AVATAR_PROFILE_SIZE,
+ AVATAR_STREAM_SIZE,
+ AVATAR_MINI_SIZE
+ );
+
+ foreach ($sizes as $size) {
+
+ $alink = null;
+ $avatar = $profile->getAvatar($size);
+
+ if (!empty($avatar)) {
+ $alink = AvatarLink::fromAvatar($avatar);
+ } else {
+ $alink = new AvatarLink();
+ $alink->type = 'image/png';
+ $alink->height = $size;
+ $alink->width = $size;
+ $alink->url = Avatar::defaultImage($size);
+ }
+
+ $object->avatarLinks[] = $alink;
+ }
if (isset($profile->lat) && isset($profile->lon)) {
- $object->geopoint = (float)$profile->lat . ' ' . (float)$profile->lon;
+ $object->geopoint = (float)$profile->lat
+ . ' ' . (float)$profile->lon;
}
$object->poco = PoCo::fromProfile($profile);
@@ -598,6 +776,36 @@ class ActivityObject
return $object;
}
+ static function fromGroup($group)
+ {
+ $object = new ActivityObject();
+
+ $object->type = ActivityObject::GROUP;
+ $object->id = $group->getUri();
+ $object->title = $group->getBestName();
+ $object->link = $group->getUri();
+
+ $object->avatarLinks[] = AvatarLink::fromFilename(
+ $group->homepage_logo,
+ AVATAR_PROFILE_SIZE
+ );
+
+ $object->avatarLinks[] = AvatarLink::fromFilename(
+ $group->stream_logo,
+ AVATAR_STREAM_SIZE
+ );
+
+ $object->avatarLinks[] = AvatarLink::fromFilename(
+ $group->mini_logo,
+ AVATAR_MINI_SIZE
+ );
+
+ $object->poco = PoCo::fromGroup($group);
+
+ return $object;
+ }
+
+
function asString($tag='activity:object')
{
$xs = new XMLStringer(true);
@@ -635,16 +843,19 @@ class ActivityObject
if ($this->type == ActivityObject::PERSON
|| $this->type == ActivityObject::GROUP) {
- $xs->element(
- 'link', array(
- 'type' => empty($this->avatar) ? 'image/png' : $this->avatar->mediatype,
- 'rel' => 'avatar',
- 'href' => empty($this->avatar)
- ? Avatar::defaultImage(AVATAR_PROFILE_SIZE)
- : $this->avatar->displayUrl()
- ),
- null
- );
+
+ foreach ($this->avatarLinks as $avatar) {
+ $xs->element(
+ 'link', array(
+ 'rel' => 'avatar',
+ 'type' => $avatar->type,
+ 'media:width' => $avatar->width,
+ 'media:height' => $avatar->height,
+ 'href' => $avatar->url
+ ),
+ null
+ );
+ }
}
if (!empty($this->geopoint)) {
@@ -761,22 +972,29 @@ class ActivityContext
for ($i = 0; $i < $points->length; $i++) {
$point = $points->item($i)->textContent;
- $point = str_replace(',', ' ', $point); // per spec "treat commas as whitespace"
- $point = preg_replace('/\s+/', ' ', $point);
- $point = trim($point);
- $coords = explode(' ', $point);
- if (count($coords) == 2) {
- list($lat, $lon) = $coords;
- if (is_numeric($lat) && is_numeric($lon)) {
- common_log(LOG_INFO, "Looking up location for $lat $lon from georss");
- return Location::fromLatLon($lat, $lon);
- }
- }
- common_log(LOG_ERR, "Ignoring bogus georss:point value $point");
+ return self::locationFromPoint($point);
}
return null;
}
+
+ // XXX: Move to ActivityUtils or Location?
+ static function locationFromPoint($point)
+ {
+ $point = str_replace(',', ' ', $point); // per spec "treat commas as whitespace"
+ $point = preg_replace('/\s+/', ' ', $point);
+ $point = trim($point);
+ $coords = explode(' ', $point);
+ if (count($coords) == 2) {
+ list($lat, $lon) = $coords;
+ if (is_numeric($lat) && is_numeric($lon)) {
+ common_log(LOG_INFO, "Looking up location for $lat $lon from georss point");
+ return Location::fromLatLon($lat, $lon);
+ }
+ }
+ common_log(LOG_ERR, "Ignoring bogus georss:point value $point");
+ return null;
+ }
}
/**
@@ -829,6 +1047,8 @@ class Activity
public $content; // HTML content of activity
public $id; // ID of the activity
public $title; // title of the activity
+ public $categories = array(); // list of AtomCategory objects
+ public $enclosures = array(); // list of enclosure URL references
/**
* Turns a regular old Atom <entry> into a magical activity
@@ -844,6 +1064,18 @@ class Activity
}
$this->entry = $entry;
+
+ // @fixme Don't send in a DOMDocument
+ if ($feed instanceof DOMDocument) {
+ common_log(
+ LOG_WARNING,
+ 'Activity::__construct() - '
+ . 'DOMDocument passed in for feed by mistake. '
+ . "Expecting a 'feed' DOMElement."
+ );
+ $feed = $feed->getElementsByTagName('feed')->item(0);
+ }
+
$this->feed = $feed;
$pubEl = $this->_child($entry, self::PUBLISHED, self::ATOM);
@@ -917,6 +1149,18 @@ class Activity
$this->summary = ActivityUtils::childContent($entry, 'summary');
$this->id = ActivityUtils::childContent($entry, 'id');
$this->content = ActivityUtils::getContent($entry);
+
+ $catEls = $entry->getElementsByTagNameNS(self::ATOM, 'category');
+ if ($catEls) {
+ for ($i = 0; $i < $catEls->length; $i++) {
+ $catEl = $catEls->item($i);
+ $this->categories[] = new AtomCategory($catEl);
+ }
+ }
+
+ foreach (ActivityUtils::getLinks($entry, 'enclosure') as $link) {
+ $this->enclosures[] = $link->getAttribute('href');
+ }
}
/**
@@ -939,7 +1183,8 @@ class Activity
'xmlns:activity' => 'http://activitystrea.ms/spec/1.0/',
'xmlns:georss' => 'http://www.georss.org/georss',
'xmlns:ostatus' => 'http://ostatus.org/schema/1.0',
- 'xmlns:poco' => 'http://portablecontacts.net/spec/1.0');
+ 'xmlns:poco' => 'http://portablecontacts.net/spec/1.0',
+ 'xmlns:media' => 'http://purl.org/syndication/atommedia');
} else {
$attrs = array();
}
@@ -981,6 +1226,10 @@ class Activity
$xs->raw($this->target->asString('activity:target'));
}
+ foreach ($this->categories as $cat) {
+ $xs->raw($cat->asString());
+ }
+
$xs->elementEnd('entry');
return $xs->getString();
@@ -990,4 +1239,50 @@ class Activity
{
return ActivityUtils::child($element, $tag, $namespace);
}
-} \ No newline at end of file
+}
+
+class AtomCategory
+{
+ public $term;
+ public $scheme;
+ public $label;
+
+ function __construct($element=null)
+ {
+ if ($element && $element->attributes) {
+ $this->term = $this->extract($element, 'term');
+ $this->scheme = $this->extract($element, 'scheme');
+ $this->label = $this->extract($element, 'label');
+ }
+ }
+
+ protected function extract($element, $attrib)
+ {
+ $node = $element->attributes->getNamedItemNS(Activity::ATOM, $attrib);
+ if ($node) {
+ return trim($node->textContent);
+ }
+ $node = $element->attributes->getNamedItem($attrib);
+ if ($node) {
+ return trim($node->textContent);
+ }
+ return null;
+ }
+
+ function asString()
+ {
+ $attribs = array();
+ if ($this->term !== null) {
+ $attribs['term'] = $this->term;
+ }
+ if ($this->scheme !== null) {
+ $attribs['scheme'] = $this->scheme;
+ }
+ if ($this->label !== null) {
+ $attribs['label'] = $this->label;
+ }
+ $xs = new XMLStringer();
+ $xs->element('category', $attribs);
+ return $xs->asString();
+ }
+}
diff --git a/lib/adminpanelaction.php b/lib/adminpanelaction.php
index f05627b31..a927e2333 100644
--- a/lib/adminpanelaction.php
+++ b/lib/adminpanelaction.php
@@ -69,6 +69,7 @@ class AdminPanelAction extends Action
// User must be logged in.
if (!common_logged_in()) {
+ // TRANS: Client error message
$this->clientError(_('Not logged in.'));
return false;
}
@@ -93,6 +94,7 @@ class AdminPanelAction extends Action
// User must have the right to change admin settings
if (!$user->hasRight(Right::CONFIGURESITE)) {
+ // TRANS: Client error message
$this->clientError(_('You cannot make changes to this site.'));
return false;
}
@@ -103,7 +105,8 @@ class AdminPanelAction extends Action
$name = mb_substr($name, 0, -10);
- if (!in_array($name, common_config('admin', 'panels'))) {
+ if (!self::canAdmin($name)) {
+ // TRANS: Client error message
$this->clientError(_('Changes to that panel are not allowed.'), 403);
return false;
}
@@ -134,6 +137,7 @@ class AdminPanelAction extends Action
Config::loadSettings();
$this->success = true;
+ // TRANS: Message after successful saving of administrative settings.
$this->msg = _('Settings saved.');
} catch (Exception $e) {
$this->success = false;
@@ -172,6 +176,24 @@ class AdminPanelAction extends Action
}
/**
+ * Show content block. Overrided just to add a special class
+ * to the content div to allow styling.
+ *
+ * @return nothing
+ */
+ function showContentBlock()
+ {
+ $this->elementStart('div', array('id' => 'content', 'class' => 'admin'));
+ $this->showPageTitle();
+ $this->showPageNoticeBlock();
+ $this->elementStart('div', array('id' => 'content_inner'));
+ // show the actual content (forms, lists, whatever)
+ $this->showContent();
+ $this->elementEnd('div');
+ $this->elementEnd('div');
+ }
+
+ /**
* show human-readable instructions for the page, or
* a success/failure on save.
*
@@ -203,6 +225,7 @@ class AdminPanelAction extends Action
function showForm()
{
+ // TRANS: Client error message
$this->clientError(_('showForm() not implemented.'));
return;
}
@@ -232,6 +255,7 @@ class AdminPanelAction extends Action
function saveSettings()
{
+ // TRANS: Client error message
$this->clientError(_('saveSettings() not implemented.'));
return;
}
@@ -255,6 +279,7 @@ class AdminPanelAction extends Action
$result = $config->delete();
if (!$result) {
common_log_db_error($config, 'DELETE', __FILE__);
+ // TRANS: Client error message
$this->clientError(_("Unable to delete design setting."));
return null;
}
@@ -262,6 +287,17 @@ class AdminPanelAction extends Action
return $result;
}
+
+ function canAdmin($name)
+ {
+ $isOK = false;
+
+ if (Event::handle('AdminPanelCheck', array($name, &$isOK))) {
+ $isOK = in_array($name, common_config('admin', 'panels'));
+ }
+
+ return $isOK;
+ }
}
/**
@@ -307,34 +343,68 @@ class AdminPanelNav extends Widget
if (Event::handle('StartAdminPanelNav', array($this))) {
- if ($this->canAdmin('site')) {
- $this->out->menuItem(common_local_url('siteadminpanel'), _('Site'),
- _('Basic site configuration'), $action_name == 'siteadminpanel', 'nav_site_admin_panel');
+ if (AdminPanelAction::canAdmin('site')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Basic site configuration');
+ // TRANS: Menu item for site administration
+ $this->out->menuItem(common_local_url('siteadminpanel'), _m('MENU', 'Site'),
+ $menu_title, $action_name == 'siteadminpanel', 'nav_site_admin_panel');
}
- if ($this->canAdmin('design')) {
- $this->out->menuItem(common_local_url('designadminpanel'), _('Design'),
- _('Design configuration'), $action_name == 'designadminpanel', 'nav_design_admin_panel');
+ if (AdminPanelAction::canAdmin('design')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Design configuration');
+ // TRANS: Menu item for site administration
+ $this->out->menuItem(common_local_url('designadminpanel'), _m('MENU', 'Design'),
+ $menu_title, $action_name == 'designadminpanel', 'nav_design_admin_panel');
}
- if ($this->canAdmin('user')) {
+ if (AdminPanelAction::canAdmin('user')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('User configuration');
+ // TRANS: Menu item for site administration
$this->out->menuItem(common_local_url('useradminpanel'), _('User'),
- _('User configuration'), $action_name == 'useradminpanel', 'nav_design_admin_panel');
+ $menu_title, $action_name == 'useradminpanel', 'nav_user_admin_panel');
}
- if ($this->canAdmin('access')) {
+ if (AdminPanelAction::canAdmin('access')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Access configuration');
+ // TRANS: Menu item for site administration
$this->out->menuItem(common_local_url('accessadminpanel'), _('Access'),
- _('Access configuration'), $action_name == 'accessadminpanel', 'nav_design_admin_panel');
+ $menu_title, $action_name == 'accessadminpanel', 'nav_access_admin_panel');
}
- if ($this->canAdmin('paths')) {
+ if (AdminPanelAction::canAdmin('paths')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Paths configuration');
+ // TRANS: Menu item for site administration
$this->out->menuItem(common_local_url('pathsadminpanel'), _('Paths'),
- _('Paths configuration'), $action_name == 'pathsadminpanel', 'nav_design_admin_panel');
+ $menu_title, $action_name == 'pathsadminpanel', 'nav_paths_admin_panel');
}
- if ($this->canAdmin('sessions')) {
+ if (AdminPanelAction::canAdmin('sessions')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Sessions configuration');
+ // TRANS: Menu item for site administration
$this->out->menuItem(common_local_url('sessionsadminpanel'), _('Sessions'),
- _('Sessions configuration'), $action_name == 'sessionsadminpanel', 'nav_design_admin_panel');
+ $menu_title, $action_name == 'sessionsadminpanel', 'nav_sessions_admin_panel');
+ }
+
+ if (AdminPanelAction::canAdmin('sitenotice')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Edit site notice');
+ // TRANS: Menu item for site administration
+ $this->out->menuItem(common_local_url('sitenoticeadminpanel'), _('Site notice'),
+ $menu_title, $action_name == 'sitenoticeadminpanel', 'nav_sitenotice_admin_panel');
+ }
+
+ if (AdminPanelAction::canAdmin('snapshot')) {
+ // TRANS: Menu item title/tooltip
+ $menu_title = _('Snapshots configuration');
+ // TRANS: Menu item for site administration
+ $this->out->menuItem(common_local_url('snapshotadminpanel'), _('Snapshots'),
+ $menu_title, $action_name == 'snapshotadminpanel', 'nav_snapshot_admin_panel');
}
Event::handle('EndAdminPanelNav', array($this));
@@ -342,8 +412,4 @@ class AdminPanelNav extends Widget
$this->action->elementEnd('ul');
}
- function canAdmin($name)
- {
- return in_array($name, common_config('admin', 'panels'));
- }
}
diff --git a/lib/api.php b/lib/apiaction.php
index 26977c90f..e4a1df3d1 100644
--- a/lib/api.php
+++ b/lib/apiaction.php
@@ -63,7 +63,6 @@ class ApiAction extends Action
var $count = null;
var $max_id = null;
var $since_id = null;
- var $since = null;
var $access = self::READ_ONLY; // read (default) or read-write
@@ -85,7 +84,10 @@ class ApiAction extends Action
$this->count = (int)$this->arg('count', 20);
$this->max_id = (int)$this->arg('max_id', 0);
$this->since_id = (int)$this->arg('since_id', 0);
- $this->since = $this->arg('since');
+
+ if ($this->arg('since')) {
+ header('X-StatusNet-Warning: since parameter is disabled; use since_id');
+ }
return true;
}
@@ -1219,7 +1221,12 @@ class ApiAction extends Action
return User_group::staticGet($this->arg('id'));
} else if ($this->arg('id')) {
$nickname = common_canonical_nickname($this->arg('id'));
- return User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+ if (empty($local)) {
+ return null;
+ } else {
+ return User_group::staticGet('id', $local->id);
+ }
} else if ($this->arg('group_id')) {
// This is to ensure that a non-numeric user_id still
// overrides screen_name even if it doesn't get used
@@ -1228,14 +1235,24 @@ class ApiAction extends Action
}
} else if ($this->arg('group_name')) {
$nickname = common_canonical_nickname($this->arg('group_name'));
- return User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+ if (empty($local)) {
+ return null;
+ } else {
+ return User_group::staticGet('id', $local->id);
+ }
}
} else if (is_numeric($id)) {
return User_group::staticGet($id);
} else {
$nickname = common_canonical_nickname($id);
- return User_group::staticGet('nickname', $nickname);
+ $local = Local_group::staticGet('nickname', $nickname);
+ if (empty($local)) {
+ return null;
+ } else {
+ return User_group::staticGet('id', $local->group_id);
+ }
}
}
@@ -1311,8 +1328,6 @@ class ApiAction extends Action
case 'max_id':
$max_id = (int)$this->args['max_id'];
return ($max_id < 1) ? 0 : $max_id;
- case 'since':
- return strtotime($this->args['since']);
default:
return parent::arg($key, $def);
}
diff --git a/lib/apiauth.php b/lib/apiauth.php
index 25e2196cf..5090871cf 100644
--- a/lib/apiauth.php
+++ b/lib/apiauth.php
@@ -38,7 +38,6 @@ if (!defined('STATUSNET')) {
exit(1);
}
-require_once INSTALLDIR . '/lib/api.php';
require_once INSTALLDIR . '/lib/apioauth.php';
/**
diff --git a/lib/atom10entry.php b/lib/atom10entry.php
deleted file mode 100644
index f8f16d594..000000000
--- a/lib/atom10entry.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Class for building / manipulating an Atom entry in memory
- *
- * 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 Feed
- * @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);
-}
-
-class Atom10EntryException extends Exception
-{
-}
-
-/**
- * Class for manipulating an Atom entry in memory. Get the entry as an XML
- * string with Atom10Entry::getString().
- *
- * @category Feed
- * @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 Atom10Entry extends XMLStringer
-{
- private $namespaces;
- private $categories;
- private $content;
- private $contributors;
- private $id;
- private $links;
- private $published;
- private $rights;
- private $source;
- private $summary;
- private $title;
-
- function __construct($indent = true) {
- parent::__construct($indent);
- $this->namespaces = array();
- }
-
- function addNamespace($namespace, $uri)
- {
- $ns = array($namespace => $uri);
- $this->namespaces = array_merge($this->namespaces, $ns);
- }
-
- function initEntry()
- {
-
- }
-
- function endEntry()
- {
-
- }
-
- /**
- * Check that all required elements have been set, etc.
- * Throws an Atom10EntryException if something's missing.
- *
- * @return void
- */
- function validate()
- {
-
- }
-
- function getString()
- {
- $this->validate();
-
- $this->initEntry();
- $this->renderEntries();
- $this->endEntry();
-
- return $this->xw->outputMemory();
- }
-
-} \ No newline at end of file
diff --git a/lib/atom10feed.php b/lib/atom10feed.php
index 8842840d5..2d342e785 100644
--- a/lib/atom10feed.php
+++ b/lib/atom10feed.php
@@ -49,6 +49,8 @@ class Atom10FeedException extends Exception
class Atom10Feed extends XMLStringer
{
public $xw;
+
+ // @fixme most of these should probably be read-only properties
private $namespaces;
private $authors;
private $subject;
@@ -57,10 +59,12 @@ class Atom10Feed extends XMLStringer
private $generator;
private $icon;
private $links;
- private $logo;
+ private $selfLink;
+ private $selfLinkType;
+ public $logo;
private $rights;
- private $subtitle;
- private $title;
+ public $subtitle;
+ public $title;
private $published;
private $updated;
private $entries;
@@ -172,6 +176,14 @@ class Atom10Feed extends XMLStringer
}
$this->elementStart('feed', $commonAttrs);
+ $this->element(
+ 'generator', array(
+ 'url' => 'http://status.net',
+ 'version' => STATUSNET_VERSION
+ ),
+ 'StatusNet'
+ );
+
$this->element('id', null, $this->id);
$this->element('title', null, $this->title);
$this->element('subtitle', null, $this->subtitle);
@@ -184,6 +196,10 @@ class Atom10Feed extends XMLStringer
$this->renderAuthors();
+ if ($this->selfLink) {
+ $this->addLink($this->selfLink, array('rel' => 'self',
+ 'type' => $this->selfLinkType));
+ }
$this->renderLinks();
}
@@ -253,6 +269,12 @@ class Atom10Feed extends XMLStringer
$this->id = $id;
}
+ function setSelfLink($url, $type='application/atom+xml')
+ {
+ $this->selfLink = $url;
+ $this->selfLinkType = $type;
+ }
+
function setTitle($title)
{
$this->title = $title;
diff --git a/lib/atomgroupnoticefeed.php b/lib/atomgroupnoticefeed.php
index 52ee4c7d6..08c1c707c 100644
--- a/lib/atomgroupnoticefeed.php
+++ b/lib/atomgroupnoticefeed.php
@@ -49,14 +49,42 @@ class AtomGroupNoticeFeed extends AtomNoticeFeed
/**
* Constructor
*
- * @param Group $group the group for the feed (optional)
+ * @param Group $group the group for the feed
* @param boolean $indent flag to turn indenting on or off
*
* @return void
*/
- function __construct($group = null, $indent = true) {
+ function __construct($group, $indent = true) {
parent::__construct($indent);
$this->group = $group;
+
+ $title = sprintf(_("%s timeline"), $group->nickname);
+ $this->setTitle($title);
+
+ $sitename = common_config('site', 'name');
+ $subtitle = sprintf(
+ _('Updates from %1$s on %2$s!'),
+ $group->nickname,
+ $sitename
+ );
+ $this->setSubtitle($subtitle);
+
+ $avatar = $group->homepage_logo;
+ $logo = ($avatar) ? $avatar : User_group::defaultLogo(AVATAR_PROFILE_SIZE);
+ $this->setLogo($logo);
+
+ $this->setUpdated('now');
+
+ $self = common_local_url('ApiTimelineGroup',
+ array('id' => $group->id,
+ 'format' => 'atom'));
+ $this->setId($self);
+ $this->setSelfLink($self);
+
+ $this->addAuthorRaw($group->asAtomAuthor());
+ $this->setActivitySubject($group->asActivitySubject());
+
+ $this->addLink($group->homeUrl());
}
function getGroup()
diff --git a/lib/atomnoticefeed.php b/lib/atomnoticefeed.php
index d2bf2a416..e4df731fe 100644
--- a/lib/atomnoticefeed.php
+++ b/lib/atomnoticefeed.php
@@ -65,6 +65,11 @@ class AtomNoticeFeed extends Atom10Feed
);
$this->addNamespace(
+ 'media',
+ 'http://purl.org/syndication/atommedia'
+ );
+
+ $this->addNamespace(
'poco',
'http://portablecontacts.net/spec/1.0'
);
@@ -102,9 +107,19 @@ class AtomNoticeFeed extends Atom10Feed
*/
function addEntryFromNotice($notice)
{
- $this->addEntryRaw($notice->asAtomEntry());
- }
+ $source = $this->showSource();
+ $author = $this->showAuthor();
-}
+ $this->addEntryRaw($notice->asAtomEntry(false, $source, $author));
+ }
+ function showSource()
+ {
+ return true;
+ }
+ function showAuthor()
+ {
+ return true;
+ }
+}
diff --git a/lib/atomusernoticefeed.php b/lib/atomusernoticefeed.php
index 2ad8de455..428cc2de2 100644
--- a/lib/atomusernoticefeed.php
+++ b/lib/atomusernoticefeed.php
@@ -49,23 +49,71 @@ class AtomUserNoticeFeed extends AtomNoticeFeed
/**
* Constructor
*
- * @param User $user the user for the feed (optional)
+ * @param User $user the user for the feed
* @param boolean $indent flag to turn indenting on or off
*
* @return void
*/
- function __construct($user = null, $indent = true) {
+ function __construct($user, $indent = true) {
parent::__construct($indent);
$this->user = $user;
if (!empty($user)) {
$profile = $user->getProfile();
$this->addAuthor($profile->nickname, $user->uri);
+ $this->setActivitySubject($profile->asActivityNoun('subject'));
}
+
+ $title = sprintf(_("%s timeline"), $user->nickname);
+ $this->setTitle($title);
+
+ $sitename = common_config('site', 'name');
+ $subtitle = sprintf(
+ _('Updates from %1$s on %2$s!'),
+ $user->nickname, $sitename
+ );
+ $this->setSubtitle($subtitle);
+
+ $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
+ $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE);
+ $this->setLogo($logo);
+
+ $this->setUpdated('now');
+
+ $this->addLink(
+ common_local_url(
+ 'showstream',
+ array('nickname' => $user->nickname)
+ )
+ );
+
+ $self = common_local_url('ApiTimelineUser',
+ array('id' => $user->id,
+ 'format' => 'atom'));
+ $this->setId($self);
+ $this->setSelfLink($self);
+
+ $this->addLink(
+ common_local_url('sup', null, null, $user->id),
+ array(
+ 'rel' => 'http://api.friendfeed.com/2008/03#sup',
+ 'type' => 'application/json'
+ )
+ );
}
function getUser()
{
return $this->user;
}
+
+ function showSource()
+ {
+ return false;
+ }
+
+ function showAuthor()
+ {
+ return false;
+ }
}
diff --git a/lib/authenticationplugin.php b/lib/authenticationplugin.php
index 5be3ea5b9..0a3763e2e 100644
--- a/lib/authenticationplugin.php
+++ b/lib/authenticationplugin.php
@@ -79,7 +79,7 @@ abstract class AuthenticationPlugin extends Plugin
$nickname = $username;
}
$registration_data = array();
- $registration_data['nickname'] = $nickname ;
+ $registration_data['nickname'] = $nickname;
return User::register($registration_data);
}
@@ -101,12 +101,14 @@ abstract class AuthenticationPlugin extends Plugin
* Used during autoregistration
* Useful if your usernames are ugly, and you want to suggest
* nice looking nicknames when users initially sign on
+ * All nicknames returned by this function should be valid
+ * implementations may want to use common_nicknamize() to ensure validity
* @param username
* @return string nickname
*/
function suggestNicknameForUsername($username)
{
- return $username;
+ return common_nicknamize($username);
}
//------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
@@ -129,7 +131,7 @@ abstract class AuthenticationPlugin extends Plugin
$test_user = User::staticGet('nickname', $suggested_nickname);
if($test_user) {
//someone already exists with the suggested nickname, so used the passed nickname
- $suggested_nickname = $nickname;
+ $suggested_nickname = common_nicknamize($nickname);
}
$test_user = User::staticGet('nickname', $suggested_nickname);
if($test_user) {
diff --git a/lib/authorizationplugin.php b/lib/authorizationplugin.php
index 733b0c065..07da9b2d1 100644
--- a/lib/authorizationplugin.php
+++ b/lib/authorizationplugin.php
@@ -85,7 +85,7 @@ abstract class AuthorizationPlugin extends Plugin
}
function onStartSetApiUser(&$user) {
- return $this->onStartSetUser(&$user);
+ return $this->onStartSetUser($user);
}
function onStartHasRole($profile, $name, &$has_role) {
diff --git a/lib/common.php b/lib/common.php
index 68723955e..047dc5a7b 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.0beta5');
+define('STATUSNET_VERSION', '0.9.0');
define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility
define('STATUSNET_CODENAME', 'Stand');
@@ -71,6 +71,7 @@ if (!function_exists('dl')) {
# global configuration object
require_once('PEAR.php');
+require_once('PEAR/Exception.php');
require_once('DB/DataObject.php');
require_once('DB/DataObject/Cast.php'); # for dates
@@ -128,6 +129,17 @@ require_once INSTALLDIR.'/lib/activity.php';
require_once INSTALLDIR.'/lib/clientexception.php';
require_once INSTALLDIR.'/lib/serverexception.php';
+
+//set PEAR error handling to use regular PHP exceptions
+function PEAR_ErrorToPEAR_Exception($err)
+{
+ if ($err->getCode()) {
+ throw new PEAR_Exception($err->getMessage(), $err->getCode());
+ }
+ throw new PEAR_Exception($err->getMessage());
+}
+PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'PEAR_ErrorToPEAR_Exception');
+
try {
StatusNet::init(@$server, @$path, @$conffile);
} catch (NoConfigException $e) {
diff --git a/lib/default.php b/lib/default.php
index 70e00ea75..f22d8b24a 100644
--- a/lib/default.php
+++ b/lib/default.php
@@ -40,7 +40,8 @@ $default =
'logdebug' => false,
'fancy' => false,
'locale_path' => INSTALLDIR.'/locale',
- 'language' => 'en_US',
+ 'language' => 'en',
+ 'langdetect' => true,
'languages' => get_all_languages(),
'email' =>
array_key_exists('SERVER_ADMIN', $_SERVER) ? $_SERVER['SERVER_ADMIN'] : null,
@@ -53,10 +54,11 @@ $default =
'ssl' => 'never',
'sslserver' => null,
'shorturllength' => 30,
- 'dupelimit' => 60, # default for same person saying the same thing
+ 'dupelimit' => 60, // default for same person saying the same thing
'textlimit' => 140,
'indent' => true,
- 'use_x_sendfile' => false
+ 'use_x_sendfile' => false,
+ 'notice' => null // site wide notice text
),
'db' =>
array('database' => 'YOU HAVE TO SET THIS IN config.php',
@@ -177,8 +179,8 @@ $default =
array('source' => 'StatusNet', # source attribute for Twitter
'taguri' => null), # base for tag URIs
'twitter' =>
- array('enabled' => true,
- 'consumer_key' => null,
+ array('signin' => true,
+ 'consumer_key' => null,
'consumer_secret' => null),
'cache' =>
array('base' => null),
@@ -278,13 +280,13 @@ $default =
'TightUrl' => array('shortenerName' => '2tu.us', 'freeService' => true,'serviceUrl'=>'http://2tu.us/?save=y&url=%1$s'),
'Geonames' => null,
'Mapstraction' => null,
- 'Linkback' => null,
+ 'OStatus' => null,
'WikiHashtags' => null,
'RSSCloud' => null,
'OpenID' => null),
),
'admin' =>
- array('panels' => array('design', 'site', 'user', 'paths', 'access', 'sessions')),
+ array('panels' => array('design', 'site', 'user', 'paths', 'access', 'sessions', 'sitenotice')),
'singleuser' =>
array('enabled' => false,
'nickname' => null),
diff --git a/lib/distribqueuehandler.php b/lib/distribqueuehandler.php
index dc183fb36..d2be7a92c 100644
--- a/lib/distribqueuehandler.php
+++ b/lib/distribqueuehandler.php
@@ -63,24 +63,12 @@ class DistribQueueHandler
// XXX: do we need to change this for remote users?
try {
- $notice->saveTags();
- } catch (Exception $e) {
- $this->logit($notice, $e);
- }
-
- try {
$notice->addToInboxes();
} catch (Exception $e) {
$this->logit($notice, $e);
}
try {
- $notice->saveUrls();
- } catch (Exception $e) {
- $this->logit($notice, $e);
- }
-
- try {
Event::handle('EndNoticeSave', array($notice));
// Enqueue for other handlers
} catch (Exception $e) {
diff --git a/lib/grantroleform.php b/lib/grantroleform.php
new file mode 100644
index 000000000..b5f952746
--- /dev/null
+++ b/lib/grantroleform.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Form for granting a role
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>, Brion Vibber <brion@status.net>
+ * @copyright 2009-2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Form for sandboxing a user
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see UnSandboxForm
+ */
+
+class GrantRoleForm extends ProfileActionForm
+{
+ function __construct($role, $label, $writer, $profile, $r2args)
+ {
+ parent::__construct($writer, $profile, $r2args);
+ $this->role = $role;
+ $this->label = $label;
+ }
+
+ /**
+ * Action this form provides
+ *
+ * @return string Name of the action, lowercased.
+ */
+
+ function target()
+ {
+ return 'grantrole';
+ }
+
+ /**
+ * Title of the form
+ *
+ * @return string Title of the form, internationalized
+ */
+
+ function title()
+ {
+ return $this->label;
+ }
+
+ function formData()
+ {
+ parent::formData();
+ $this->out->hidden('role', $this->role);
+ }
+
+ /**
+ * Description of the form
+ *
+ * @return string description of the form, internationalized
+ */
+
+ function description()
+ {
+ return sprintf(_('Grant this user the "%s" role'), $this->label);
+ }
+}
diff --git a/lib/imagefile.php b/lib/imagefile.php
index 6bc8e599b..7b0479455 100644
--- a/lib/imagefile.php
+++ b/lib/imagefile.php
@@ -99,6 +99,10 @@ class ImageFile
if ($info[2] !== IMAGETYPE_GIF &&
$info[2] !== IMAGETYPE_JPEG &&
+ $info[2] !== IMAGETYPE_BMP &&
+ $info[2] !== IMAGETYPE_WBMP &&
+ $info[2] !== IMAGETYPE_XBM &&
+ $info[2] !== IMAGETYPE_XPM &&
$info[2] !== IMAGETYPE_PNG) {
@unlink($_FILES[$param]['tmp_name']);
@@ -146,6 +150,18 @@ class ImageFile
case IMAGETYPE_PNG:
$image_src = imagecreatefrompng($this->filepath);
break;
+ case IMAGETYPE_BMP:
+ $image_src = imagecreatefrombmp($this->filepath);
+ break;
+ case IMAGETYPE_WBMP:
+ $image_src = imagecreatefromwbmp($this->filepath);
+ break;
+ case IMAGETYPE_XBM:
+ $image_src = imagecreatefromxbm($this->filepath);
+ break;
+ case IMAGETYPE_XPM:
+ $image_src = imagecreatefromxpm($this->filepath);
+ break;
default:
throw new Exception(_('Unknown file type'));
return;
@@ -153,7 +169,7 @@ class ImageFile
$image_dest = imagecreatetruecolor($size, $size);
- if ($this->type == IMAGETYPE_GIF || $this->type == IMAGETYPE_PNG) {
+ if ($this->type == IMAGETYPE_GIF || $this->type == IMAGETYPE_PNG || $this->type == IMAGETYPE_BMP) {
$transparent_idx = imagecolortransparent($image_src);
@@ -176,6 +192,24 @@ class ImageFile
imagecopyresampled($image_dest, $image_src, 0, 0, $x, $y, $size, $size, $w, $h);
+ if($this->type == IMAGETYPE_BMP) {
+ //we don't want to save BMP... it's an inefficient, rare, antiquated format
+ //save png instead
+ $this->type = IMAGETYPE_PNG;
+ } else if($this->type == IMAGETYPE_WBMP) {
+ //we don't want to save WBMP... it's a rare format that we can't guarantee clients will support
+ //save png instead
+ $this->type = IMAGETYPE_PNG;
+ } else if($this->type == IMAGETYPE_XBM) {
+ //we don't want to save XBM... it's a rare format that we can't guarantee clients will support
+ //save png instead
+ $this->type = IMAGETYPE_PNG;
+ } else if($this->type == IMAGETYPE_XPM) {
+ //we don't want to save XPM... it's a rare format that we can't guarantee clients will support
+ //save png instead
+ $this->type = IMAGETYPE_PNG;
+ }
+
$outname = Avatar::filename($this->id,
image_type_to_extension($this->type),
$size,
@@ -245,4 +279,101 @@ class ImageFile
return $num;
}
-} \ No newline at end of file
+}
+
+//PHP doesn't (as of 2/24/2010) have an imagecreatefrombmp so conditionally define one
+if(!function_exists('imagecreatefrombmp')){
+ //taken shamelessly from http://www.php.net/manual/en/function.imagecreatefromwbmp.php#86214
+ function imagecreatefrombmp($p_sFile)
+ {
+ // Load the image into a string
+ $file = fopen($p_sFile,"rb");
+ $read = fread($file,10);
+ while(!feof($file)&&($read<>""))
+ $read .= fread($file,1024);
+
+ $temp = unpack("H*",$read);
+ $hex = $temp[1];
+ $header = substr($hex,0,108);
+
+ // Process the header
+ // Structure: http://www.fastgraph.com/help/bmp_header_format.html
+ if (substr($header,0,4)=="424d")
+ {
+ // Cut it in parts of 2 bytes
+ $header_parts = str_split($header,2);
+
+ // Get the width 4 bytes
+ $width = hexdec($header_parts[19].$header_parts[18]);
+
+ // Get the height 4 bytes
+ $height = hexdec($header_parts[23].$header_parts[22]);
+
+ // Unset the header params
+ unset($header_parts);
+ }
+
+ // Define starting X and Y
+ $x = 0;
+ $y = 1;
+
+ // Create newimage
+ $image = imagecreatetruecolor($width,$height);
+
+ // Grab the body from the image
+ $body = substr($hex,108);
+
+ // Calculate if padding at the end-line is needed
+ // Divided by two to keep overview.
+ // 1 byte = 2 HEX-chars
+ $body_size = (strlen($body)/2);
+ $header_size = ($width*$height);
+
+ // Use end-line padding? Only when needed
+ $usePadding = ($body_size>($header_size*3)+4);
+
+ // Using a for-loop with index-calculation instaid of str_split to avoid large memory consumption
+ // Calculate the next DWORD-position in the body
+ for ($i=0;$i<$body_size;$i+=3)
+ {
+ // Calculate line-ending and padding
+ if ($x>=$width)
+ {
+ // If padding needed, ignore image-padding
+ // Shift i to the ending of the current 32-bit-block
+ if ($usePadding)
+ $i += $width%4;
+
+ // Reset horizontal position
+ $x = 0;
+
+ // Raise the height-position (bottom-up)
+ $y++;
+
+ // Reached the image-height? Break the for-loop
+ if ($y>$height)
+ break;
+ }
+
+ // Calculation of the RGB-pixel (defined as BGR in image-data)
+ // Define $i_pos as absolute position in the body
+ $i_pos = $i*2;
+ $r = hexdec($body[$i_pos+4].$body[$i_pos+5]);
+ $g = hexdec($body[$i_pos+2].$body[$i_pos+3]);
+ $b = hexdec($body[$i_pos].$body[$i_pos+1]);
+
+ // Calculate and draw the pixel
+ $color = imagecolorallocate($image,$r,$g,$b);
+ imagesetpixel($image,$x,$height-$y,$color);
+
+ // Raise the horizontal position
+ $x++;
+ }
+
+ // Unset the body / free the memory
+ unset($body);
+
+ // Return image-object
+ return $image;
+ }
+}
diff --git a/lib/joinform.php b/lib/joinform.php
index aefb553aa..aa8bc20e2 100644
--- a/lib/joinform.php
+++ b/lib/joinform.php
@@ -100,7 +100,7 @@ class JoinForm extends Form
function action()
{
return common_local_url('joingroup',
- array('nickname' => $this->group->nickname));
+ array('id' => $this->group->id));
}
/**
diff --git a/lib/language.php b/lib/language.php
index f5ee7fac5..64b59e739 100644
--- a/lib/language.php
+++ b/lib/language.php
@@ -289,6 +289,7 @@ function get_all_languages() {
'ar' => array('q' => 0.8, 'lang' => 'ar', 'name' => 'Arabic', 'direction' => 'rtl'),
'arz' => array('q' => 0.8, 'lang' => 'arz', 'name' => 'Egyptian Spoken Arabic', 'direction' => 'rtl'),
'bg' => array('q' => 0.8, 'lang' => 'bg', 'name' => 'Bulgarian', 'direction' => 'ltr'),
+ 'br' => array('q' => 0.8, 'lang' => 'br', 'name' => 'Breton', 'direction' => 'ltr'),
'ca' => array('q' => 0.5, 'lang' => 'ca', 'name' => 'Catalan', 'direction' => 'ltr'),
'cs' => array('q' => 0.5, 'lang' => 'cs', 'name' => 'Czech', 'direction' => 'ltr'),
'de' => array('q' => 0.8, 'lang' => 'de', 'name' => 'German', 'direction' => 'ltr'),
diff --git a/lib/leaveform.php b/lib/leaveform.php
index e63d96ee8..5469b5704 100644
--- a/lib/leaveform.php
+++ b/lib/leaveform.php
@@ -100,7 +100,7 @@ class LeaveForm extends Form
function action()
{
return common_local_url('leavegroup',
- array('nickname' => $this->group->nickname));
+ array('id' => $this->group->id));
}
/**
diff --git a/lib/mail.php b/lib/mail.php
index c724764cc..807b6a363 100644
--- a/lib/mail.php
+++ b/lib/mail.php
@@ -133,12 +133,13 @@ function mail_notify_from()
* @param User &$user user to send email to
* @param string $subject subject of the email
* @param string $body body of the email
+ * @param array $headers optional list of email headers
* @param string $address optional specification of email address
*
* @return boolean success flag
*/
-function mail_to_user(&$user, $subject, $body, $address=null)
+function mail_to_user(&$user, $subject, $body, $headers=array(), $address=null)
{
if (!$address) {
$address = $user->email;
@@ -180,7 +181,9 @@ function mail_confirm_address($user, $code, $nickname, $address)
$nickname, common_config('site', 'name'),
common_local_url('confirmaddress', array('code' => $code)),
common_config('site', 'name'));
- return mail_to_user($user, $subject, $body, $address);
+ $headers = array();
+
+ return mail_to_user($user, $subject, $body, $headers, $address);
}
/**
@@ -231,6 +234,7 @@ function mail_subscribe_notify_profile($listenee, $other)
$recipients = $listenee->email;
+ $headers = _mail_prepare_headers('subscribe', $listenee->nickname, $other->nickname);
$headers['From'] = mail_notify_from();
$headers['To'] = $name . ' <' . $listenee->email . '>';
$headers['Subject'] = sprintf(_('%1$s is now listening to '.
@@ -476,7 +480,10 @@ function mail_notify_nudge($from, $to)
common_local_url('all', array('nickname' => $to->nickname)),
common_config('site', 'name'));
common_init_locale();
- return mail_to_user($to, $subject, $body);
+
+ $headers = _mail_prepare_headers('nudge', $to->nickname, $from->nickname);
+
+ return mail_to_user($to, $subject, $body, $headers);
}
/**
@@ -526,8 +533,10 @@ function mail_notify_message($message, $from=null, $to=null)
common_local_url('newmessage', array('to' => $from->id)),
common_config('site', 'name'));
+ $headers = _mail_prepare_headers('message', $to->nickname, $from->nickname);
+
common_init_locale();
- return mail_to_user($to, $subject, $body);
+ return mail_to_user($to, $subject, $body, $headers);
}
/**
@@ -578,8 +587,10 @@ function mail_notify_fave($other, $user, $notice)
common_config('site', 'name'),
$user->nickname);
+ $headers = _mail_prepare_headers('fave', $other->nickname, $user->nickname);
+
common_init_locale();
- mail_to_user($other, $subject, $body);
+ mail_to_user($other, $subject, $body, $headers);
}
/**
@@ -611,19 +622,19 @@ function mail_notify_attn($user, $notice)
common_init_locale($user->language);
- if ($notice->conversation != $notice->id) {
- $conversationEmailText = "The full conversation can be read here:\n\n".
- "\t%5\$s\n\n ";
- $conversationUrl = common_local_url('conversation',
+ if ($notice->conversation != $notice->id) {
+ $conversationEmailText = "The full conversation can be read here:\n\n".
+ "\t%5\$s\n\n ";
+ $conversationUrl = common_local_url('conversation',
array('id' => $notice->conversation)).'#notice-'.$notice->id;
- } else {
- $conversationEmailText = "%5\$s";
- $conversationUrl = null;
- }
+ } else {
+ $conversationEmailText = "%5\$s";
+ $conversationUrl = null;
+ }
$subject = sprintf(_('%s (@%s) sent a notice to your attention'), $bestname, $sender->nickname);
- $body = sprintf(_("%1\$s (@%9\$s) just sent a notice to your attention (an '@-reply') on %2\$s.\n\n".
+ $body = sprintf(_("%1\$s (@%9\$s) just sent a notice to your attention (an '@-reply') on %2\$s.\n\n".
"The notice is here:\n\n".
"\t%3\$s\n\n" .
"It reads:\n\n".
@@ -641,7 +652,7 @@ function mail_notify_attn($user, $notice)
common_local_url('shownotice',
array('notice' => $notice->id)),//%3
$notice->content,//%4
- $conversationUrl,//%5
+ $conversationUrl,//%5
common_local_url('newnotice',
array('replyto' => $sender->nickname, 'inreplyto' => $notice->id)),//%6
common_local_url('replies',
@@ -649,6 +660,30 @@ function mail_notify_attn($user, $notice)
common_local_url('emailsettings'), //%8
$sender->nickname); //%9
+ $headers = _mail_prepare_headers('mention', $user->nickname, $sender->nickname);
+
common_init_locale();
- mail_to_user($user, $subject, $body);
+ mail_to_user($user, $subject, $body, $headers);
}
+
+/**
+ * Prepare the common mail headers used in notification emails
+ *
+ * @param string $msg_type type of message being sent to the user
+ * @param string $to nickname of the receipient
+ * @param string $from nickname of the user triggering the notification
+ *
+ * @return array list of mail headers to include in the message
+ */
+function _mail_prepare_headers($msg_type, $to, $from)
+{
+ $headers = array(
+ 'X-StatusNet-MessageType' => $msg_type,
+ 'X-StatusNet-TargetUser' => $to,
+ 'X-StatusNet-SourceUser' => $from,
+ 'X-StatusNet-Domain' => common_config('site', 'server')
+ );
+
+ return $headers;
+}
+
diff --git a/lib/mediafile.php b/lib/mediafile.php
index e3d5b1dbc..10d90d008 100644
--- a/lib/mediafile.php
+++ b/lib/mediafile.php
@@ -262,7 +262,7 @@ class MediaFile
$filetype = MIME_Type::autoDetect($stream['uri']);
}
- if (in_array($filetype, common_config('attachments', 'supported'))) {
+ if (common_config('attachments', 'supported') === true || in_array($filetype, common_config('attachments', 'supported'))) {
return $filetype;
}
$media = MIME_Type::getMedia($filetype);
diff --git a/lib/messageform.php b/lib/messageform.php
index 0c568e1bd..b116964da 100644
--- a/lib/messageform.php
+++ b/lib/messageform.php
@@ -175,6 +175,6 @@ class MessageForm extends Form
'class' => 'submit',
'name' => 'message_send',
'type' => 'submit',
- 'value' => _('Send')));
+ 'value' => _m('Send button for sending notice', 'Send')));
}
}
diff --git a/lib/noticeform.php b/lib/noticeform.php
index 62df5c941..7278c41a9 100644
--- a/lib/noticeform.php
+++ b/lib/noticeform.php
@@ -233,6 +233,6 @@ class NoticeForm extends Form
'class' => 'submit',
'name' => 'status_submit',
'type' => 'submit',
- 'value' => _('Send')));
+ 'value' => _m('Send button for sending notice', 'Send')));
}
}
diff --git a/lib/noticelist.php b/lib/noticelist.php
index 28a563d87..88a925241 100644
--- a/lib/noticelist.php
+++ b/lib/noticelist.php
@@ -540,22 +540,40 @@ class NoticeListItem extends Widget
function showContext()
{
$hasConversation = false;
- if( !empty($this->notice->conversation)
- && $this->notice->conversation != $this->notice->id){
- $hasConversation = true;
- }else{
- $conversation = Notice::conversationStream($this->notice->id, 1, 1);
- if($conversation->N > 0){
+ if (!empty($this->notice->conversation)) {
+ $conversation = Notice::conversationStream(
+ $this->notice->conversation,
+ 1,
+ 1
+ );
+ if ($conversation->N > 0) {
$hasConversation = true;
}
}
- if ($hasConversation){
- $this->out->text(' ');
- $convurl = common_local_url('conversation',
- array('id' => $this->notice->conversation));
- $this->out->element('a', array('href' => $convurl.'#notice-'.$this->notice->id,
- 'class' => 'response'),
- _('in context'));
+ if ($hasConversation) {
+ $conv = Conversation::staticGet(
+ 'id',
+ $this->notice->conversation
+ );
+ $convurl = $conv->uri;
+ if (!empty($convurl)) {
+ $this->out->text(' ');
+ $this->out->element(
+ 'a',
+ array(
+ 'href' => $convurl.'#notice-'.$this->notice->id,
+ 'class' => 'response'),
+ _('in context')
+ );
+ } else {
+ $msg = sprintf(
+ "Couldn't find Conversation ID %d to make 'in context'"
+ . "link for Notice ID %d",
+ $this->notice->conversation,
+ $this->notice->id
+ );
+ common_log(LOG_WARNING, $msg);
+ }
}
}
diff --git a/lib/oauthstore.php b/lib/oauthstore.php
index eabe37f9f..a6a6de750 100644
--- a/lib/oauthstore.php
+++ b/lib/oauthstore.php
@@ -390,7 +390,7 @@ class StatusNetOAuthDataStore extends OAuthDataStore
$sub->subscribed = $user->id;
if (!$sub->find(true)) {
- return 0;
+ return array();
}
/* Since we do not use OMB_Service_Provider’s action methods, there
diff --git a/lib/omb.php b/lib/omb.php
index 17132a594..db60fa0ef 100644
--- a/lib/omb.php
+++ b/lib/omb.php
@@ -77,7 +77,7 @@ function omb_broadcast_notice($notice)
/* Get remote users subscribed to this profile. */
$rp = new Remote_profile();
- $rp->query('SELECT postnoticeurl, token, secret ' .
+ $rp->query('SELECT remote_profile.*, secret, token ' .
'FROM subscription JOIN remote_profile ' .
'ON subscription.subscriber = remote_profile.id ' .
'WHERE subscription.subscribed = ' . $notice->profile_id . ' ');
@@ -93,7 +93,8 @@ function omb_broadcast_notice($notice)
/* Post notice. */
$service = new StatusNet_OMB_Service_Consumer(
- array(OMB_ENDPOINT_POSTNOTICE => $rp->postnoticeurl));
+ array(OMB_ENDPOINT_POSTNOTICE => $rp->postnoticeurl),
+ $rp->uri);
try {
$service->setToken($rp->token, $rp->secret);
$service->postNotice($omb_notice);
@@ -125,7 +126,7 @@ function omb_broadcast_profile($profile)
/* Get remote users subscribed to this profile. */
$rp = new Remote_profile();
- $rp->query('SELECT updateprofileurl, token, secret ' .
+ $rp->query('SELECT remote_profile.*, secret, token ' .
'FROM subscription JOIN remote_profile ' .
'ON subscription.subscriber = remote_profile.id ' .
'WHERE subscription.subscribed = ' . $profile->id . ' ');
@@ -141,7 +142,8 @@ function omb_broadcast_profile($profile)
/* Update profile. */
$service = new StatusNet_OMB_Service_Consumer(
- array(OMB_ENDPOINT_UPDATEPROFILE => $rp->updateprofileurl));
+ array(OMB_ENDPOINT_UPDATEPROFILE => $rp->updateprofileurl),
+ $rp->uri);
try {
$service->setToken($rp->token, $rp->secret);
$service->updateProfile($omb_profile);
@@ -159,13 +161,14 @@ function omb_broadcast_profile($profile)
}
class StatusNet_OMB_Service_Consumer extends OMB_Service_Consumer {
- public function __construct($urls)
+ public function __construct($urls, $listener_uri=null)
{
$this->services = $urls;
$this->datastore = omb_oauth_datastore();
$this->oauth_consumer = omb_oauth_consumer();
$this->fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
$this->fetcher->timeout = intval(common_config('omb', 'timeout'));
+ $this->listener_uri = $listener_uri;
}
}
diff --git a/lib/profileaction.php b/lib/profileaction.php
index 2d4d23265..029c21845 100644
--- a/lib/profileaction.php
+++ b/lib/profileaction.php
@@ -105,28 +105,30 @@ class ProfileAction extends OwnerDesignAction
$this->elementStart('div', array('id' => 'entity_subscriptions',
'class' => 'section'));
+ if (Event::handle('StartShowSubscriptionsMiniList', array($this))) {
+ $this->element('h2', null, _('Subscriptions'));
- $this->element('h2', null, _('Subscriptions'));
+ $cnt = 0;
- $cnt = 0;
+ if (!empty($profile)) {
+ $pml = new ProfileMiniList($profile, $this);
+ $cnt = $pml->show();
+ if ($cnt == 0) {
+ $this->element('p', null, _('(None)'));
+ }
+ }
- if (!empty($profile)) {
- $pml = new ProfileMiniList($profile, $this);
- $cnt = $pml->show();
- if ($cnt == 0) {
- $this->element('p', null, _('(None)'));
+ if ($cnt > PROFILES_PER_MINILIST) {
+ $this->elementStart('p');
+ $this->element('a', array('href' => common_local_url('subscriptions',
+ array('nickname' => $this->profile->nickname)),
+ 'class' => 'more'),
+ _('All subscriptions'));
+ $this->elementEnd('p');
}
- }
- if ($cnt > PROFILES_PER_MINILIST) {
- $this->elementStart('p');
- $this->element('a', array('href' => common_local_url('subscriptions',
- array('nickname' => $this->profile->nickname)),
- 'class' => 'more'),
- _('All subscriptions'));
- $this->elementEnd('p');
+ Event::handle('EndShowSubscriptionsMiniList', array($this));
}
-
$this->elementEnd('div');
}
@@ -226,27 +228,29 @@ class ProfileAction extends OwnerDesignAction
$this->elementStart('div', array('id' => 'entity_groups',
'class' => 'section'));
+ if (Event::handle('StartShowGroupsMiniList', array($this))) {
+ $this->element('h2', null, _('Groups'));
+
+ if ($groups) {
+ $gml = new GroupMiniList($groups, $this->user, $this);
+ $cnt = $gml->show();
+ if ($cnt == 0) {
+ $this->element('p', null, _('(None)'));
+ }
+ }
- $this->element('h2', null, _('Groups'));
-
- if ($groups) {
- $gml = new GroupMiniList($groups, $this->user, $this);
- $cnt = $gml->show();
- if ($cnt == 0) {
- $this->element('p', null, _('(None)'));
+ if ($cnt > GROUPS_PER_MINILIST) {
+ $this->elementStart('p');
+ $this->element('a', array('href' => common_local_url('usergroups',
+ array('nickname' => $this->profile->nickname)),
+ 'class' => 'more'),
+ _('All groups'));
+ $this->elementEnd('p');
}
- }
- if ($cnt > GROUPS_PER_MINILIST) {
- $this->elementStart('p');
- $this->element('a', array('href' => common_local_url('usergroups',
- array('nickname' => $this->profile->nickname)),
- 'class' => 'more'),
- _('All groups'));
- $this->elementEnd('p');
+ Event::handle('EndShowGroupsMiniList', array($this));
}
-
- $this->elementEnd('div');
+ $this->elementEnd('div');
}
}
diff --git a/lib/profilelist.php b/lib/profilelist.php
index 693cd6449..d970e605a 100644
--- a/lib/profilelist.php
+++ b/lib/profilelist.php
@@ -273,10 +273,9 @@ class ProfileListItem extends Widget
$usf = new UnsubscribeForm($this->out, $this->profile);
$usf->show();
} else {
- // Is it a local user? can't remote sub from a list
- // XXX: make that possible!
- $other = User::staticGet('id', $this->profile->id);
- if (!empty($other)) {
+ // We can't initiate sub for a remote OMB profile.
+ $remote = Remote_profile::staticGet('id', $this->profile->id);
+ if (empty($remote)) {
$sf = new SubscribeForm($this->out, $this->profile);
$sf->show();
}
diff --git a/lib/profilequeuehandler.php b/lib/profilequeuehandler.php
index e8a00aef3..6ce93229b 100644
--- a/lib/profilequeuehandler.php
+++ b/lib/profilequeuehandler.php
@@ -39,7 +39,11 @@ class ProfileQueueHandler extends QueueHandler
if (Event::handle('StartBroadcastProfile', array($profile))) {
require_once(INSTALLDIR.'/lib/omb.php');
- omb_broadcast_profile($profile);
+ try {
+ omb_broadcast_profile($profile);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Failed sending OMB profiles: " . $e->getMessage());
+ }
}
Event::handle('EndBroadcastProfile', array($profile));
return true;
diff --git a/lib/revokeroleform.php b/lib/revokeroleform.php
new file mode 100644
index 000000000..ec24b9910
--- /dev/null
+++ b/lib/revokeroleform.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Form for revoking a role
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>, Brion Vibber <brion@status.net>
+ * @copyright 2009-2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Form for sandboxing a user
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see UnSandboxForm
+ */
+
+class RevokeRoleForm extends ProfileActionForm
+{
+ function __construct($role, $label, $writer, $profile, $r2args)
+ {
+ parent::__construct($writer, $profile, $r2args);
+ $this->role = $role;
+ $this->label = $label;
+ }
+
+ /**
+ * Action this form provides
+ *
+ * @return string Name of the action, lowercased.
+ */
+
+ function target()
+ {
+ return 'revokerole';
+ }
+
+ /**
+ * Title of the form
+ *
+ * @return string Title of the form, internationalized
+ */
+
+ function title()
+ {
+ return $this->label;
+ }
+
+ function formData()
+ {
+ parent::formData();
+ $this->out->hidden('role', $this->role);
+ }
+
+ /**
+ * Description of the form
+ *
+ * @return string description of the form, internationalized
+ */
+
+ function description()
+ {
+ return sprintf(_('Revoke the "%s" role from this user'), $this->label);
+ }
+}
diff --git a/lib/right.php b/lib/right.php
index 4e9c5a918..deb451fde 100644
--- a/lib/right.php
+++ b/lib/right.php
@@ -58,5 +58,7 @@ class Right
const EMAILONSUBSCRIBE = 'emailonsubscribe';
const EMAILONFAVE = 'emailonfave';
const MAKEGROUPADMIN = 'makegroupadmin';
+ const GRANTROLE = 'grantrole';
+ const REVOKEROLE = 'revokerole';
}
diff --git a/lib/router.php b/lib/router.php
index 987d0152e..706120e0b 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -98,6 +98,7 @@ class Router
'groupblock', 'groupunblock',
'sandbox', 'unsandbox',
'silence', 'unsilence',
+ 'grantrole', 'revokerole',
'repeat',
'deleteuser',
'geocode',
@@ -247,6 +248,9 @@ class Router
$m->connect('group/:nickname/'.$v,
array('action' => $v.'group'),
array('nickname' => '[a-zA-Z0-9]+'));
+ $m->connect('group/:id/id/'.$v,
+ array('action' => $v.'group'),
+ array('id' => '[0-9]+'));
}
foreach (array('members', 'logo', 'rss', 'designsettings') as $n) {
@@ -646,6 +650,8 @@ class Router
$m->connect('admin/access', array('action' => 'accessadminpanel'));
$m->connect('admin/paths', array('action' => 'pathsadminpanel'));
$m->connect('admin/sessions', array('action' => 'sessionsadminpanel'));
+ $m->connect('admin/sitenotice', array('action' => 'sitenoticeadminpanel'));
+ $m->connect('admin/snapshot', array('action' => 'snapshotadminpanel'));
$m->connect('getfile/:filename',
array('action' => 'getfile'),
@@ -668,7 +674,7 @@ class Router
foreach (array('subscriptions', 'subscribers',
'all', 'foaf', 'xrds',
- 'replies', 'microsummary') as $a) {
+ 'replies', 'microsummary', 'hcard') as $a) {
$m->connect($a,
array('action' => $a,
'nickname' => $nickname));
@@ -734,7 +740,7 @@ class Router
foreach (array('subscriptions', 'subscribers',
'nudge', 'all', 'foaf', 'xrds',
- 'replies', 'inbox', 'outbox', 'microsummary') as $a) {
+ 'replies', 'inbox', 'outbox', 'microsummary', 'hcard') as $a) {
$m->connect(':nickname/'.$a,
array('action' => $a),
array('nickname' => '[a-zA-Z0-9]{1,64}'));
diff --git a/lib/statusnet.php b/lib/statusnet.php
index 3f9a48e6a..afb8f5af0 100644
--- a/lib/statusnet.php
+++ b/lib/statusnet.php
@@ -341,7 +341,11 @@ class StatusNet
// Backwards compatibility
if (array_key_exists('memcached', $config)) {
if ($config['memcached']['enabled']) {
- addPlugin('Memcache', array('servers' => $config['memcached']['server']));
+ if(class_exists('Memcached')) {
+ addPlugin('Memcached', array('servers' => $config['memcached']['server']));
+ } else {
+ addPlugin('Memcache', array('servers' => $config['memcached']['server']));
+ }
}
if (!empty($config['memcached']['base'])) {
@@ -368,10 +372,10 @@ class StatusNet
class NoConfigException extends Exception
{
- public $config_files;
+ public $configFiles;
- function __construct($msg, $config_files) {
+ function __construct($msg, $configFiles) {
parent::__construct($msg);
- $this->config_files = $config_files;
+ $this->configFiles = $configFiles;
}
}
diff --git a/lib/userprofile.php b/lib/userprofile.php
index 43dfd05be..8464c2446 100644
--- a/lib/userprofile.php
+++ b/lib/userprofile.php
@@ -346,6 +346,16 @@ class UserProfile extends Widget
$this->out->elementEnd('ul');
$this->out->elementEnd('li');
}
+
+ if ($cur->hasRight(Right::GRANTROLE)) {
+ $this->out->elementStart('li', 'entity_role');
+ $this->out->element('p', null, _('User role'));
+ $this->out->elementStart('ul');
+ $this->roleButton('administrator', _m('role', 'Administrator'));
+ $this->roleButton('moderator', _m('role', 'Moderator'));
+ $this->out->elementEnd('ul');
+ $this->out->elementEnd('li');
+ }
}
}
@@ -359,6 +369,22 @@ class UserProfile extends Widget
}
}
+ function roleButton($role, $label)
+ {
+ list($action, $r2args) = $this->out->returnToArgs();
+ $r2args['action'] = $action;
+
+ $this->out->elementStart('li', "entity_role_$role");
+ if ($this->user->hasRole($role)) {
+ $rf = new RevokeRoleForm($role, $label, $this->out, $this->profile, $r2args);
+ $rf->show();
+ } else {
+ $rf = new GrantRoleForm($role, $label, $this->out, $this->profile, $r2args);
+ $rf->show();
+ }
+ $this->out->elementEnd('li');
+ }
+
function showRemoteSubscribeLink()
{
$url = common_local_url('remotesubscribe',
diff --git a/lib/util.php b/lib/util.php
index 82dec0f0c..6a8494275 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -105,11 +105,13 @@ function common_language()
// Otherwise, find the best match for the languages requested by the
// user's browser...
- $httplang = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : null;
- if (!empty($httplang)) {
- $language = client_prefered_language($httplang);
- if ($language)
- return $language;
+ if (common_config('site', 'langdetect')) {
+ $httplang = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : null;
+ if (!empty($httplang)) {
+ $language = client_prefered_language($httplang);
+ if ($language)
+ return $language;
+ }
}
// Finally, if none of the above worked, use the site's default...
@@ -134,7 +136,7 @@ function common_check_user($nickname, $password)
$authenticatedUser = false;
if (Event::handle('StartCheckPassword', array($nickname, $password, &$authenticatedUser))) {
- $user = User::staticGet('nickname', $nickname);
+ $user = User::staticGet('nickname', common_canonical_nickname($nickname));
if (!empty($user)) {
if (!empty($password)) { // never allow login with blank password
if (0 == strcmp(common_munge_password($password, $user->id),
@@ -426,14 +428,14 @@ function common_render_content($text, $notice)
{
$r = common_render_text($text);
$id = $notice->profile_id;
- $r = common_linkify_mentions($id, $r);
+ $r = common_linkify_mentions($r, $notice);
$r = preg_replace('/(^|[\s\.\,\:\;]+)!([A-Za-z0-9]{1,64})/e', "'\\1!'.common_group_link($id, '\\2')", $r);
return $r;
}
-function common_linkify_mentions($profile_id, $text)
+function common_linkify_mentions($text, $notice)
{
- $mentions = common_find_mentions($profile_id, $text);
+ $mentions = common_find_mentions($text, $notice);
// We need to go through in reverse order by position,
// so our positions stay valid despite our fudging with the
@@ -487,11 +489,11 @@ function common_linkify_mention($mention)
return $output;
}
-function common_find_mentions($profile_id, $text)
+function common_find_mentions($text, $notice)
{
$mentions = array();
- $sender = Profile::staticGet('id', $profile_id);
+ $sender = Profile::staticGet('id', $notice->profile_id);
if (empty($sender)) {
return $mentions;
@@ -499,6 +501,30 @@ function common_find_mentions($profile_id, $text)
if (Event::handle('StartFindMentions', array($sender, $text, &$mentions))) {
+ // Get the context of the original notice, if any
+
+ $originalAuthor = null;
+ $originalNotice = null;
+ $originalMentions = array();
+
+ // Is it a reply?
+
+ if (!empty($notice) && !empty($notice->reply_to)) {
+ $originalNotice = Notice::staticGet('id', $notice->reply_to);
+ if (!empty($originalNotice)) {
+ $originalAuthor = Profile::staticGet('id', $originalNotice->profile_id);
+
+ $ids = $originalNotice->getReplies();
+
+ foreach ($ids as $id) {
+ $repliedTo = Profile::staticGet('id', $id);
+ if (!empty($repliedTo)) {
+ $originalMentions[$repliedTo->nickname] = $repliedTo;
+ }
+ }
+ }
+ }
+
preg_match_all('/^T ([A-Z0-9]{1,64}) /',
$text,
$tmatches,
@@ -514,7 +540,22 @@ function common_find_mentions($profile_id, $text)
foreach ($matches as $match) {
$nickname = common_canonical_nickname($match[0]);
- $mentioned = common_relative_profile($sender, $nickname);
+
+ // Try to get a profile for this nickname.
+ // Start with conversation context, then go to
+ // sender context.
+
+ if (!empty($originalAuthor) && $originalAuthor->nickname == $nickname) {
+
+ $mentioned = $originalAuthor;
+
+ } else if (!empty($originalMentions) &&
+ array_key_exists($nickname, $originalMentions)) {
+
+ $mentioned = $originalMentions[$nickname];
+ } else {
+ $mentioned = common_relative_profile($sender, $nickname);
+ }
if (!empty($mentioned)) {
@@ -763,8 +804,28 @@ function common_shorten_links($text)
function common_xml_safe_str($str)
{
- // Neutralize control codes and surrogates
- return preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
+ // Replace common eol and extra whitespace input chars
+ $unWelcome = array(
+ "\t", // tab
+ "\n", // newline
+ "\r", // cr
+ "\0", // null byte eos
+ "\x0B" // vertical tab
+ );
+
+ $replacement = array(
+ ' ', // single space
+ ' ',
+ '', // nothing
+ '',
+ ' '
+ );
+
+ $str = str_replace($unWelcome, $replacement, $str);
+
+ // Neutralize any additional control codes and UTF-16 surrogates
+ // (Twitter uses '*')
+ return preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
}
function common_tag_link($tag)
@@ -794,7 +855,7 @@ function common_valid_profile_tag($str)
function common_group_link($sender_id, $nickname)
{
$sender = Profile::staticGet($sender_id);
- $group = User_group::getForNickname($nickname);
+ $group = User_group::getForNickname($nickname, $sender);
if ($sender && $group && $sender->isMember($group)) {
$attrs = array('href' => $group->permalink(),
'class' => 'url');
@@ -849,7 +910,7 @@ function common_relative_profile($sender, $nickname, $dt=null)
return null;
}
-function common_local_url($action, $args=null, $params=null, $fragment=null)
+function common_local_url($action, $args=null, $params=null, $fragment=null, $addSession=true)
{
$r = Router::get();
$path = $r->build($action, $args, $params, $fragment);
@@ -857,12 +918,12 @@ function common_local_url($action, $args=null, $params=null, $fragment=null)
$ssl = common_is_sensitive($action);
if (common_config('site','fancy')) {
- $url = common_path(mb_substr($path, 1), $ssl);
+ $url = common_path(mb_substr($path, 1), $ssl, $addSession);
} else {
if (mb_strpos($path, '/index.php') === 0) {
- $url = common_path(mb_substr($path, 1), $ssl);
+ $url = common_path(mb_substr($path, 1), $ssl, $addSession);
} else {
- $url = common_path('index.php'.$path, $ssl);
+ $url = common_path('index.php'.$path, $ssl, $addSession);
}
}
return $url;
@@ -881,7 +942,7 @@ function common_is_sensitive($action)
return $ssl;
}
-function common_path($relative, $ssl=false)
+function common_path($relative, $ssl=false, $addSession=true)
{
$pathpart = (common_config('site', 'path')) ? common_config('site', 'path')."/" : '';
@@ -905,7 +966,9 @@ function common_path($relative, $ssl=false)
}
}
- $relative = common_inject_session($relative, $serverpart);
+ if ($addSession) {
+ $relative = common_inject_session($relative, $serverpart);
+ }
return $proto.'://'.$serverpart.'/'.$pathpart.$relative;
}
@@ -1118,14 +1181,15 @@ function common_broadcast_profile(Profile $profile)
function common_profile_url($nickname)
{
- return common_local_url('showstream', array('nickname' => $nickname));
+ return common_local_url('showstream', array('nickname' => $nickname),
+ null, null, false);
}
// Should make up a reasonable root URL
function common_root_url($ssl=false)
{
- $url = common_path('', $ssl);
+ $url = common_path('', $ssl, false);
$i = strpos($url, '?');
if ($i !== false) {
$url = substr($url, 0, $i);
@@ -1410,7 +1474,8 @@ function common_remove_magic_from_request()
function common_user_uri(&$user)
{
- return common_local_url('userbyid', array('id' => $user->id));
+ return common_local_url('userbyid', array('id' => $user->id),
+ null, null, false);
}
function common_notice_uri(&$notice)
@@ -1590,6 +1655,7 @@ function common_database_tablename($tablename)
*/
function common_shorten_url($long_url)
{
+ $long_url = trim($long_url);
$user = common_current_user();
if (empty($user)) {
// common current user does not find a user when called from the XMPP daemon
@@ -1604,7 +1670,7 @@ function common_shorten_url($long_url)
return $long_url;
}else{
//URL was shortened, so return the result
- return $shortenedUrl;
+ return trim($shortenedUrl);
}
}
@@ -1681,7 +1747,8 @@ function common_url_to_nickname($url)
# Strip starting, ending slashes
$path = preg_replace('@/$@', '', $parts['path']);
$path = preg_replace('@^/@', '', $path);
- if (strpos($path, '/') === false) {
+ $path = basename($path);
+ if ($path) {
return common_nicknamize($path);
}
}
diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po
index 26f956329..56029bc82 100644
--- a/locale/ar/LC_MESSAGES/statusnet.po
+++ b/locale/ar/LC_MESSAGES/statusnet.po
@@ -9,76 +9,82 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:01+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:16+0000\n"
"Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Ù†Ùاذ"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "إعدادات الوصول إلى الموقع"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "تسجيل"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "خاص"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "أأمنع المستخدمين المجهولين (غير الوالجين) من عرض الموقع؟"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "بالدعوة Ùقط"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "خاص"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Ù…Ùغلق"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "بالدعوة Ùقط"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "أرسل"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Ù…Ùغلق"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Ø­Ùظ إعدادت الوصول"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "احÙظ"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "لا صÙحة كهذه"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -92,72 +98,82 @@ msgstr "لا صÙحة كهذه"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "لا مستخدم كهذا."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s والأصدقاء, الصÙحة %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s والأصدقاء"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr ""
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr ""
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr ""
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "أنت والأصدقاء"
@@ -175,20 +191,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "لم يتم العثور على وسيلة API."
@@ -220,8 +236,9 @@ msgstr "تعذّر تحديث المستخدم."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "ليس للمستخدم مل٠شخصي."
@@ -245,7 +262,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -286,7 +303,7 @@ msgstr "رسالة مباشرة %s"
#: actions/apidirectmessage.php:105
#, php-format
msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "كل الرسائل المباشرة التي أرسلت إلى %s"
#: actions/apidirectmessagenew.php:126
msgid "No message text!"
@@ -355,68 +372,68 @@ msgstr "تعذّر تحديد المستخدم المصدر."
msgid "Could not find target user."
msgstr "تعذّر إيجاد المستخدم الهدÙ."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "الاسم المستعار مستخدم بالÙعل. جرّب اسمًا آخرًا."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "ليس اسمًا مستعارًا صحيحًا."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "الصÙحة الرئيسية ليست عنونًا صالحًا."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرÙًا)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr ""
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr ""
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "كنيات كيرة! العدد الأقصى هو %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "كنية غير صالحة: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr ""
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -427,15 +444,15 @@ msgstr ""
msgid "Group not found!"
msgstr "لم توجد المجموعة!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr ""
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "لم يمكن ضم المستخدم %1$s إلى المجموعة %2$s."
@@ -444,7 +461,7 @@ msgstr "لم يمكن ضم المستخدم %1$s إلى المجموعة %2$s."
msgid "You are not a member of this group."
msgstr "لست عضوًا ÙÙŠ هذه المجموعة"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "لم يمكن إزالة المستخدم %1$s من المجموعة %2$s."
@@ -476,7 +493,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -519,7 +536,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -532,7 +549,7 @@ msgstr ""
#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
-msgstr ""
+msgstr "اسمح أو امنع الوصول"
#: actions/apioauthauthorize.php:292
#, php-format
@@ -542,13 +559,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "الحساب"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -629,18 +646,6 @@ msgstr ""
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr ""
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "مسار %s الزمني"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -651,12 +656,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "مسار %s الزمني العام"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -671,12 +676,12 @@ msgstr "كرر إلى %s"
msgid "Repeats of %s"
msgstr "تكرارات %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "الإشعارات الموسومة ب%s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr ""
@@ -692,8 +697,7 @@ msgstr "لا مرÙÙ‚ كهذا."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "لا اسم مستعار."
@@ -705,7 +709,7 @@ msgstr "لا حجم."
msgid "Invalid size."
msgstr "حجم غير صالح."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Ø£Ùتار"
@@ -713,39 +717,39 @@ msgstr "Ø£Ùتار"
#: actions/avatarsettings.php:78
#, php-format
msgid "You can upload your personal avatar. The maximum file size is %s."
-msgstr ""
+msgstr "بإمكانك رÙع Ø£Ùتارك الشخصي. أقصى حجم للمل٠هو %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "إعدادات الأÙتار"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
-msgstr "الأصلي"
+msgstr "الأصل"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
-msgstr "عاين"
+msgstr "معاينة"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "احذÙ"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "ارÙع"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -753,7 +757,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -785,22 +789,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "لا"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "لا تمنع هذا المستخدم"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "نعم"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "امنع هذا المستخدم"
@@ -808,39 +812,43 @@ msgstr "امنع هذا المستخدم"
msgid "Failed to save block information."
msgstr "Ùشل Ø­Ùظ معلومات المنع."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "لا مجموعة كهذه."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr ""
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s ملÙات ممنوعة, الصÙحة %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "ألغ منع المستخدم من المجموعة"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "ألغ٠المنع"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "ألغ٠منع هذا المستخدم"
@@ -896,19 +904,17 @@ msgid "Conversation"
msgstr "محادثة"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "الإشعارات"
#: actions/deleteapplication.php:63
-#, fuzzy
msgid "You must be logged in to delete an application."
-msgstr "يجب أن تكون مسجل الدخول لتعدل تطبيقا."
+msgstr "يجب أن تسجل الدخول لتحذ٠تطبيقا."
#: actions/deleteapplication.php:71
-#, fuzzy
msgid "Application not found."
-msgstr "لم يوجد رمز التأكيد."
+msgstr "لم يوجد التطبيق."
#: actions/deleteapplication.php:78 actions/editapplication.php:77
#: actions/showapplication.php:94
@@ -917,14 +923,13 @@ msgstr "أنت لست مالك هذا التطبيق."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
-#, fuzzy
msgid "Delete application"
-msgstr "عدّل التطبيق"
+msgstr "احذ٠هذا التطبيق"
#: actions/deleteapplication.php:149
msgid ""
@@ -934,21 +939,20 @@ msgid ""
msgstr ""
#: actions/deleteapplication.php:156
-#, fuzzy
msgid "Do not delete this application"
-msgstr "لا تحذ٠هذا الإشعار"
+msgstr "لا تحذ٠هذا التطبيق"
#: actions/deleteapplication.php:160
-#, fuzzy
msgid "Delete this application"
-msgstr "احذ٠هذا الإشعار"
+msgstr "احذ٠هذا التطبيق"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "لست والجًا."
@@ -975,7 +979,7 @@ msgstr "أمتأكد من أنك تريد حذ٠هذا الإشعار؟"
msgid "Do not delete this notice"
msgstr "لا تحذ٠هذا الإشعار"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "احذ٠هذا الإشعار"
@@ -991,18 +995,18 @@ msgstr "يمكنك حذ٠المستخدمين المحليين Ùقط."
msgid "Delete user"
msgstr "احذ٠المستخدم"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "احذ٠هذا المستخدم"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "التصميم"
@@ -1053,7 +1057,7 @@ msgstr "الخلÙية"
msgid ""
"You can upload a background image for the site. The maximum file size is %1"
"$s."
-msgstr ""
+msgstr "بإمكانك رÙع صورة خلÙية للموقع. أقصى حجم للمل٠هو %1$s."
#: actions/designadminpanel.php:457 lib/designsettings.php:139
msgid "On"
@@ -1103,6 +1107,18 @@ msgstr "استعد التصميمات المبدئية"
msgid "Reset back to default"
msgstr "ارجع إلى المبدئي"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "أرسل"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "احÙظ التصميم"
@@ -1116,12 +1132,11 @@ msgid "Add to favorites"
msgstr "أض٠إلى المÙضلات"
#: actions/doc.php:158
-#, fuzzy, php-format
+#, php-format
msgid "No such document \"%s\""
-msgstr "لا مستند كهذا."
+msgstr "لا مستند باسم \"%s\""
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
msgstr "عدّل التطبيق"
@@ -1195,29 +1210,29 @@ msgstr "عدّل مجموعة %s"
msgid "You must be logged in to create a group."
msgstr "يجب أن تكون والجًا لتنشئ مجموعة."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "يجب أن تكون إداريا لتعدل المجموعة."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "استخدم هذا النموذج لتعديل المجموعة."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr ""
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "تعذر تحديث المجموعة."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "تعذّر إنشاء الكنى."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Ø­ÙÙظت الخيارات."
@@ -1301,15 +1316,15 @@ msgstr "أرسل لي بريدًا إلكرتونيًا عندما يضي٠أح
#: actions/emailsettings.php:169
msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "أرسل لي بريدًا إلكترونيًا عندما يرسل لي أحد رسالة خاصة."
#: actions/emailsettings.php:174
msgid "Send me email when someone sends me an \"@-reply\"."
-msgstr "أرسل لي بريدًا إلكترونيًا عندما يرسل لي أحدهم \"@-رد\"."
+msgstr "أرسل لي بريدًا إلكترونيًا عندما يرسل لي أحد \"@-رد\"."
#: actions/emailsettings.php:179
msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "اسمح لأصدقائي بتنبيهي ومراسلتي عبر البريد الإلكتروني."
#: actions/emailsettings.php:185
msgid "I want to post notices by email."
@@ -1317,7 +1332,7 @@ msgstr "أريد أن أرسل الملاحظات عبر البريد الإلك
#: actions/emailsettings.php:191
msgid "Publish a MicroID for my email address."
-msgstr ""
+msgstr "انشر هوية مصغّرة لعنوان بريدي الإلكتروني."
#: actions/emailsettings.php:302 actions/imsettings.php:264
#: actions/othersettings.php:180 actions/smssettings.php:284
@@ -1333,7 +1348,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "ليس عنوان بريد صالح."
@@ -1386,7 +1401,7 @@ msgstr "لا عنوان بريد إلكتروني وارد."
#: actions/emailsettings.php:456 actions/emailsettings.php:478
#: actions/smssettings.php:528 actions/smssettings.php:552
msgid "Couldn't update user record."
-msgstr ""
+msgstr "تعذّر تحديث سجل المستخدم."
#: actions/emailsettings.php:459 actions/smssettings.php:531
msgid "Incoming email address removed."
@@ -1407,12 +1422,12 @@ msgstr "ألغ٠تÙضيل المÙضلة"
#: actions/favorited.php:65 lib/popularnoticesection.php:91
#: lib/publicgroupnav.php:93
msgid "Popular notices"
-msgstr "إشعارات مشهورة"
+msgstr "إشعارات محبوبة"
#: actions/favorited.php:67
#, php-format
msgid "Popular notices, page %d"
-msgstr "إشعارات مشهورة، الصÙحة %d"
+msgstr "إشعارات محبوبة، الصÙحة %d"
#: actions/favorited.php:79
msgid "The most popular notices on the site right now."
@@ -1444,7 +1459,7 @@ msgstr "إشعارات %s المÙÙضلة"
#: actions/favoritesrss.php:115
#, php-format
msgid "Updates favored by %1$s on %2$s!"
-msgstr ""
+msgstr "الإشعارات التي Ùضلها %1$s ÙÙŠ %2$s!"
#: actions/featured.php:69 lib/featureduserssection.php:87
#: lib/publicgroupnav.php:89
@@ -1517,6 +1532,25 @@ msgstr "لا مل٠كهذا."
msgid "Cannot read file."
msgstr "تعذّرت قراءة الملÙ."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "حجم غير صالح."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "لا يمكنك إسكات المستخدمين على هذا الموقع."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "المستخدم مسكت من قبل."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1546,7 +1580,7 @@ msgstr ""
msgid "User is not a member of group."
msgstr "المستخدم ليس عضوًا ÙÙŠ المجموعة."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "امنع المستخدم من المجموعة"
@@ -1578,91 +1612,97 @@ msgstr "لا هوية."
msgid "You must be logged in to edit a group."
msgstr "يجب أن تلج لتÙعدّل المجموعات."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "تصميم المجموعة"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "تعذّر تحديث تصميمك."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
-msgstr ""
+msgstr "Ø­ÙÙظت تÙضيلات التصميم."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "شعار المجموعة"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
-msgstr ""
+msgstr "بإمكانك رÙع صورة شعار مجموعتك. أقصى حجم للمل٠هو %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "المستخدم بدون مل٠مطابق."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Ø­Ùدّث الشعار."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Ùشل رÙع الشعار."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "أعضاء مجموعة %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s أعضاء المجموعة, الصÙحة %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "قائمة بمستخدمي هذه المجموعة."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "إداري"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "امنع"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
-msgstr ""
+msgstr "اجعل المستخدم إداريًا ÙÙŠ المجموعة"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "اجعل هذا المستخدم إداريًا"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "مسار %s الزمني"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr ""
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "مجموعات"
@@ -1815,16 +1855,16 @@ msgstr "هذه ليست هويتك ÙÙŠ جابر."
#: actions/inbox.php:59
#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr ""
+msgstr "صندوق %1$s الوارد - صÙحة %2$d"
#: actions/inbox.php:62
#, php-format
msgid "Inbox for %s"
-msgstr ""
+msgstr "صندوق %s الوارد"
#: actions/inbox.php:115
msgid "This is your inbox, which lists your incoming private messages."
-msgstr ""
+msgstr "هذا صندوق بريدك الوارد، والذي يسرد رسائلك الخاصة الواردة."
#: actions/invite.php:39
msgid "Invites have been disabled."
@@ -1875,7 +1915,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"
@@ -1893,16 +1933,18 @@ msgstr "رسالة شخصية"
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "أرسل"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1937,7 +1979,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "يجب أن تلج لتنضم إلى مجموعة."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "لا اسم مستعار."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s انضم للمجموعة %2$s"
@@ -1946,11 +1993,11 @@ msgstr "%1$s انضم للمجموعة %2$s"
msgid "You must be logged in to leave a group."
msgstr "يجب أن تلج لتغادر مجموعة."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "لست عضوا ÙÙŠ تلك المجموعة."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ترك المجموعة %2$s"
@@ -1967,8 +2014,7 @@ msgstr "اسم المستخدم أو كلمة السر غير صحيحان."
msgid "Error setting user. You are probably not authorized."
msgstr "خطأ أثناء ضبط المستخدم. لست Ù…Ùصرحًا على الأرجح."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Ù„Ùج"
@@ -1982,7 +2028,7 @@ msgstr "تذكّرني"
#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
-msgstr ""
+msgstr "Ù„Ùج تلقائيًا ÙÙŠ المستقبل؛ هذا الخيار ليس Ù…Ùعدًا للحواسيب المشتركة!"
#: actions/login.php:247
msgid "Lost or forgotten password?"
@@ -1993,6 +2039,7 @@ msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
+"لأسباب أمنية، من Ùضلك أعد إدخال اسم مستخدمك وكلمة سرك قبل تغيير إعداداتك."
#: actions/login.php:270
#, php-format
@@ -2025,7 +2072,6 @@ msgid "No current status"
msgstr "لا حالة حالية"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
msgstr "تطبيق جديد"
@@ -2210,8 +2256,8 @@ msgstr "نوع المحتوى "
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "ليس نسق بيانات مدعوم."
@@ -2278,20 +2324,20 @@ msgstr "توكن الدخول انتهى."
#: actions/outbox.php:58
#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr ""
+msgstr "صندوق %1$s الصادر - صÙحة %2$d"
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
-msgstr ""
+msgstr "صندوق %s الصادر"
#: actions/outbox.php:116
msgid "This is your outbox, which lists private messages you have sent."
-msgstr ""
+msgstr "هذا صندوق بريدك الصادر، والذي يسرد الرسائل الخاصة التي أرسلتها."
#: actions/passwordsettings.php:58
msgid "Change password"
-msgstr "غيّر كلمة السر"
+msgstr "تغيير كلمة السر"
#: actions/passwordsettings.php:69
msgid "Change your password."
@@ -2307,11 +2353,11 @@ msgstr "كلمة السر القديمة"
#: actions/passwordsettings.php:108 actions/recoverpassword.php:235
msgid "New password"
-msgstr "كلمة سر جديدة"
+msgstr "كلمة السر الجديدة"
#: actions/passwordsettings.php:109
msgid "6 or more characters"
-msgstr ""
+msgstr "6 أحر٠أو أكثر"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
#: actions/register.php:433 actions/smssettings.php:134
@@ -2350,7 +2396,8 @@ msgstr "تعذّر Ø­Ùظ كلمة السر الجديدة."
msgid "Password saved."
msgstr "Ø­ÙÙظت كلمة السر."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "المسارات"
@@ -2383,7 +2430,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "الموقع"
@@ -2471,7 +2517,7 @@ msgstr "دليل الخلÙيات"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "مطلقا"
@@ -2522,13 +2568,13 @@ msgstr "ليس وسم أشخاص صالح: %s"
#: actions/peopletag.php:144
#, php-format
msgid "Users self-tagged with %1$s - page %2$d"
-msgstr ""
+msgstr "المستخدمون الذين وسموا أنÙسهم ب%1$s - الصÙحة %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "محتوى إشعار غير صالح"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2548,10 +2594,10 @@ msgstr "معلومات المل٠الشخصي"
#: actions/profilesettings.php:108 lib/groupeditform.php:154
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
+msgstr "1-64 حرÙًا إنجليزيًا أو رقمًا بدون نقاط أو مساÙات"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "الاسم الكامل"
@@ -2579,7 +2625,7 @@ msgid "Bio"
msgstr "السيرة"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2605,7 +2651,7 @@ msgid ""
msgstr ""
"سÙÙ… Ù†Ùسك (حرو٠وأرقام Ùˆ \"-\" Ùˆ \".\" Ùˆ \"_\")ØŒ اÙصلها بÙاصلة (',') أو مساÙØ©."
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "اللغة"
@@ -2631,7 +2677,7 @@ msgstr "اشترك تلقائيًا بأي شخص يشترك بي (ÙŠÙضل أن
msgid "Bio is too long (max %d chars)."
msgstr ""
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "لم تÙختر المنطقة الزمنية."
@@ -2660,7 +2706,8 @@ msgstr "تعذّر Ø­Ùظ المل٠الشخصي."
msgid "Couldn't save tags."
msgstr "تعذّر Ø­Ùظ الوسوم."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Ø­ÙÙظت الإعدادات."
@@ -2673,45 +2720,45 @@ msgstr "وراء حد الصÙحة (%s)"
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "المسار الزمني العام، صÙحة %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "المسار الزمني العام"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "كن أول من ÙŠÙرسل!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2724,7 +2771,7 @@ msgstr ""
"الآن](%%action.register%%) لتشارك اشعاراتك مع أصدقائك وعائلتك وزملائك! "
"([اقرأ المزيد](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2895,8 +2942,7 @@ msgstr "عذرا، رمز دعوة غير صالح."
msgid "Registration successful"
msgstr "نجح التسجيل"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "سجّل"
@@ -2935,7 +2981,7 @@ msgid "Same as password above. Required."
msgstr "Ù†Ùس كلمة السر أعلاه. مطلوب."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "البريد الإلكتروني"
@@ -3019,7 +3065,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "اشترك"
@@ -3055,7 +3101,7 @@ msgstr "لا يمكنك تكرار ملاحظتك الشخصية."
msgid "You already repeated that notice."
msgstr "أنت كررت هذه الملاحظة بالÙعل."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "مكرر"
@@ -3063,47 +3109,47 @@ msgstr "مكرر"
msgid "Repeated!"
msgstr "مكرر!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "الردود على %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "الردود على %s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr ""
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr ""
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr ""
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3115,6 +3161,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "لا يمكنك إسكات المستخدمين على هذا الموقع."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "المستخدم بدون مل٠مطابق."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "ستاتس نت"
@@ -3127,8 +3183,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "الجلسات"
@@ -3153,8 +3210,8 @@ msgstr "تنقيح الجلسة"
msgid "Turn on debugging output for sessions."
msgstr "مكّن تنقيح Ù…Ùخرجات الجلسة."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "اذ٠إعدادت الموقع"
@@ -3184,8 +3241,8 @@ msgstr "المنظمة"
msgid "Description"
msgstr "الوصÙ"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "إحصاءات"
@@ -3246,28 +3303,28 @@ msgstr "إشعارات %s المÙÙضلة"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr ""
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr ""
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr ""
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3276,7 +3333,7 @@ msgstr ""
"%s لم يض٠أي إشعارات إلى Ù…Ùضلته إلى الآن. أرسل شيئًا شيقًا ليضيÙÙ‡ إلى "
"Ù…Ùضلته. :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3286,7 +3343,7 @@ msgstr ""
"%s لم يض٠أي إشعارات إلى Ù…Ùضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action."
"register%%%%) وترسل شيئًا شيقًا ليضيÙÙ‡ إلى Ù…Ùضلته. :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "إنها إحدى وسائل مشاركة ما تحب."
@@ -3300,67 +3357,67 @@ msgstr "مجموعة %s"
msgid "%1$s group, page %2$d"
msgstr "%1$s أعضاء المجموعة, الصÙحة %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "مل٠المجموعة الشخصي"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "مسار"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "ملاحظة"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "الكنى"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr ""
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "الأعضاء"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(لا شيء)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "جميع الأعضاء"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "أنشئ"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3369,8 +3426,13 @@ msgid ""
"their life and interests. [Join now](%%%%action.register%%%%) to become part "
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
+"**%s** مجموعة مستخدمين على %%%%site.name%%%%ØŒ خدمة [التدوين المÙصغّر](http://"
+"en.wikipedia.org/wiki/Micro-blogging) المبنية على البرنامج الحر [StatusNet]"
+"(http://status.net/). يتشارك أعضاؤها رسائل قصيرة عن حياتهم واهتماماتهم. "
+"[انضم الآن](%%%%action.register%%%%) لتصبح عضوًا ÙÙŠ هذه المجموعة ومجموعات "
+"أخرى عديدة! ([اقرأ المزيد](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3378,8 +3440,11 @@ msgid ""
"[StatusNet](http://status.net/) tool. Its members share short messages about "
"their life and interests. "
msgstr ""
+"**%s** مجموعة مستخدمين على %%%%site.name%%%%ØŒ خدمة [التدوين المÙصغّر](http://"
+"en.wikipedia.org/wiki/Micro-blogging) المبنية على البرنامج الحر [StatusNet]"
+"(http://status.net/). يتشارك أعضاؤها رسائل قصيرة عن حياتهم واهتماماتهم. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "الإداريون"
@@ -3411,9 +3476,9 @@ msgid " tagged %s"
msgstr ""
#: 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
@@ -3466,6 +3531,11 @@ msgid ""
"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
+"لدى **%s** حساب على %%site.name%%ØŒ خدمة [التدوين المÙصغّر](http://en."
+"wikipedia.org/wiki/Micro-blogging) المبنية على البرنامج الحر [StatusNet]"
+"(http://status.net/). يتشارك أعضاؤها رسائل قصيرة عن حياتهم واهتماماتهم. "
+"[انضم الآن](%%%%action.register%%%%) لتتابع إشعارت **%s** وغيره! ([اقرأ "
+"المزيد](%%%%doc.help%%%%))"
#: actions/showstream.php:248
#, php-format
@@ -3489,146 +3559,131 @@ msgid "User is already silenced."
msgstr "المستخدم مسكت من قبل."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr "الإعدادات الأساسية لموقع StatusNet هذا."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "يجب ألا يكون طول اسم الموقع صÙرًا."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "يجب أن تملك عنوان بريد إلكتروني صحيح."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "لغة غير معروÙØ© \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "حد النص الأدنى هو 140 حرÙًا."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "عام"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "اسم الموقع"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "اسم موقعك، \"التدوين المصغر لشركتك\" مثلا"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "عنوان البريد الإلكتروني للاتصال بموقعك"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "محلي"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "المنطقة الزمنية المبدئية"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "المنطقة الزمنية المبدئية للموقع؛ ت‌ع‌م عادة."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr "لغة الموقع المبدئية"
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "ÙÙŠ مهمة Ù…Ùجدولة"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "التكرار"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
+msgstr "اللغة المبدئية"
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "بلّغ عن المسار"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "الحدود"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "حد النص"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "أقصى عدد للحرو٠ÙÙŠ الإشعارات."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "إشعار الموقع"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "عدّل رسالة الموقع العامة"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "مشكلة أثناء Ø­Ùظ الإشعار."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "نص إشعار الموقع"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr "نص إشعار عام للموقع (255 حر٠كحد أقصى؛ يسمح بHTML)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "احÙظ إشعار الموقع"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "إعدادات الرسائل القصيرة"
@@ -3696,7 +3751,7 @@ msgstr ""
#: actions/smssettings.php:374
msgid "That is the wrong confirmation number."
-msgstr ""
+msgstr "إن رقم التأكيد هذا خاطئ."
#: actions/smssettings.php:405
msgid "That is not your phone number."
@@ -3719,8 +3774,68 @@ msgstr ""
#: actions/smssettings.php:498
msgid "No code entered"
+msgstr "لم تدخل رمزًا"
+
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "غيّر ضبط الموقع"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
msgstr ""
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "ÙÙŠ مهمة Ù…Ùجدولة"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "التكرار"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "بلّغ عن المسار"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "اذ٠إعدادت الموقع"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3732,10 +3847,9 @@ msgstr "تعذّر Ø­Ùظ الاشتراك."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "هذا الإجراء يقبل طلبات POST Ùقط."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
msgstr "لا مل٠كهذا."
@@ -3826,22 +3940,22 @@ msgstr "جابر"
msgid "SMS"
msgstr "رسائل قصيرة"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "الإشعارات الموسومة ب%s"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr ""
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -3891,7 +4005,7 @@ msgstr ""
msgid "No such tag."
msgstr "لا وسم كهذا."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -3915,76 +4029,77 @@ msgstr ""
msgid "Unsubscribed"
msgstr ""
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "المستخدم"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "رسالة ترحيب غير صالحة. أقصى طول هو 255 حرÙ."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "المل٠الشخصي"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "حد السيرة"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "مستخدمون جدد"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "ترحيب المستخدمين الجدد"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "نص الترحيب بالمستخدمين الجدد (255 حرÙًا كحد أقصى)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "الاشتراك المبدئي"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "أشرك المستخدمين الجدد بهذا المستخدم تلقائيًا."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "الدعوات"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "الدعوات Ù…ÙÙعلة"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4089,7 +4204,7 @@ msgstr "تصميم المل٠الشخصي"
msgid ""
"Customize the way your profile looks with a background image and a colour "
"palette of your choice."
-msgstr ""
+msgstr "خصّص أسلوب عرض ملÙÙƒ بصورة خلÙية ومخطط ألوان من اختيارك."
#: actions/userdesignsettings.php:282
msgid "Enjoy your hotdog!"
@@ -4104,16 +4219,22 @@ msgstr "%1$s أعضاء المجموعة, الصÙحة %2$d"
msgid "Search for more groups"
msgstr "ابحث عن المزيد من المجموعات"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
-msgstr ""
+msgstr "%s ليس عضوًا ÙÙŠ أي مجموعة."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4125,10 +4246,12 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
+"هذا الموقع يشغله %1$s النسخة %2$s، حقوق النشر 2008-2010 StatusNet, Inc "
+"ومساهموها."
#: actions/version.php:161
msgid "Contributors"
-msgstr ""
+msgstr "المساهمون"
#: actions/version.php:168
msgid ""
@@ -4155,9 +4278,9 @@ msgstr ""
#: actions/version.php:189
msgid "Plugins"
-msgstr "ملحقات"
+msgstr "الملحقات"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "النسخة"
@@ -4194,6 +4317,10 @@ msgstr "ليس جزءا من المجموعة."
msgid "Group leave failed."
msgstr "ترك المجموعة Ùشل."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "تعذر تحديث المجموعة المحلية."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4211,44 +4338,44 @@ msgstr "تعذّر إدراج الرسالة."
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "مشكلة ÙÙŠ Ø­Ùظ الإشعار. طويل جدًا."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "مشكلة ÙÙŠ Ø­Ùظ الإشعار. مستخدم غير معروÙ."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "مشكلة أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "مشكلة أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تي @%1$s %2$s"
@@ -4273,23 +4400,38 @@ msgstr "غير مشترك!"
msgid "Couldn't delete self-subscription."
msgstr "لم يمكن حذ٠اشتراك ذاتي."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "تعذّر حذ٠الاشتراك."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "تعذّر حذ٠الاشتراك."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "أهلا بكم ÙÙŠ %1$s يا @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "تعذّر إنشاء المجموعة."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "تعذّر ضبط عضوية المجموعة."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "تعذّر ضبط عضوية المجموعة."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "تعذّر Ø­Ùظ الاشتراك."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "غيّر إعدادات ملÙÙƒ الشخصي"
@@ -4327,124 +4469,171 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "صÙحة غير Ù…Ùعنونة"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "الرئيسية"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "المل٠الشخصي ومسار الأصدقاء الزمني"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "الصÙحة الشخصية"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "غير بريدك الإلكتروني وكلمة سرّك وأÙتارك وملÙÙƒ الشخصي"
+
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr "اتصالات"
-#: lib/action.php:444
+#: lib/action.php:443
msgid "Connect"
msgstr "اتصل"
-#: lib/action.php:444
-msgid "Connect to services"
-msgstr ""
-
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "غيّر ضبط الموقع"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ادعÙ"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "إداري"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "ادع٠أصدقائك وزملائك للانضمام إليك ÙÙŠ %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "اخرج"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ادعÙ"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "اخرج من الموقع"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "اخرج"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "أنشئ حسابًا"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "سجّل"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Ù„Ùج إلى الموقع"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "مساعدة"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Ù„Ùج"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "ساعدني!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "ابحث"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "مساعدة"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
-msgstr "ابحث عن أشخاص أو نص"
+msgstr "ابحث عن أشخاص أو نصوص"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "ابحث"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "إشعار الموقع"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "المشاهدات المحلية"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "إشعار الصÙحة"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "مساعدة"
+
+#: lib/action.php:754
msgid "About"
msgstr "عن"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "الأسئلة المكررة"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "الشروط"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "خصوصية"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "المصدر"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "اتصل"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
-msgstr ""
+msgstr "الجسر"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "رخصة برنامج StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4453,12 +4642,12 @@ msgstr ""
"**%%site.name%%** خدمة تدوين مصغر يقدمها لك [%%site.broughtby%%](%%site."
"broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4469,108 +4658,144 @@ msgstr ""
"المتوÙر تحت [رخصة غنو Ø£Ùيرو العمومية](http://www.fsf.org/licensing/licenses/"
"agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "رخصة محتوى الموقع"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "الرخصة."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "بعد"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "قبل"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
-msgstr ""
+msgstr "لا يمكنك إجراء تغييرات على هذا الموقع."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "التغييرات لهذه اللوحة غير مسموح بها."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "تعذّر حذ٠إعدادات التصميم."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "ضبط الموقع الأساسي"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "الموقع"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "ضبط التصميم"
-#: lib/adminpanelaction.php:322
-#, fuzzy
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "التصميم"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
-msgstr "ضبط المسارات"
+msgstr "ضبط المستخدم"
-#: lib/adminpanelaction.php:327
-#, fuzzy
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "المستخدم"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
-msgstr "ضبط التصميم"
+msgstr "ضبط الحساب"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "ضبط المسارات"
-#: lib/adminpanelaction.php:337
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
-msgstr "ضبط التصميم"
+msgstr "ضبط الجلسات"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "عدّل إشعار الموقع"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "ضبط المسارات"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4581,7 +4806,7 @@ msgstr "عدّل التطبيق"
#: lib/applicationeditform.php:184
msgid "Icon for this application"
-msgstr ""
+msgstr "أيقونة لهذا التطبيق"
#: lib/applicationeditform.php:204
#, php-format
@@ -4614,7 +4839,7 @@ msgstr ""
#: lib/applicationeditform.php:258
msgid "Browser"
-msgstr ""
+msgstr "متصÙØ­"
#: lib/applicationeditform.php:274
msgid "Desktop"
@@ -4660,11 +4885,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr "وسوم هذا المرÙÙ‚"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "تغيير كلمة السر Ùشل"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "تغيير كلمة السر غير مسموح به"
@@ -4751,12 +4976,12 @@ msgstr "%s ترك المجموعة %s"
msgid "Fullname: %s"
msgstr "الاسم الكامل: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "الموقع: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "الصÙحة الرئيسية: %s"
@@ -4816,9 +5041,8 @@ msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:554 lib/command.php:589
-#, fuzzy
msgid "No such user"
-msgstr "لا مستخدم كهذا."
+msgstr "لا مستخدم كهذا"
#: lib/command.php:561
#, php-format
@@ -4836,23 +5060,23 @@ msgstr ""
#: lib/command.php:613 lib/command.php:636
msgid "Command not yet implemented."
-msgstr ""
+msgstr "الأمر لم ÙŠÙجهزّ بعد."
#: lib/command.php:616
msgid "Notification off."
-msgstr ""
+msgstr "الإشعار Ù…ÙØ·ÙØ£."
#: lib/command.php:618
msgid "Can't turn off notification."
-msgstr ""
+msgstr "تعذّر إطÙاء الإشعارات."
#: lib/command.php:639
msgid "Notification on."
-msgstr ""
+msgstr "الإشعار يعمل."
#: lib/command.php:641
msgid "Can't turn on notification."
-msgstr ""
+msgstr "تعذّر تشغيل الإشعار."
#: lib/command.php:654
msgid "Login command is disabled"
@@ -4952,19 +5176,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "اذهب إلى المÙثبّت."
@@ -5061,6 +5285,11 @@ msgstr ""
msgid "Go"
msgstr "اذهب"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5150,23 +5379,23 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr ""
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr ""
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "نوع مل٠غير معروÙ"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "ميجابايت"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "كيلوبايت"
@@ -5190,17 +5419,17 @@ msgstr "غادر"
#: lib/logingroupnav.php:80
msgid "Login with a username and password"
-msgstr ""
+msgstr "Ù„Ùج باسم مستخدم وكلمة سر"
#: lib/logingroupnav.php:86
msgid "Sign up for a new account"
-msgstr ""
+msgstr "سجّل حسابًا جديدًا"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "تأكيد عنوان البريد الإلكتروني"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5216,13 +5445,25 @@ msgid ""
"Thanks for your time, \n"
"%s\n"
msgstr ""
+"مرحبًا، %s.\n"
+"\n"
+"لقد أدخل أحدهم قبل لحظات عنوان البريد الإلكتروني هذا على %s.\n"
+"\n"
+"إذا كنت هو، وإذا كنت تريد تأكيد هذه المدخلة، Ùاستخدم المسار أدناه:\n"
+"\n"
+" %s\n"
+"\n"
+"إذا كان الأمر خلا٠ذلك، Ùتجاهل هذه الرسالة.\n"
+"\n"
+"شكرًا على الوقت الذي أمضيته، \n"
+"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s يستمع الآن إلى إشعاراتك على %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5247,17 +5488,17 @@ msgstr ""
"----\n"
"غيّر خيارات البريد الإلكتروني والإشعار ÙÙŠ %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "السيرة: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
-msgstr ""
+msgstr "عنوان بريد إلكتروني جديد للإرسال إلى %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5270,21 +5511,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "حالة %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
-msgstr ""
+msgstr "تأكيد الرسالة القصيرة"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
-msgstr ""
+msgstr "لقد نبهك %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5300,12 +5541,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "رسالة خاصة جديدة من %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5324,12 +5565,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
-msgstr ""
+msgstr "لقد أضا٠%s (@%s) إشعارك إلى Ù…Ùضلاته"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5350,12 +5591,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "لقد أرسل %s (@%s) إشعارًا إليك"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5469,6 +5710,11 @@ msgstr "إلى"
msgid "Available characters"
msgstr "المحار٠المتوÙرة"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "أرسل"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "أرسل إشعارًا"
@@ -5525,23 +5771,23 @@ msgstr "غ"
msgid "at"
msgstr "ÙÙŠ"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "ÙÙŠ السياق"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "مكرر بواسطة"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "رÙد على هذا الإشعار"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "رÙد"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "الإشعار مكرر"
@@ -5612,9 +5858,9 @@ msgstr "وسوم ÙÙŠ إشعارات %s"
#: lib/plugin.php:114
msgid "Unknown"
-msgstr "غير معروÙ"
+msgstr "غير معروÙØ©"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "الاشتراكات"
@@ -5622,23 +5868,23 @@ msgstr "الاشتراكات"
msgid "All subscriptions"
msgstr "جميع الاشتراكات"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "المشتركون"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "جميع المشتركين"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "هوية المستخدم"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "عضو منذ"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "كل المجموعات"
@@ -5668,7 +5914,7 @@ msgstr "Ù…Ùختارون"
#: lib/publicgroupnav.php:92
msgid "Popular"
-msgstr "مشهورة"
+msgstr "محبوبة"
#: lib/repeatform.php:107
msgid "Repeat this notice?"
@@ -5678,7 +5924,12 @@ msgstr "أأكرّر هذا الإشعار؟ّ"
msgid "Repeat this notice"
msgstr "كرّر هذا الإشعار"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "امنع هذا المستخدم من هذه المجموعة"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5698,6 +5949,10 @@ msgstr "ابحث ÙÙŠ الموقع"
msgid "Keyword(s)"
msgstr "الكلمات المÙتاحية"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "ابحث"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "ابحث ÙÙŠ المساعدة"
@@ -5749,6 +6004,15 @@ msgstr "الأشخاص المشتركون ب%s"
msgid "Groups %s is a member of"
msgstr "المجموعات التي %s عضو Ùيها"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ادعÙ"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5819,47 +6083,62 @@ msgstr "رسالة"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "مل٠المستخدم الشخصي"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "إداري"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "مراقب"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "قبل لحظات قليلة"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "قبل دقيقة تقريبًا"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "قبل ساعة تقريبًا"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "قبل يوم تقريبا"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "قبل شهر تقريبًا"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "قبل سنة تقريبًا"
diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po
index cd8640753..aaf1d89bd 100644
--- a/locale/arz/LC_MESSAGES/statusnet.po
+++ b/locale/arz/LC_MESSAGES/statusnet.po
@@ -10,79 +10,87 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:08+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:19+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.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Ù†Ùاذ"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "اذ٠إعدادت الموقع"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "سجّل"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "خاص"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "أأمنع المستخدمين المجهولين (غير الوالجين) من عرض الموقع؟"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "بالدعوه Ùقط"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "خاص"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Ù…Ùغلق"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "بالدعوه Ùقط"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "أرسل"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Ù…Ùغلق"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "اذ٠إعدادت الموقع"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "أرسل"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "لا صÙحه كهذه"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -96,72 +104,82 @@ msgstr "لا صÙحه كهذه"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "لا مستخدم كهذا."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s Ùˆ الصحاب, صÙحه %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s والأصدقاء"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr ""
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr ""
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr ""
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "أنت والأصدقاء"
@@ -179,20 +197,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "الـ API method مش موجوده."
@@ -224,8 +242,9 @@ msgstr "تعذّر تحديث المستخدم."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "ليس للمستخدم مل٠شخصى."
@@ -249,7 +268,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -359,68 +378,68 @@ msgstr ""
msgid "Could not find target user."
msgstr "تعذّر إيجاد المستخدم الهدÙ."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr ""
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "ليس اسمًا مستعارًا صحيحًا."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "الصÙحه الرئيسيه ليست عنونًا صالحًا."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرÙًا)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr ""
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr ""
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "كنيه غير صالحة: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr ""
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -431,15 +450,15 @@ msgstr ""
msgid "Group not found!"
msgstr "لم توجد المجموعة!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr ""
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "ما Ù†Ùعش يضم %1$s للجروپ %2$s."
@@ -448,7 +467,7 @@ msgstr "ما Ù†Ùعش يضم %1$s للجروپ %2$s."
msgid "You are not a member of this group."
msgstr ""
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "ما Ù†Ùعش يتشال اليوزر %1$s من الجروپ %2$s."
@@ -480,7 +499,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -523,7 +542,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -546,13 +565,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "الحساب"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -633,18 +652,6 @@ msgstr ""
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr ""
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "مسار %s الزمني"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -655,12 +662,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "مسار %s الزمنى العام"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -675,12 +682,12 @@ msgstr "كرر إلى %s"
msgid "Repeats of %s"
msgstr "تكرارات %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "الإشعارات الموسومه ب%s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr ""
@@ -696,8 +703,7 @@ msgstr "لا مرÙÙ‚ كهذا."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "لا اسم مستعار."
@@ -709,7 +715,7 @@ msgstr "لا حجم."
msgid "Invalid size."
msgstr "حجم غير صالح."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Ø£Ùتار"
@@ -721,35 +727,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "إعدادات الأÙتار"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "الأصلي"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "عاين"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "احذÙ"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "ارÙع"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -757,7 +763,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -789,22 +795,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "لا"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "لا تمنع هذا المستخدم"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "نعم"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "امنع هذا المستخدم"
@@ -812,39 +818,43 @@ msgstr "امنع هذا المستخدم"
msgid "Failed to save block information."
msgstr "Ùشل Ø­Ùظ معلومات المنع."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "لا مجموعه كهذه."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr ""
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s Ùايلات معمول ليها بلوك, الصÙحه %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "ألغ منع المستخدم من المجموعة"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "ألغ٠المنع"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "ألغ٠منع هذا المستخدم"
@@ -900,7 +910,7 @@ msgid "Conversation"
msgstr "محادثة"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "الإشعارات"
@@ -921,7 +931,7 @@ msgstr "انت مش بتملك الapplication دى."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -947,12 +957,13 @@ msgstr "لا تحذ٠هذا الإشعار"
msgid "Delete this application"
msgstr "احذ٠هذا الإشعار"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "لست والجًا."
@@ -979,7 +990,7 @@ msgstr "أمتأكد من أنك تريد حذ٠هذا الإشعار؟"
msgid "Do not delete this notice"
msgstr "لا تحذ٠هذا الإشعار"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "احذ٠هذا الإشعار"
@@ -995,18 +1006,18 @@ msgstr "يمكنك حذ٠المستخدمين المحليين Ùقط."
msgid "Delete user"
msgstr "احذ٠المستخدم"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "احذ٠هذا المستخدم"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "التصميم"
@@ -1107,6 +1118,18 @@ msgstr "استعد التصميمات المبدئية"
msgid "Reset back to default"
msgstr "ارجع إلى المبدئي"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "أرسل"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "احÙظ التصميم"
@@ -1199,29 +1222,29 @@ msgstr "عدّل مجموعه %s"
msgid "You must be logged in to create a group."
msgstr "يجب أن تكون والجًا لتنشئ مجموعه."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "لازم تكون ادارى علشان تعدّل الجروپ."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "استخدم هذا النموذج لتعديل المجموعه."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr ""
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "تعذر تحديث المجموعه."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "تعذّر إنشاء الكنى."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Ø­ÙÙظت الخيارات."
@@ -1337,7 +1360,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "ليس عنوان بريد صالح."
@@ -1521,6 +1544,25 @@ msgstr "لا مل٠كهذا."
msgid "Cannot read file."
msgstr "تعذّرت قراءه الملÙ."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "حجم غير صالح."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "لا يمكنك إسكات المستخدمين على هذا الموقع."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "المستخدم مسكت من قبل."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1550,7 +1592,7 @@ msgstr ""
msgid "User is not a member of group."
msgstr "المستخدم ليس عضوًا ÙÙ‰ المجموعه."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "امنع المستخدم من المجموعة"
@@ -1582,91 +1624,97 @@ msgstr "لا هويه."
msgid "You must be logged in to edit a group."
msgstr "يجب أن تلج لتÙعدّل المجموعات."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "تصميم المجموعة"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "تعذّر تحديث تصميمك."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr ""
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "شعار المجموعة"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "يوزر من-غير پروÙايل زيّه."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Ø­Ùدّث الشعار."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Ùشل رÙع الشعار."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "أعضاء مجموعه %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s اعضاء الجروپ, صÙحه %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "قائمه بمستخدمى هذه المجموعه."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "إداري"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "امنع"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "اجعل هذا المستخدم إداريًا"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "مسار %s الزمني"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr ""
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "مجموعات"
@@ -1897,16 +1945,19 @@ msgstr "رساله شخصية"
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "أرسل"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1941,7 +1992,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "لا اسم مستعار."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s دخل جروپ %2$s"
@@ -1950,11 +2006,11 @@ msgstr "%1$s دخل جروپ %2$s"
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "لست عضوا ÙÙ‰ تلك المجموعه."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ساب جروپ %2$s"
@@ -1971,8 +2027,7 @@ msgstr "اسم المستخدم أو كلمه السر غير صحيحان."
msgid "Error setting user. You are probably not authorized."
msgstr "خطأ أثناء ضبط المستخدم. لست Ù…Ùصرحًا على الأرجح."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Ù„Ùج"
@@ -2212,8 +2267,8 @@ msgstr "نوع المحتوى "
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr " مش نظام بيانات مدعوم."
@@ -2352,7 +2407,8 @@ msgstr "تعذّر Ø­Ùظ كلمه السر الجديده."
msgid "Password saved."
msgstr "Ø­ÙÙظت كلمه السر."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "المسارات"
@@ -2385,7 +2441,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "الموقع"
@@ -2473,7 +2528,7 @@ msgstr "دليل الخلÙيات"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "مطلقا"
@@ -2526,11 +2581,11 @@ msgstr "ليس وسم أشخاص صالح: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr ""
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "محتوى إشعار غير صالح"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2553,7 +2608,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "الاسم الكامل"
@@ -2581,7 +2636,7 @@ msgid "Bio"
msgstr "السيرة"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2606,7 +2661,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "اللغة"
@@ -2632,7 +2687,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr ""
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "لم تÙختر المنطقه الزمنيه."
@@ -2661,7 +2716,8 @@ msgstr "تعذّر Ø­Ùظ المل٠الشخصى."
msgid "Couldn't save tags."
msgstr "تعذّر Ø­Ùظ الوسوم."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Ø­ÙÙظت الإعدادات."
@@ -2674,45 +2730,45 @@ msgstr "وراء حد الصÙحه (%s)"
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "المسار الزمنى العام، صÙحه %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "المسار الزمنى العام"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "كن أول من ÙŠÙرسل!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2725,7 +2781,7 @@ msgstr ""
"الآن](%%action.register%%) لتشارك اشعاراتك مع أصدقائك وعائلتك وزملائك! "
"([اقرأ المزيد](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2896,8 +2952,7 @@ msgstr "عذرا، رمز دعوه غير صالح."
msgid "Registration successful"
msgstr "نجح التسجيل"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "سجّل"
@@ -2936,7 +2991,7 @@ msgid "Same as password above. Required."
msgstr "Ù†Ùس كلمه السر أعلاه. مطلوب."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "البريد الإلكتروني"
@@ -3020,7 +3075,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "اشترك"
@@ -3056,7 +3111,7 @@ msgstr "ما ينÙعش تكرر الملاحظه بتاعتك."
msgid "You already repeated that notice."
msgstr "انت عيدت الملاحظه دى Ùعلا."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "مكرر"
@@ -3064,47 +3119,47 @@ msgstr "مكرر"
msgid "Repeated!"
msgstr "مكرر!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "الردود على %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "الردود على %s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr ""
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr ""
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr ""
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3116,6 +3171,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "لا يمكنك إسكات المستخدمين على هذا الموقع."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "يوزر من-غير پروÙايل زيّه."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3128,8 +3193,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "الجلسات"
@@ -3154,8 +3220,8 @@ msgstr "تنقيح الجلسة"
msgid "Turn on debugging output for sessions."
msgstr "مكّن تنقيح Ù…Ùخرجات الجلسه."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "اذ٠إعدادت الموقع"
@@ -3185,8 +3251,8 @@ msgstr "المنظمه"
msgid "Description"
msgstr "الوصÙ"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "إحصاءات"
@@ -3247,28 +3313,28 @@ msgstr "إشعارات %s المÙÙضلة"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr ""
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr ""
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr ""
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3277,7 +3343,7 @@ msgstr ""
"%s لم يض٠أى إشعارات إلى Ù…Ùضلته إلى الآن. أرسل شيئًا شيقًا ليضيÙÙ‡ إلى "
"Ù…Ùضلته. :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3287,7 +3353,7 @@ msgstr ""
"%s لم يض٠أى إشعارات إلى Ù…Ùضلته إلى الآن. لمّ لا [تسجل حسابًا](%%%%action."
"register%%%%) وترسل شيئًا شيقًا ليضيÙÙ‡ إلى Ù…Ùضلته. :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "إنها إحدى وسائل مشاركه ما تحب."
@@ -3301,67 +3367,67 @@ msgstr "مجموعه %s"
msgid "%1$s group, page %2$d"
msgstr "%1$s أعضاء المجموعة, الصÙحه %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "مل٠المجموعه الشخصي"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "مسار"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "ملاحظة"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "الكنى"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr ""
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "الأعضاء"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(لا شيء)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "جميع الأعضاء"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "أنشئ"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3371,7 +3437,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3380,7 +3446,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "الإداريون"
@@ -3490,146 +3556,137 @@ msgid "User is already silenced."
msgstr "المستخدم مسكت من قبل."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "الإعدادات الأساسيه لموقع StatusNet هذا."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "يجب ألا يكون طول اسم الموقع صÙرًا."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "لازم يكون عندك عنوان ايميل صالح."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "لغه مش معروÙÙ‡ \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "حد النص الأدنى هو 140 حرÙًا."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "عام"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "اسم الموقع"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "اسم موقعك، \"التدوين المصغر لشركتك\" مثلا"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "عنوان البريد الإلكترونى للاتصال بموقعك"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "محلي"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "المنطقه الزمنيه المبدئية"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "المنطقه الزمنيه المبدئيه للموقع؛ ت‌ع‌م عاده."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "لغه الموقع المبدئية"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "ÙÙ‰ مهمه Ù…Ùجدولة"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "التكرار"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "بلّغ عن المسار"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "الحدود"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "حد النص"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "أقصى عدد للحرو٠ÙÙ‰ الإشعارات."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "إشعار الموقع"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "رساله جديدة"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "مشكله أثناء Ø­Ùظ الإشعار."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "إشعار الموقع"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "إشعار الموقع"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "تظبيطات الـSMS"
@@ -3722,6 +3779,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "غيّر ضبط الموقع"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "ÙÙ‰ مهمه Ù…Ùجدولة"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "التكرار"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "بلّغ عن المسار"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "اذ٠إعدادت الموقع"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3827,22 +3944,22 @@ msgstr "جابر"
msgid "SMS"
msgstr "رسائل قصيرة"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "الإشعارات الموسومه ب%s"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr ""
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -3892,7 +4009,7 @@ msgstr ""
msgid "No such tag."
msgstr "لا وسم كهذا."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -3916,76 +4033,78 @@ msgstr ""
msgid "Unsubscribed"
msgstr ""
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "المستخدم"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "رساله ترحيب غير صالحه. أقصى طول هو 255 حرÙ."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "المل٠الشخصي"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "حد السيرة"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "مستخدمون جدد"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "ترحيب المستخدمين الجدد"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "نص الترحيب بالمستخدمين الجدد (255 حرÙًا كحد أقصى)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "الاشتراك المبدئي"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "أشرك المستخدمين الجدد بهذا المستخدم تلقائيًا."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "الدعوات"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "الدعوات Ù…ÙÙعلة"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4105,16 +4224,22 @@ msgstr "%1$s أعضاء المجموعة, الصÙحه %2$d"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4158,7 +4283,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "النسخه"
@@ -4195,6 +4320,11 @@ msgstr "مش جزء من الجروپ."
msgid "Group leave failed."
msgstr "الخروج من الجروپ Ùشل."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "تعذر تحديث المجموعه."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4212,44 +4342,44 @@ msgstr "تعذّر إدراج الرساله."
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "مشكله ÙÙ‰ Ø­Ùظ الإشعار. طويل جدًا."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "مشكله ÙÙ‰ Ø­Ùظ الإشعار. مستخدم غير معروÙ."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "مشكله أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "مشكله أثناء Ø­Ùظ الإشعار."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تى @%1$s %2$s"
@@ -4274,23 +4404,38 @@ msgstr "غير مشترك!"
msgid "Couldn't delete self-subscription."
msgstr "ما Ù†Ùعش يمسح الاشتراك الشخصى."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "تعذّر حذ٠الاشتراك."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "تعذّر حذ٠الاشتراك."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "أهلا بكم ÙÙ‰ %1$s يا @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "تعذّر إنشاء المجموعه."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "تعذّر ضبط عضويه المجموعه."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "تعذّر ضبط عضويه المجموعه."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "تعذّر Ø­Ùظ الاشتراك."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "غيّر إعدادات ملÙÙƒ الشخصي"
@@ -4328,124 +4473,187 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "صÙحه غير Ù…Ùعنونة"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "الرئيسية"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "المل٠الشخصى ومسار الأصدقاء الزمني"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "شخصية"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "غير كلمه سرّك"
+
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr "كونيكشونات (Connections)"
-#: lib/action.php:444
+#: lib/action.php:443
msgid "Connect"
msgstr "اتصل"
-#: lib/action.php:444
-msgid "Connect to services"
-msgstr ""
-
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "غيّر ضبط الموقع"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ادعÙ"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "إداري"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
-msgstr "اخرج"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ادعÙ"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "اخرج من الموقع"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "اخرج"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "أنشئ حسابًا"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "سجّل"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Ù„Ùج إلى الموقع"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "مساعدة"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Ù„Ùج"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "ساعدني!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "ابحث"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "مساعدة"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "ابحث عن أشخاص أو نص"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "ابحث"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "إشعار الموقع"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "المشاهدات المحلية"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "إشعار الصÙحة"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "مساعدة"
+
+#: lib/action.php:754
msgid "About"
msgstr "عن"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "الأسئله المكررة"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "الشروط"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "خصوصية"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "المصدر"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "اتصل"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4454,12 +4662,12 @@ msgstr ""
"**%%site.name%%** خدمه تدوين مصغر يقدمها لك [%%site.broughtby%%](%%site."
"broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4470,108 +4678,150 @@ msgstr ""
"المتوÙر تحت [رخصه غنو Ø£Ùيرو العمومية](http://www.fsf.org/licensing/licenses/"
"agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "رخصه محتوى الموقع"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "الرخصه."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "بعد"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "قبل"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "التغييرات مش مسموحه للـ لوحه دى."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "تعذّر حذ٠إعدادات التصميم."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "ضبط الموقع الأساسي"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "الموقع"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "ضبط التصميم"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "التصميم"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "ضبط المسارات"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "المستخدم"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "ضبط التصميم"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "ضبط المسارات"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "ضبط التصميم"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "إشعار الموقع"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "ضبط المسارات"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4661,11 +4911,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr "وسوم هذا المرÙÙ‚"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "تغيير الپاسوورد Ùشل"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "تغيير الپاسوورد مش مسموح"
@@ -4752,12 +5002,12 @@ msgstr "%s ساب الجروپ %s"
msgid "Fullname: %s"
msgstr "الاسم الكامل: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "الموقع: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "الصÙحه الرئيسية: %s"
@@ -4953,19 +5203,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "اذهب إلى المÙثبّت."
@@ -5062,6 +5312,11 @@ msgstr ""
msgid "Go"
msgstr "اذهب"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5151,23 +5406,23 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr ""
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr ""
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "نوع مل٠غير معروÙ"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "ميجابايت"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "كيلوبايت"
@@ -5197,11 +5452,11 @@ msgstr ""
msgid "Sign up for a new account"
msgstr ""
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "تأكيد عنوان البريد الإلكتروني"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5218,12 +5473,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr ""
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5238,17 +5493,17 @@ msgid ""
"Change your email address or notification options at %8$s\n"
msgstr ""
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "عن Ù†Ùسك: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5261,21 +5516,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "حاله %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5291,12 +5546,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "رساله خاصه جديده من %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5315,12 +5570,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr ""
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5341,12 +5596,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5460,6 +5715,12 @@ msgstr "إلى"
msgid "Available characters"
msgstr "المحار٠المتوÙرة"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "أرسل"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "أرسل إشعارًا"
@@ -5516,23 +5777,23 @@ msgstr "غ"
msgid "at"
msgstr "ÙÙŠ"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "ÙÙ‰ السياق"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "متكرر من"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "رÙد على هذا الإشعار"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "رÙد"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "الإشعار مكرر"
@@ -5605,7 +5866,7 @@ msgstr ""
msgid "Unknown"
msgstr "مش معروÙ"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "الاشتراكات"
@@ -5613,23 +5874,23 @@ msgstr "الاشتراكات"
msgid "All subscriptions"
msgstr "جميع الاشتراكات"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "المشتركون"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "جميع المشتركين"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "هويه المستخدم"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "عضو منذ"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "كل المجموعات"
@@ -5669,7 +5930,12 @@ msgstr "كرر هذا الإشعار؟"
msgid "Repeat this notice"
msgstr "كرر هذا الإشعار"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "امنع هذا المستخدم من هذه المجموعة"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5689,6 +5955,10 @@ msgstr "ابحث ÙÙ‰ الموقع"
msgid "Keyword(s)"
msgstr "الكلمات المÙتاحية"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "ابحث"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "ابحث ÙÙ‰ المساعدة"
@@ -5740,6 +6010,15 @@ msgstr "الأشخاص المشتركون ب%s"
msgid "Groups %s is a member of"
msgstr "المجموعات التى %s عضو Ùيها"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ادعÙ"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5810,47 +6089,63 @@ msgstr "رسالة"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "مل٠المستخدم الشخصي"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "الإداريون"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "قبل لحظات قليلة"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "قبل دقيقه تقريبًا"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "قبل ساعه تقريبًا"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "قبل يوم تقريبا"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "قبل شهر تقريبًا"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "قبل سنه تقريبًا"
diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po
index 3cb121628..3a6b5b047 100644
--- a/locale/bg/LC_MESSAGES/statusnet.po
+++ b/locale/bg/LC_MESSAGES/statusnet.po
@@ -9,75 +9,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:11+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:22+0000\n"
"Language-Team: Bulgarian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "ДоÑтъп"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "ÐаÑтройки за доÑтъп до Ñайта"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "РегиÑтриране"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "ЧаÑтен"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Само Ñ Ð¿Ð¾ÐºÐ°Ð½Ð¸"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "ЧаÑтен"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Ðовите региÑтрации да Ñа Ñамо Ñ Ð¿Ð¾ÐºÐ°Ð½Ð¸."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Затворен"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Само Ñ Ð¿Ð¾ÐºÐ°Ð½Ð¸"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "Запазване"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Затворен"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Запазване наÑтройките за доÑтъп"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Запазване"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "ÐÑма такака Ñтраница."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -91,72 +99,82 @@ msgstr "ÐÑма такака Ñтраница."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "ÐÑма такъв потребител"
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s и приÑтели, Ñтраница %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s и приÑтели"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¿Ñ€Ð¸Ñтелите на %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¿Ñ€Ð¸Ñтелите на %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¿Ñ€Ð¸Ñтелите на %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Вие и приÑтелите"
@@ -174,20 +192,20 @@ msgstr "Бележки от %1$s и приÑтели в %2$s."
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Ðе е открит методът в API."
@@ -219,8 +237,9 @@ msgstr "Грешка при обновÑване на потребителÑ."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "ПотребителÑÑ‚ нÑма профил."
@@ -244,7 +263,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -362,7 +381,7 @@ msgstr "Грешка при изтеглÑне на Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº"
msgid "Could not find target user."
msgstr "ЦелевиÑÑ‚ потребител не беше открит."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -370,62 +389,62 @@ msgstr ""
"ПÑевдонимът може да Ñъдържа Ñамо малки букви, чиÑла и никакво разÑтоÑние "
"между Ñ‚ÑÑ…."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Опитайте друг пÑевдоним, този вече е зает."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ðеправилен пÑевдоним."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "ÐдреÑÑŠÑ‚ на личната Ñтраница не е правилен URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Пълното име е твърде дълго (макÑ. 255 знака)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "ОпиÑанието е твърде дълго (до %d Ñимвола)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Името на меÑтоположението е твърде дълго (макÑ. 255 знака)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ðеправилен пÑевдоним: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "ПÑевдонимът \"%s\" вече е зает. Опитайте друг."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -436,15 +455,15 @@ msgstr ""
msgid "Group not found!"
msgstr "Групата не е открита."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Вече членувате в тази група."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Грешка при проÑледÑване — потребителÑÑ‚ не е намерен."
@@ -453,7 +472,7 @@ msgstr "Грешка при проÑледÑване — потребителÑÑ
msgid "You are not a member of this group."
msgstr "Ðе членувате в тази група."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Грешка при проÑледÑване — потребителÑÑ‚ не е намерен."
@@ -485,7 +504,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -529,7 +548,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -552,13 +571,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Сметка"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -640,18 +659,6 @@ msgstr "%s / ОтбелÑзани като любими от %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s бележки отбелÑзани като любими от %s / %s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Поток на %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Бележки от %1$s в %2$s."
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -662,12 +669,12 @@ msgstr "%1$s / Реплики на %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s реплики на ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ñ‚ %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Общ поток на %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -682,12 +689,12 @@ msgstr "Повторено за %s"
msgid "Repeats of %s"
msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð½Ð° %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Бележки Ñ ÐµÑ‚Ð¸ÐºÐµÑ‚ %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Бележки от %1$s в %2$s."
@@ -704,8 +711,7 @@ msgstr "ÐÑма такъв документ."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "ÐÑма пÑевдоним."
@@ -717,7 +723,7 @@ msgstr "ÐÑма размер."
msgid "Invalid size."
msgstr "Ðеправилен размер."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Ðватар"
@@ -730,35 +736,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Потребител без ÑъответÑтващ профил"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "ÐаÑтройки за аватар"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Оригинал"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Преглед"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Изтриване"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Качване"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "ИзрÑзване"
@@ -766,7 +772,7 @@ msgstr "ИзрÑзване"
msgid "Pick a square area of the image to be your avatar"
msgstr "Изберете квадратна облаÑÑ‚ от изображението за аватар"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -798,22 +804,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Ðе"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Да не Ñе блокира този потребител"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Да"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Блокиране на потребителÑ"
@@ -821,40 +827,44 @@ msgstr "Блокиране на потребителÑ"
msgid "Failed to save block information."
msgstr "Грешка при запиÑване данните за блокирането."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "ÐÑма такава група"
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "Блокирани за %s"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Блокирани за %s, Ñтраница %d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
#, fuzzy
msgid "A list of the users blocked from joining this group."
msgstr "СпиÑък Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ð¸Ñ‚Ðµ в тази група."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Разблокиране на Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ñ Ð¾Ñ‚ групата"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Разблокиране"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Разблокиране на този потребител"
@@ -911,7 +921,7 @@ msgid "Conversation"
msgstr "Разговор"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Бележки"
@@ -933,7 +943,7 @@ msgstr "Ðе членувате в тази група."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Имаше проблем ÑÑŠÑ ÑеÑиÑта ви в Ñайта."
@@ -959,12 +969,13 @@ msgstr "Да не Ñе изтрива бележката"
msgid "Delete this application"
msgstr "Изтриване на бележката"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ðе Ñте влезли в ÑиÑтемата."
@@ -991,7 +1002,7 @@ msgstr "ÐаиÑтина ли иÑкате да изтриете тази бел
msgid "Do not delete this notice"
msgstr "Да не Ñе изтрива бележката"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Изтриване на бележката"
@@ -1007,18 +1018,18 @@ msgstr "Може да изтривате Ñамо локални потребиÑ
msgid "Delete user"
msgstr "Изтриване на потребител"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Изтриване на този потребител"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1124,6 +1135,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Запазване"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1226,31 +1249,31 @@ msgstr "Редактиране на групата %s"
msgid "You must be logged in to create a group."
msgstr "За да Ñъздавате група, Ñ‚Ñ€Ñбва да Ñте влезли."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "За да редактирате групата, Ñ‚Ñ€Ñбва да Ñте й админиÑтратор."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "ОпиÑанието е твърде дълго (до %d Ñимвола)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Грешка при обновÑване на групата."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "Грешка при отбелÑзване като любима."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "ÐаÑтройките Ñа запазени."
@@ -1369,7 +1392,7 @@ msgid "Cannot normalize that email address"
msgstr "Грешка при нормализиране адреÑа на е-пощата"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ðеправилен Ð°Ð´Ñ€ÐµÑ Ð½Ð° е-поща."
@@ -1562,6 +1585,25 @@ msgstr "ÐÑма такъв файл."
msgid "Cannot read file."
msgstr "Грешка при четене на файла."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Ðеправилен размер."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Ðе може да изпращате ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð¾ този потребител."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "ПотребителÑÑ‚ вече е заглушен."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1591,7 +1633,7 @@ msgstr "ПотребителÑÑ‚ вече е блокиран за групатÐ
msgid "User is not a member of group."
msgstr "ПотребителÑÑ‚ не членува в групата."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "Блокиране на потребителÑ"
@@ -1626,97 +1668,103 @@ msgstr "ЛипÑва ID."
msgid "You must be logged in to edit a group."
msgstr "За да редактирате група, Ñ‚Ñ€Ñбва да Ñте влезли."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
#, fuzzy
msgid "Group design"
msgstr "Групи"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Грешка при обновÑване на потребителÑ."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "ÐаÑтройките Ñа запазени."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Лого на групата"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, fuzzy, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "Може да качите лого за групата ви."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Потребител без ÑъответÑтващ профил"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
#, fuzzy
msgid "Pick a square area of the image to be the logo."
msgstr "Изберете квадратна облаÑÑ‚ от изображението за аватар"
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Лотого е обновено."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "ÐеуÑпешно обновÑване на логото."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Членове на групата %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "Членове на групата %s, Ñтраница %d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "СпиÑък Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ð¸Ñ‚Ðµ в тази група."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "ÐаÑтройки"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Блокиране"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
#, fuzzy
msgid "Make user an admin of the group"
msgstr "За да редактирате групата, Ñ‚Ñ€Ñбва да Ñте й админиÑтратор."
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Поток на %s"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Бележки от %1$s в %2$s."
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Групи"
@@ -1966,16 +2014,19 @@ msgstr "Лично Ñъобщение"
msgid "Optionally add a personal message to the invitation."
msgstr "Може да добавите и лично Ñъобщение към поканата."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Прати"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s ви кани да ползвате заедно %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2036,7 +2087,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "За да Ñе приÑъедините към група, Ñ‚Ñ€Ñбва да Ñте влезли."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "ÐÑма пÑевдоним."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s Ñе приÑъедини към групата %s"
@@ -2045,11 +2101,11 @@ msgstr "%s Ñе приÑъедини към групата %s"
msgid "You must be logged in to leave a group."
msgstr "За напуÑнете група, Ñ‚Ñ€Ñбва да Ñте влезли."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Ðе членувате в тази група."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s напуÑна групата %2$s"
@@ -2067,8 +2123,7 @@ msgstr "Грешно име или парола."
msgid "Error setting user. You are probably not authorized."
msgstr "Забранено."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Вход"
@@ -2322,8 +2377,8 @@ msgstr "вид Ñъдържание "
msgid "Only "
msgstr "Само "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Ðеподдържан формат на данните"
@@ -2469,7 +2524,8 @@ msgstr "Грешка при запазване на новата парола."
msgid "Password saved."
msgstr "Паролата е запиÑана."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Пътища"
@@ -2502,7 +2558,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Сайт"
@@ -2590,7 +2645,7 @@ msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° фона"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Ðикога"
@@ -2645,11 +2700,11 @@ msgstr "Това не е правилен Ð°Ð´Ñ€ÐµÑ Ð½Ð° е-поща."
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Бележки Ñ ÐµÑ‚Ð¸ÐºÐµÑ‚ %s, Ñтраница %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ðевалидно Ñъдържание на бележка"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2672,7 +2727,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "От 1 до 64 малки букви или цифри, без Ð¿ÑƒÐ½ÐºÑ‚Ð¾Ð°Ñ†Ð¸Ñ Ð¸ интервали"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Пълно име"
@@ -2700,7 +2755,7 @@ msgid "Bio"
msgstr "За мен"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2725,7 +2780,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Език"
@@ -2753,7 +2808,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "БиографиÑта е твърде дълга (до %d Ñимвола)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Ðе е избран чаÑови поÑÑ"
@@ -2783,7 +2838,8 @@ msgstr "Грешка при запазване на профила."
msgid "Couldn't save tags."
msgstr "Грешка при запазване етикетите."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "ÐаÑтройките Ñа запазени."
@@ -2796,45 +2852,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Грешка при изтеглÑне на Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº"
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Общ поток, Ñтраница %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Общ поток"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ð½Ð° Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ð½Ð° Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ð½Ð° Ð¾Ð±Ñ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾Ðº (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2843,7 +2899,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3016,8 +3072,7 @@ msgstr "Грешка в кода за потвърждение."
msgid "Registration successful"
msgstr "ЗапиÑването е уÑпешно."
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "РегиÑтриране"
@@ -3058,7 +3113,7 @@ msgid "Same as password above. Required."
msgstr "Същото като паролата по-горе. Задължително поле."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Е-поща"
@@ -3163,7 +3218,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила ви в друга, ÑъвмеÑтима уÑлуга за микроблогване"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Ðбониране"
@@ -3201,7 +3256,7 @@ msgstr "Ðе можете да повтарÑте ÑобÑтвена бележÐ
msgid "You already repeated that notice."
msgstr "Вече Ñте повторили тази бележка."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Повторено"
@@ -3209,47 +3264,47 @@ msgstr "Повторено"
msgid "Repeated!"
msgstr "Повторено!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Отговори на %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Отговори до %1$s в %2$s!"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¾Ñ‚Ð³Ð¾Ð²Ð¾Ñ€Ð¸ на %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¾Ñ‚Ð³Ð¾Ð²Ð¾Ñ€Ð¸ на %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¾Ñ‚Ð³Ð¾Ð²Ð¾Ñ€Ð¸ на %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3261,6 +3316,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Отговори до %1$s в %2$s!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Ðе можете да заглушавате потребители на този Ñайт."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Потребител без ÑъответÑтващ профил"
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3275,8 +3340,9 @@ msgstr "Ðе може да изпращате ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð¾ този Ð
msgid "User is already sandboxed."
msgstr "ПотребителÑÑ‚ ви е блокирал."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "СеÑии"
@@ -3301,8 +3367,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Запазване наÑтройките на Ñайта"
@@ -3334,8 +3400,8 @@ msgstr "ОрганизациÑ"
msgid "Description"
msgstr "ОпиÑание"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "СтатиÑтики"
@@ -3397,35 +3463,35 @@ msgstr "Любими бележки на %1$s, Ñтраница %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Грешка при изтеглÑне на любимите бележки"
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¿Ñ€Ð¸Ñтелите на %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¿Ñ€Ð¸Ñтелите на %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð¿Ñ€Ð¸Ñтелите на %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3433,7 +3499,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Така можете да Ñподелите какво хареÑвате."
@@ -3447,67 +3513,67 @@ msgstr "Група %s"
msgid "%1$s group, page %2$d"
msgstr "Членове на групата %s, Ñтраница %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Профил на групата"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Бележка"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "ПÑевдоними"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "ИзходÑща ÐºÑƒÑ‚Ð¸Ñ Ð·Ð° %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Членове"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Ð’Ñички членове"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Създадена на"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3517,7 +3583,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3526,7 +3592,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "ÐдминиÑтратори"
@@ -3636,147 +3702,138 @@ msgid "User is already silenced."
msgstr "ПотребителÑÑ‚ вече е заглушен."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "ОÑновни наÑтройки на тази инÑÑ‚Ð°Ð»Ð°Ñ†Ð¸Ñ Ð½Ð° StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Името на Ñайта е задължително."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "ÐдреÑÑŠÑ‚ на е-поща за контакт е задължителен"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Ðепознат език \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Минималното ограничение на текÑта е 140 знака."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Общи"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Име на Ñайта"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° е-поща за контакт ÑÑŠÑ Ñайта"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "МеÑтоположение"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "ЧаÑови поÑÑ Ð¿Ð¾ подразбиране"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "ЧаÑови поÑÑ Ð¿Ð¾ подразбиране за Ñайта (обикновено UTC)."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Език по подразбиране за Ñайта"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
+#: actions/siteadminpanel.php:271
+msgid "Limits"
+msgstr "ОграничениÑ"
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "ЧеÑтота"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Ðова бележка"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Ðово Ñъобщение"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr "ОграничениÑ"
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Грешка при запиÑване наÑтройките за Twitter"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Ðова бележка"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Ðова бележка"
#: actions/smssettings.php:58
msgid "SMS settings"
@@ -3879,6 +3936,66 @@ msgstr ""
msgid "No code entered"
msgstr "Ðе е въведен код."
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "ПромÑна наÑтройките на Ñайта"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "ЧеÑтота"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Запазване наÑтройките на Ñайта"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Ðе Ñте абонирани за този профил"
@@ -3987,22 +4104,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Бележки Ñ ÐµÑ‚Ð¸ÐºÐµÑ‚ %s, Ñтраница %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "ЕмиÑÐ¸Ñ Ñ Ð±ÐµÐ»ÐµÐ¶ÐºÐ¸ на %s"
@@ -4054,7 +4171,7 @@ msgstr ""
msgid "No such tag."
msgstr "ÐÑма такъв етикет."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Методът в API вÑе още Ñе разработва."
@@ -4081,80 +4198,82 @@ msgstr "Сървърът не е върнал Ð°Ð´Ñ€ÐµÑ Ð½Ð° профила."
msgid "Unsubscribed"
msgstr "ОтпиÑване"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Потребител"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профил"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Ðови потребители"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Ð’Ñички абонаменти"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Ðвтоматично абониране за вÑеки, който Ñе абонира за мен (подходÑщо за "
"ботове)."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Покани"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Поканите Ñа включени"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4285,16 +4404,22 @@ msgstr "Членове на групата %s, Ñтраница %d"
msgid "Search for more groups"
msgstr "ТърÑене на още групи"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s не членува в Ð½Ð¸ÐºÐ¾Ñ Ð³Ñ€ÑƒÐ¿Ð°."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Бележки от %1$s в %2$s."
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4338,7 +4463,7 @@ msgstr ""
msgid "Plugins"
msgstr "ПриÑтавки"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "ВерÑиÑ"
@@ -4378,6 +4503,11 @@ msgstr "Грешка при обновÑване на групата."
msgid "Group leave failed."
msgstr "Профил на групата"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Грешка при обновÑване на групата."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4396,28 +4526,28 @@ msgstr "Грешка при вмъкване на Ñъобщението."
msgid "Could not update message with new URI."
msgstr "Грешка при обновÑване на бележката Ñ Ð½Ð¾Ð² URL-адреÑ."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Проблем при запиÑване на бележката."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Грешка при запиÑване на бележката. Ðепознат потребител."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Твърде много бележки за кратко време. Спрете, поемете дъх и публикувайте "
"отново Ñлед нÑколко минути."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
@@ -4426,20 +4556,20 @@ msgstr ""
"Твърде много бележки за кратко време. Спрете, поемете дъх и публикувайте "
"отново Ñлед нÑколко минути."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Забранено ви е да публикувате бележки в този Ñайт."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Проблем при запиÑване на бележката."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Проблем при запиÑване на бележката."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4467,24 +4597,39 @@ msgstr "Ðе Ñте абонирани!"
msgid "Couldn't delete self-subscription."
msgstr "Грешка при изтриване на абонамента."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Грешка при изтриване на абонамента."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Грешка при изтриване на абонамента."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Добре дошли в %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Грешка при Ñъздаване на групата."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Грешка при Ñъздаване на нов абонамент."
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "Грешка при Ñъздаване на нов абонамент."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Грешка при Ñъздаване на нов абонамент."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "ПромÑна наÑтройките на профила"
@@ -4523,128 +4668,189 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Ðеозаглавена Ñтраница"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "Ðачало"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Лично"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "ПромÑна на поща, аватар, парола, профил"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Свързване"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Свързване към уÑлуги"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Свързване"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "ПромÑна наÑтройките на Ñайта"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Покани"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "ÐаÑтройки"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Поканете приÑтели и колеги да Ñе приÑъединÑÑ‚ към Ð²Ð°Ñ Ð² %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Изход"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Покани"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Излизане от Ñайта"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Изход"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Създаване на нова Ñметка"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "РегиÑтриране"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Влизане в Ñайта"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Помощ"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Вход"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Помощ"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "ТърÑене"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Помощ"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "ТърÑене за хора или бележки"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "ТърÑене"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "Ðова бележка"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "Ðова бележка"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "Ðбонаменти"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Помощ"
+
+#: lib/action.php:754
msgid "About"
msgstr "ОтноÑно"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "ВъпроÑи"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "УÑловиÑ"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "ПоверителноÑÑ‚"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Изходен код"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Контакт"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Табелка"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Лиценз на програмата StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4653,12 +4859,12 @@ msgstr ""
"**%%site.name%%** е уÑлуга за микроблогване, предоÑтавена ви от [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** е уÑлуга за микроблогване. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4669,112 +4875,154 @@ msgstr ""
"доÑтъпна под [GNU Affero General Public License](http://www.fsf.org/"
"licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Лиценз на Ñъдържанието"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Ð’Ñички "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "лиценз."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Страниране"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "След"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Преди"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Ðе можете да променÑте този Ñайт."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "ЗапиÑването не е позволено."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Командата вÑе още не Ñе поддържа."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Командата вÑе още не Ñе поддържа."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "Грешка при запиÑване наÑтройките за Twitter"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "ОÑновна наÑтройка на Ñайта"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Сайт"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "ÐаÑтройка на оформлението"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "ВерÑиÑ"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "ÐаÑтройка на пътищата"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Потребител"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "ÐаÑтройка на оформлението"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "ÐаÑтройка на пътищата"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "ÐаÑтройка на оформлението"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Ðова бележка"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "ÐаÑтройка на пътищата"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4869,12 +5117,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Паролата е запиÑана."
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Паролата е запиÑана."
@@ -4963,12 +5211,12 @@ msgstr "%s напуÑна групата %s"
msgid "Fullname: %s"
msgstr "Пълно име: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "МеÑтоположение: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Домашна Ñтраница: %s"
@@ -5153,19 +5401,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Ðе е открит файл Ñ Ð½Ð°Ñтройки. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
#, fuzzy
msgid "Go to the installer."
msgstr "Влизане в Ñайта"
@@ -5267,6 +5515,11 @@ msgstr "Изберете етикет за конкретизиране"
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Ñтраница, блог или профил в друг Ñайт на групата"
@@ -5357,24 +5610,24 @@ msgstr "СиÑтемна грешка при качване на файл."
msgid "Not an image or corrupt file."
msgstr "Файлът не е изображение или е повреден."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Форматът на файла Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÑ‚Ð¾ не Ñе поддържа."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "ÐÑма такава бележка."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Ðеподдържан вид файл"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5404,11 +5657,11 @@ msgstr "Вход Ñ Ð¸Ð¼Ðµ и парола"
msgid "Sign up for a new account"
msgstr "Създаване на нова Ñметка"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Потвърждаване адреÑа на е-поща"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5425,12 +5678,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s вече получава бележките ви в %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5455,17 +5708,17 @@ msgstr ""
"----\n"
"Може да Ñмените адреÑа и наÑтройките за уведомÑване по е-поща на %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "БиографиÑ: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Ðов Ð°Ð´Ñ€ÐµÑ Ð½Ð° е-поща за публикщуване в %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5478,21 +5731,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "СъÑтоÑние на %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Потвърждение за SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Побутнати Ñте от %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5508,12 +5761,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Ðово лично Ñъобщение от %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5532,12 +5785,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) отбелÑза бележката ви като любима"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5558,12 +5811,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5678,6 +5931,12 @@ msgstr "До"
msgid "Available characters"
msgstr "Ðалични знаци"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Прати"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Изпращане на бележка"
@@ -5736,23 +5995,23 @@ msgstr "З"
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "в контекÑÑ‚"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Повторено от"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "ОтговарÑне на тази бележка"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Отговор"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Бележката е повторена."
@@ -5827,7 +6086,7 @@ msgstr "Етикети в бележките на %s"
msgid "Unknown"
msgstr "Ðепознато дейÑтвие"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Ðбонаменти"
@@ -5835,24 +6094,24 @@ msgstr "Ðбонаменти"
msgid "All subscriptions"
msgstr "Ð’Ñички абонаменти"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Ðбонати"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Ð’Ñички абонати"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "Потребител"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "УчаÑтник от"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Ð’Ñички групи"
@@ -5893,7 +6152,12 @@ msgstr "ПовтарÑне на тази бележка"
msgid "Repeat this notice"
msgstr "ПовтарÑне на тази бележка"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "СпиÑък Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»Ð¸Ñ‚Ðµ в тази група."
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5916,6 +6180,10 @@ msgstr "ТърÑене"
msgid "Keyword(s)"
msgstr "Ключови думи"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "ТърÑене"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -5968,6 +6236,15 @@ msgstr "Ðбонирани за %s"
msgid "Groups %s is a member of"
msgstr "Групи, в които учаÑтва %s"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Покани"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Поканете приÑтели и колеги да Ñе приÑъединÑÑ‚ към Ð²Ð°Ñ Ð² %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6040,47 +6317,63 @@ msgstr "Съобщение"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "ПотребителÑки профил"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "ÐдминиÑтратори"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "преди нÑколко Ñекунди"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "преди около минута"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "преди около %d минути"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "преди около чаÑ"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "преди около %d чаÑа"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "преди около ден"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "преди около %d дни"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "преди около меÑец"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "преди около %d меÑеца"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "преди около година"
diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po
new file mode 100644
index 000000000..2197b9e74
--- /dev/null
+++ b/locale/br/LC_MESSAGES/statusnet.po
@@ -0,0 +1,6102 @@
+# Translation of StatusNet to Breton
+#
+# Author@translatewiki.net: Fulup
+# Author@translatewiki.net: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:25+0000\n"
+"Language-Team: Dutch\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); Translate extension (2010-01-16)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: out-statusnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
+msgid "Access"
+msgstr "Moned"
+
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
+msgid "Site access settings"
+msgstr ""
+
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
+msgid "Registration"
+msgstr "Enskrivadur"
+
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Prevez"
+
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
+msgstr "Aotreañ an enskrivadur goude bezañ bet pedet hepken."
+
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Tud pedet hepken"
+
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
+msgstr "Diweredekaat an enskrivadurioù nevez."
+
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Serr"
+
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
+msgid "Save access settings"
+msgstr "Enrollañ an arventennoù moned"
+
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Enrollañ"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
+msgid "No such page"
+msgstr "N'eus ket eus ar bajenn-se"
+
+#: actions/all.php:75 actions/allrss.php:68
+#: actions/apiaccountupdatedeliverydevice.php:113
+#: actions/apiaccountupdateprofile.php:105
+#: actions/apiaccountupdateprofilebackgroundimage.php:116
+#: actions/apiaccountupdateprofileimage.php:105 actions/apiblockcreate.php:97
+#: actions/apiblockdestroy.php:96 actions/apidirectmessage.php:77
+#: actions/apidirectmessagenew.php:75 actions/apigroupcreate.php:112
+#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
+#: actions/apigroupleave.php:99 actions/apigrouplist.php:90
+#: actions/apistatusesupdate.php:148 actions/apisubscriptions.php:87
+#: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:78
+#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
+#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
+#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
+msgid "No such user."
+msgstr "N'eus ket eus an implijer-se."
+
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
+#, php-format
+msgid "%1$s and friends, page %2$d"
+msgstr "%1$s hag e vignoned, pajenn %2$d"
+
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
+#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
+#: lib/personalgroupnav.php:100
+#, php-format
+msgid "%s and friends"
+msgstr "%s hag e vignoned"
+
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
+#, php-format
+msgid "Feed for friends of %s (RSS 1.0)"
+msgstr "Gwazh evit mignoned %s (RSS 1.0)"
+
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
+#, php-format
+msgid "Feed for friends of %s (RSS 2.0)"
+msgstr "Gwazh evit mignoned %s (RSS 2.0)"
+
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
+#, php-format
+msgid "Feed for friends of %s (Atom)"
+msgstr "Gwazh evit mignoned %s (Atom)"
+
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
+#, php-format
+msgid ""
+"This is the timeline for %s and friends but no one has posted anything yet."
+msgstr ""
+
+#: actions/all.php:139
+#, php-format
+msgid ""
+"Try subscribing to more people, [join a group](%%action.groups%%) or post "
+"something yourself."
+msgstr ""
+
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
+#, php-format
+msgid ""
+"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)."
+msgstr ""
+
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
+#, php-format
+msgid ""
+"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
+"post a notice to his or her attention."
+msgstr ""
+
+#. TRANS: H1 text
+#: actions/all.php:178
+msgid "You and friends"
+msgstr "C'hwi hag o mignoned"
+
+#: actions/allrss.php:119 actions/apitimelinefriends.php:119
+#: actions/apitimelinehome.php:120
+#, php-format
+msgid "Updates from %1$s and friends on %2$s!"
+msgstr "Hizivadennoù %1$s ha mignoned e %2$s!"
+
+#: actions/apiaccountratelimitstatus.php:70
+#: actions/apiaccountupdatedeliverydevice.php:93
+#: actions/apiaccountupdateprofile.php:97
+#: actions/apiaccountupdateprofilebackgroundimage.php:94
+#: actions/apiaccountupdateprofilecolors.php:118
+#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
+#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
+#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
+#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
+#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
+#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
+#: actions/apigroupshow.php:115 actions/apihelptest.php:88
+#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
+#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
+#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
+#: actions/apitimelineretweetedtome.php:121
+#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
+msgid "API method not found."
+msgstr "N'eo ket bet kavet an hentenn API !"
+
+#: actions/apiaccountupdatedeliverydevice.php:85
+#: actions/apiaccountupdateprofile.php:89
+#: actions/apiaccountupdateprofilebackgroundimage.php:86
+#: actions/apiaccountupdateprofilecolors.php:110
+#: actions/apiaccountupdateprofileimage.php:84 actions/apiblockcreate.php:89
+#: actions/apiblockdestroy.php:88 actions/apidirectmessagenew.php:117
+#: actions/apifavoritecreate.php:90 actions/apifavoritedestroy.php:91
+#: actions/apifriendshipscreate.php:91 actions/apifriendshipsdestroy.php:91
+#: actions/apigroupcreate.php:104 actions/apigroupjoin.php:91
+#: actions/apigroupleave.php:91 actions/apistatusesretweet.php:65
+#: actions/apistatusesupdate.php:118
+msgid "This method requires a POST."
+msgstr "Ezhomm en deus an argerzh-mañ eus ur POST."
+
+#: actions/apiaccountupdatedeliverydevice.php:105
+msgid ""
+"You must specify a parameter named 'device' with a value of one of: sms, im, "
+"none"
+msgstr ""
+
+#: actions/apiaccountupdatedeliverydevice.php:132
+msgid "Could not update user."
+msgstr "Diposubl eo hizivaat an implijer."
+
+#: actions/apiaccountupdateprofile.php:112
+#: actions/apiaccountupdateprofilebackgroundimage.php:194
+#: actions/apiaccountupdateprofilecolors.php:185
+#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
+msgid "User has no profile."
+msgstr "An implijer-mañ n'eus profil ebet dezhañ."
+
+#: actions/apiaccountupdateprofile.php:147
+msgid "Could not save profile."
+msgstr "Diposubl eo enrollañ ar profil."
+
+#: actions/apiaccountupdateprofilebackgroundimage.php:108
+#: actions/apiaccountupdateprofileimage.php:97
+#: actions/apistatusesupdate.php:131 actions/avatarsettings.php:257
+#: actions/designadminpanel.php:122 actions/editapplication.php:118
+#: actions/newapplication.php:101 actions/newnotice.php:94
+#: lib/designsettings.php:283
+#, php-format
+msgid ""
+"The server was unable to handle that much POST data (%s bytes) due to its "
+"current configuration."
+msgstr ""
+
+#: actions/apiaccountupdateprofilebackgroundimage.php:136
+#: actions/apiaccountupdateprofilebackgroundimage.php:146
+#: actions/apiaccountupdateprofilecolors.php:164
+#: actions/apiaccountupdateprofilecolors.php:174
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
+#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
+#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
+msgid "Unable to save your design settings."
+msgstr ""
+
+#: actions/apiaccountupdateprofilebackgroundimage.php:187
+#: actions/apiaccountupdateprofilecolors.php:142
+msgid "Could not update your design."
+msgstr "Diposubl eo hizivat ho design."
+
+#: actions/apiblockcreate.php:105
+msgid "You cannot block yourself!"
+msgstr "Ne c'helloc'h ket ho stankañ ho unan !"
+
+#: actions/apiblockcreate.php:126
+msgid "Block user failed."
+msgstr "N'eo ket bet stanke an implijer."
+
+#: actions/apiblockdestroy.php:114
+msgid "Unblock user failed."
+msgstr "N'eus ket bet tu distankañ an implijer."
+
+#: actions/apidirectmessage.php:89
+#, php-format
+msgid "Direct messages from %s"
+msgstr "Kemennadennoù war-eeun kaset gant %s"
+
+#: actions/apidirectmessage.php:93
+#, php-format
+msgid "All the direct messages sent from %s"
+msgstr "An holl gemennadennoù war-eeun kaset gant %s"
+
+#: actions/apidirectmessage.php:101
+#, php-format
+msgid "Direct messages to %s"
+msgstr "Kemennadennoù war-eeun kaset da %s"
+
+#: actions/apidirectmessage.php:105
+#, php-format
+msgid "All the direct messages sent to %s"
+msgstr "An holl gemennadennoù war-eeun kaset da %s"
+
+#: actions/apidirectmessagenew.php:126
+msgid "No message text!"
+msgstr "Kemenadenn hep testenn !"
+
+#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#, php-format
+msgid "That's too long. Max message size is %d chars."
+msgstr "Re hir eo ! Ment hirañ ar gemenadenn a zo a %d arouezenn."
+
+#: actions/apidirectmessagenew.php:146
+msgid "Recipient user not found."
+msgstr "N'eo ket bet kavet ar resever."
+
+#: actions/apidirectmessagenew.php:150
+msgid "Can't send direct messages to users who aren't your friend."
+msgstr ""
+"Ne c'helloc'h ket kas kemennadennoù personel d'an implijerien n'int ket ho "
+"mignoned."
+
+#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
+#: actions/apistatusesdestroy.php:113
+msgid "No status found with that ID."
+msgstr "N'eo bet kavet statud ebet gant an ID-mañ."
+
+#: actions/apifavoritecreate.php:119
+msgid "This status is already a favorite."
+msgstr "Ur pennroll eo dija an ali-mañ."
+
+#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
+msgid "Could not create favorite."
+msgstr "Diposupl eo krouiñ ar pennroll-mañ."
+
+#: actions/apifavoritedestroy.php:122
+msgid "That status is not a favorite."
+msgstr "N'eo ket ar statud-mañ ur pennroll."
+
+#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
+msgid "Could not delete favorite."
+msgstr "Diposupl eo dilemel ar pennroll-mañ."
+
+#: actions/apifriendshipscreate.php:109
+msgid "Could not follow user: User not found."
+msgstr "Diposupl eo heuliañ an implijer : N'eo ket bet kavet an implijer."
+
+#: actions/apifriendshipscreate.php:118
+#, php-format
+msgid "Could not follow user: %s is already on your list."
+msgstr "Diposubl eo heuliañ an implijer : war ho listenn emañ %s dija."
+
+#: actions/apifriendshipsdestroy.php:109
+msgid "Could not unfollow user: User not found."
+msgstr ""
+"Diposupl eo paouez heuliañ an implijer : N'eo ket bet kavet an implijer."
+
+#: actions/apifriendshipsdestroy.php:120
+msgid "You cannot unfollow yourself."
+msgstr "Ne c'hallit ket chom hep ho heuliañ hoc'h-unan."
+
+#: actions/apifriendshipsexists.php:94
+msgid "Two user ids or screen_names must be supplied."
+msgstr ""
+
+#: actions/apifriendshipsshow.php:134
+msgid "Could not determine source user."
+msgstr "Diposubl eo termeniñ an implijer mammenn."
+
+#: actions/apifriendshipsshow.php:142
+msgid "Could not find target user."
+msgstr "Diposubl eo kavout an implijer pal."
+
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
+#: actions/newgroup.php:126 actions/profilesettings.php:215
+#: actions/register.php:205
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
+#: actions/newgroup.php:130 actions/profilesettings.php:238
+#: actions/register.php:208
+msgid "Nickname already in use. Try another one."
+msgstr "Implijet eo dija al lesanv-se. Klaskit unan all."
+
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
+#: actions/newgroup.php:133 actions/profilesettings.php:218
+#: actions/register.php:210
+msgid "Not a valid nickname."
+msgstr "N'eo ket ul lesanv mat."
+
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
+#: actions/newgroup.php:139 actions/profilesettings.php:222
+#: actions/register.php:217
+msgid "Homepage is not a valid URL."
+msgstr "N'eo ket chomlec'h al lec'hienn personel un URL reizh."
+
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
+#: actions/newgroup.php:142 actions/profilesettings.php:225
+#: actions/register.php:220
+msgid "Full name is too long (max 255 chars)."
+msgstr "Re hir eo an anv klok (255 arouezenn d'ar muiañ)."
+
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
+#: actions/newapplication.php:172
+#, php-format
+msgid "Description is too long (max %d chars)."
+msgstr "Re hir eo an deskrivadur (%d arouezenn d'ar muiañ)."
+
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
+#: actions/newgroup.php:148 actions/profilesettings.php:232
+#: actions/register.php:227
+msgid "Location is too long (max 255 chars)."
+msgstr "Re hir eo al lec'hiadur (255 arouezenn d'ar muiañ)."
+
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
+#: actions/newgroup.php:159
+#, php-format
+msgid "Too many aliases! Maximum %d."
+msgstr "Re a aliasoù ! %d d'ar muiañ."
+
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
+#: actions/newgroup.php:168
+#, php-format
+msgid "Invalid alias: \"%s\""
+msgstr "Alias fall : \"%s\""
+
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
+#: actions/newgroup.php:172
+#, php-format
+msgid "Alias \"%s\" already in use. Try another one."
+msgstr "Implijet e vez an alias \"%s\" dija. Klaskit gant unan all."
+
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
+#: actions/newgroup.php:178
+msgid "Alias can't be the same as nickname."
+msgstr "Ne c'hell ket an alias bezañ ar memes hini eget al lesanv."
+
+#: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
+#: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
+#: actions/apigroupshow.php:82 actions/apitimelinegroup.php:91
+msgid "Group not found!"
+msgstr "N'eo ket bet kavet ar strollad"
+
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
+msgid "You are already a member of that group."
+msgstr "Un ezel eus ar strollad-mañ eo dija."
+
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
+msgid "You have been blocked from that group by the admin."
+msgstr "Stanket oc'h bet eus ar strollad-mañ gant ur merour."
+
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "Diposubl eo stagañ an implijer %1$s d'ar strollad %2$s."
+
+#: actions/apigroupleave.php:114
+msgid "You are not a member of this group."
+msgstr "N'oc'h ket ezel eus ar strollad-mañ."
+
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
+#, php-format
+msgid "Could not remove user %1$s from group %2$s."
+msgstr "Diposubl eo dilemel an implijer %1$s deus ar strollad %2$s."
+
+#: actions/apigrouplist.php:95
+#, php-format
+msgid "%s's groups"
+msgstr "Strollad %s"
+
+#: actions/apigrouplistall.php:90 actions/usergroups.php:62
+#, php-format
+msgid "%s groups"
+msgstr "Strolladoù %s"
+
+#: actions/apigrouplistall.php:94
+#, php-format
+msgid "groups on %s"
+msgstr "strolladoù war %s"
+
+#: actions/apioauthauthorize.php:101
+msgid "No oauth_token parameter provided."
+msgstr "Arventenn oauth_token nann-roet."
+
+#: actions/apioauthauthorize.php:106
+msgid "Invalid token."
+msgstr "Fichenn direizh."
+
+#: 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:54
+#: actions/groupblock.php:66 actions/grouplogo.php:312
+#: 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: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
+#: actions/repeat.php:83 actions/smssettings.php:228 actions/subedit.php:38
+#: actions/subscribe.php:86 actions/tagother.php:166
+#: actions/unsubscribe.php:69 actions/userauthorization.php:52
+#: lib/designsettings.php:294
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: actions/apioauthauthorize.php:135
+msgid "Invalid nickname / password!"
+msgstr "Lesanv / ger tremen direizh !"
+
+#: actions/apioauthauthorize.php:159
+msgid "Database error deleting OAuth application user."
+msgstr ""
+
+#: actions/apioauthauthorize.php:185
+msgid "Database error inserting OAuth application user."
+msgstr ""
+
+#: 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:227
+#, php-format
+msgid "The request token %s has been denied and revoked."
+msgstr ""
+
+#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
+#: actions/designadminpanel.php:103 actions/editapplication.php:139
+#: actions/emailsettings.php:256 actions/grouplogo.php:322
+#: actions/imsettings.php:220 actions/newapplication.php:121
+#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
+#: actions/smssettings.php:248 lib/designsettings.php:304
+msgid "Unexpected form submission."
+msgstr ""
+
+#: actions/apioauthauthorize.php:259
+msgid "An application would like to connect to your account"
+msgstr ""
+
+#: actions/apioauthauthorize.php:276
+msgid "Allow or deny access"
+msgstr "Aotreañ pe nac'h ar moned"
+
+#: actions/apioauthauthorize.php:292
+#, php-format
+msgid ""
+"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:310 lib/action.php:438
+msgid "Account"
+msgstr "Kont"
+
+#: actions/apioauthauthorize.php:313 actions/login.php:230
+#: actions/profilesettings.php:106 actions/register.php:424
+#: actions/showgroup.php:244 actions/tagother.php:94
+#: actions/userauthorization.php:145 lib/groupeditform.php:152
+#: lib/userprofile.php:131
+msgid "Nickname"
+msgstr "Lesanv"
+
+#: actions/apioauthauthorize.php:316 actions/login.php:233
+#: actions/register.php:429 lib/accountsettingsaction.php:116
+msgid "Password"
+msgstr "Ger-tremen"
+
+#: actions/apioauthauthorize.php:328
+msgid "Deny"
+msgstr "Nac'hañ"
+
+#: actions/apioauthauthorize.php:334
+msgid "Allow"
+msgstr "Aotreañ"
+
+#: actions/apioauthauthorize.php:351
+msgid "Allow or deny access to your account information."
+msgstr "Aotreañ pe nac'hañ ar moned da ditouroù ho kont."
+
+#: actions/apistatusesdestroy.php:107
+msgid "This method requires a POST or DELETE."
+msgstr "Ezhomm en deus an argerzh-mañ ur POST pe un DELETE."
+
+#: actions/apistatusesdestroy.php:130
+msgid "You may not delete another user's status."
+msgstr "Ne c'helloc'h ket dilemel statud un implijer all."
+
+#: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72
+#: actions/deletenotice.php:52 actions/shownotice.php:92
+msgid "No such notice."
+msgstr "N'eus ket eus an ali-se."
+
+#: actions/apistatusesretweet.php:83
+msgid "Cannot repeat your own notice."
+msgstr "Ne c'helloc'h ket adlavar ho alioù."
+
+#: actions/apistatusesretweet.php:91
+msgid "Already repeated that notice."
+msgstr "Adlavaret o peus dija an ali-mañ."
+
+#: actions/apistatusesshow.php:138
+msgid "Status deleted."
+msgstr "Statud diverket."
+
+#: actions/apistatusesshow.php:144
+msgid "No status with that ID found."
+msgstr "N'eo ket bet kavet a statud evit an ID-mañ"
+
+#: actions/apistatusesupdate.php:161 actions/newnotice.php:155
+#: lib/mailhandler.php:60
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "Re hir eo ! Ment hirañ an ali a zo a %d arouezenn."
+
+#: actions/apistatusesupdate.php:202
+msgid "Not found"
+msgstr "N'eo ket bet kavet"
+
+#: actions/apistatusesupdate.php:225 actions/newnotice.php:178
+#, php-format
+msgid "Max notice size is %d chars, including attachment URL."
+msgstr ""
+
+#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
+msgid "Unsupported format."
+msgstr "Diembreget eo ar furmad-se."
+
+#: actions/apitimelinefavorites.php:108
+#, php-format
+msgid "%1$s / Favorites from %2$s"
+msgstr "%1$s / Pennroll %2$s"
+
+#: actions/apitimelinefavorites.php:117
+#, php-format
+msgid "%1$s updates favorited by %2$s / %2$s."
+msgstr "%1$s statud pennroll da %2$s / %2$s."
+
+#: actions/apitimelinementions.php:117
+#, php-format
+msgid "%1$s / Updates mentioning %2$s"
+msgstr "%1$s / Hizivadennoù a veneg %2$s"
+
+#: actions/apitimelinementions.php:127
+#, php-format
+msgid "%1$s updates that reply to updates from %2$s / %3$s."
+msgstr ""
+
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
+#, php-format
+msgid "%s public timeline"
+msgstr "Oberezhioù publik %s"
+
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
+#, php-format
+msgid "%s updates from everyone!"
+msgstr "%s statud an holl !"
+
+#: actions/apitimelineretweetedtome.php:111
+#, php-format
+msgid "Repeated to %s"
+msgstr "Adkemeret evit %s"
+
+#: actions/apitimelineretweetsofme.php:114
+#, php-format
+msgid "Repeats of %s"
+msgstr "Adkemeret eus %s"
+
+#: actions/apitimelinetag.php:102 actions/tag.php:67
+#, php-format
+msgid "Notices tagged with %s"
+msgstr "Alioù merket gant %s"
+
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
+#, php-format
+msgid "Updates tagged with %1$s on %2$s!"
+msgstr ""
+
+#: actions/apiusershow.php:96
+msgid "Not found."
+msgstr "N'eo ket bet kavet."
+
+#: actions/attachment.php:73
+msgid "No such attachment."
+msgstr "N'eo ket bet kavet ar restr stag."
+
+#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
+#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
+#: actions/grouplogo.php:86 actions/groupmembers.php:76
+#: actions/grouprss.php:91 actions/showgroup.php:121
+msgid "No nickname."
+msgstr "Lesanv ebet."
+
+#: actions/avatarbynickname.php:64
+msgid "No size."
+msgstr "Ment ebet."
+
+#: actions/avatarbynickname.php:69
+msgid "Invalid size."
+msgstr "Ment direizh."
+
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
+#: lib/accountsettingsaction.php:112
+msgid "Avatar"
+msgstr "Avatar"
+
+#: actions/avatarsettings.php:78
+#, php-format
+msgid "You can upload your personal avatar. The maximum file size is %s."
+msgstr ""
+
+#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
+#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
+#: actions/userrss.php:106
+msgid "User without matching profile"
+msgstr "Implijer hep profil klotaus"
+
+#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
+#: actions/grouplogo.php:254
+msgid "Avatar settings"
+msgstr "Arventennoù an avatar"
+
+#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
+msgid "Original"
+msgstr "Orin"
+
+#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
+msgid "Preview"
+msgstr "Rakwelet"
+
+#: actions/avatarsettings.php:149 actions/showapplication.php:252
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
+msgid "Delete"
+msgstr "Diverkañ"
+
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
+msgid "Upload"
+msgstr "Enporzhiañ"
+
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
+msgid "Crop"
+msgstr "Adframmañ"
+
+#: actions/avatarsettings.php:328
+msgid "Pick a square area of the image to be your avatar"
+msgstr ""
+
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
+msgid "Lost our file data."
+msgstr "Kollet eo bet roadennoù."
+
+#: actions/avatarsettings.php:366
+msgid "Avatar updated."
+msgstr "Hizivaet eo bet an avatar."
+
+#: actions/avatarsettings.php:369
+msgid "Failed updating avatar."
+msgstr "Ur gudenn 'zo bet e-pad hizivadenn an avatar."
+
+#: actions/avatarsettings.php:393
+msgid "Avatar deleted."
+msgstr "Dilammet eo bet an Avatar."
+
+#: actions/block.php:69
+msgid "You already blocked that user."
+msgstr "Stanket o peus dija an implijer-mañ."
+
+#: actions/block.php:105 actions/block.php:128 actions/groupblock.php:160
+msgid "Block user"
+msgstr "Stankañ an implijer-mañ"
+
+#: actions/block.php:130
+msgid ""
+"Are you sure you want to block this user? Afterwards, they will be "
+"unsubscribed from you, unable to subscribe to you in the future, and you "
+"will not be notified of any @-replies from them."
+msgstr ""
+
+#: actions/block.php:143 actions/deleteapplication.php:153
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
+#: actions/groupblock.php:178
+msgid "No"
+msgstr "Ket"
+
+#: actions/block.php:143 actions/deleteuser.php:150
+msgid "Do not block this user"
+msgstr "Arabat stankañ an implijer-mañ"
+
+#: actions/block.php:144 actions/deleteapplication.php:158
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
+#: actions/groupblock.php:179 lib/repeatform.php:132
+msgid "Yes"
+msgstr "Ya"
+
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
+msgid "Block this user"
+msgstr "Stankañ an implijer-mañ"
+
+#: actions/block.php:167
+msgid "Failed to save block information."
+msgstr "Diposubl eo enrollañ an titouroù stankañ."
+
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
+msgid "No such group."
+msgstr "N'eus ket eus ar strollad-se."
+
+#: actions/blockedfromgroup.php:97
+#, php-format
+msgid "%s blocked profiles"
+msgstr "%s profil stanket"
+
+#: actions/blockedfromgroup.php:100
+#, php-format
+msgid "%1$s blocked profiles, page %2$d"
+msgstr "%1$s profil stanket, pajenn %2$d"
+
+#: actions/blockedfromgroup.php:115
+msgid "A list of the users blocked from joining this group."
+msgstr ""
+"Ur roll eus an implijerien evit pere eo stanket an enskrivadur d'ar strollad."
+
+#: actions/blockedfromgroup.php:288
+msgid "Unblock user from group"
+msgstr "Distankañ implijer ar strollad"
+
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
+msgid "Unblock"
+msgstr "Distankañ"
+
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
+msgid "Unblock this user"
+msgstr "Distankañ an implijer-se"
+
+#: actions/bookmarklet.php:50
+msgid "Post to "
+msgstr "Postañ war "
+
+#: actions/confirmaddress.php:75
+msgid "No confirmation code."
+msgstr "Kod kadarnaat ebet."
+
+#: actions/confirmaddress.php:80
+msgid "Confirmation code not found."
+msgstr "N'eo ket bet kavet ar c'hod kadarnaat."
+
+#: actions/confirmaddress.php:85
+msgid "That confirmation code is not for you!"
+msgstr "N'eo ket ar c'hod-se evidoc'h !"
+
+#: actions/confirmaddress.php:90
+#, php-format
+msgid "Unrecognized address type %s"
+msgstr "N'eo ket bet anavezet seurt ar chomlec'h %s"
+
+#: actions/confirmaddress.php:94
+msgid "That address has already been confirmed."
+msgstr "Kadarnaet eo bet dija ar chomlec'h-mañ."
+
+#: actions/confirmaddress.php:114 actions/emailsettings.php:296
+#: actions/emailsettings.php:427 actions/imsettings.php:258
+#: actions/imsettings.php:401 actions/othersettings.php:174
+#: actions/profilesettings.php:283 actions/smssettings.php:278
+#: actions/smssettings.php:420
+msgid "Couldn't update user."
+msgstr "Diposubl eo hizivaat an implijer."
+
+#: actions/confirmaddress.php:126 actions/emailsettings.php:391
+#: actions/imsettings.php:363 actions/smssettings.php:382
+msgid "Couldn't delete email confirmation."
+msgstr "Diposubl eo dilemel ar postel kadarnadur."
+
+#: actions/confirmaddress.php:144
+msgid "Confirm address"
+msgstr "Chomlec'h kadarnaet"
+
+#: actions/confirmaddress.php:159
+#, php-format
+msgid "The address \"%s\" has been confirmed for your account."
+msgstr "Kadarnaet eo bet ar chomlec'h \"%s\" evit ho kont."
+
+#: actions/conversation.php:99
+msgid "Conversation"
+msgstr "Kaozeadenn"
+
+#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
+msgid "Notices"
+msgstr "Ali"
+
+#: actions/deleteapplication.php:63
+msgid "You must be logged in to delete an application."
+msgstr "Rankout a reoc'h bezañ kevreet evit dilemel ur poellad."
+
+#: actions/deleteapplication.php:71
+msgid "Application not found."
+msgstr "N'eo ket bet kavet ar poellad"
+
+#: actions/deleteapplication.php:78 actions/editapplication.php:77
+#: actions/showapplication.php:94
+msgid "You are not the owner of this application."
+msgstr "N'oc'h ket perc'henn ar poellad-se."
+
+#: actions/deleteapplication.php:102 actions/editapplication.php:127
+#: actions/newapplication.php:110 actions/showapplication.php:118
+#: lib/action.php:1217
+msgid "There was a problem with your session token."
+msgstr ""
+
+#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
+msgid "Delete application"
+msgstr "Dilemel ar poelad"
+
+#: 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 "Arabat eo dilemel ar poellad-mañ"
+
+#: actions/deleteapplication.php:160
+msgid "Delete this application"
+msgstr "Dilemel ar poelad-se"
+
+#. TRANS: Client error message
+#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
+#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
+#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
+#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
+#: actions/tagother.php:33 actions/unsubscribe.php:52
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
+#: lib/settingsaction.php:72
+msgid "Not logged in."
+msgstr "Nann-luget."
+
+#: actions/deletenotice.php:71
+msgid "Can't delete this notice."
+msgstr "Diposupl eo dilemel an ali-mañ."
+
+#: actions/deletenotice.php:103
+msgid ""
+"You are about to permanently delete a notice. Once this is done, it cannot "
+"be undone."
+msgstr ""
+
+#: actions/deletenotice.php:109 actions/deletenotice.php:141
+msgid "Delete notice"
+msgstr "Dilemel un ali"
+
+#: actions/deletenotice.php:144
+msgid "Are you sure you want to delete this notice?"
+msgstr "Ha sur oc'h ho peus c'hoant dilemel an ali-mañ ?"
+
+#: actions/deletenotice.php:145
+msgid "Do not delete this notice"
+msgstr "Arabat dilemel an ali-mañ"
+
+#: actions/deletenotice.php:146 lib/noticelist.php:655
+msgid "Delete this notice"
+msgstr "Dilemel an ali-mañ"
+
+#: actions/deleteuser.php:67
+msgid "You cannot delete users."
+msgstr "Ne c'helloc'h ket diverkañ implijerien"
+
+#: actions/deleteuser.php:74
+msgid "You can only delete local users."
+msgstr "Ne c'helloc'h nemet dilemel an implijerien lec'hel."
+
+#: actions/deleteuser.php:110 actions/deleteuser.php:133
+msgid "Delete user"
+msgstr "Diverkañ an implijer"
+
+#: actions/deleteuser.php:136
+msgid ""
+"Are you sure you want to delete this user? This will clear all data about "
+"the user from the database, without a backup."
+msgstr ""
+
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
+msgid "Delete this user"
+msgstr "Diverkañ an implijer-se"
+
+#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
+#: lib/groupnav.php:119
+msgid "Design"
+msgstr "Design"
+
+#: actions/designadminpanel.php:73
+msgid "Design settings for this StatusNet site."
+msgstr "Arventennoù design evit al lec'hienn StatusNet-mañ."
+
+#: actions/designadminpanel.php:275
+msgid "Invalid logo URL."
+msgstr "URL fall evit al logo."
+
+#: actions/designadminpanel.php:279
+#, php-format
+msgid "Theme not available: %s"
+msgstr "N'eus ket tu kaout an dodenn : %s"
+
+#: actions/designadminpanel.php:375
+msgid "Change logo"
+msgstr "Cheñch al logo"
+
+#: actions/designadminpanel.php:380
+msgid "Site logo"
+msgstr "Logo al lec'hienn"
+
+#: actions/designadminpanel.php:387
+msgid "Change theme"
+msgstr "Lakaat un dodenn all"
+
+#: actions/designadminpanel.php:404
+msgid "Site theme"
+msgstr "Dodenn al lec'hienn"
+
+#: actions/designadminpanel.php:405
+msgid "Theme for the site."
+msgstr "Dodenn evit al lec'hienn."
+
+#: actions/designadminpanel.php:417 lib/designsettings.php:101
+msgid "Change background image"
+msgstr "Kemmañ ar skeudenn foñs"
+
+#: actions/designadminpanel.php:422 actions/designadminpanel.php:497
+#: lib/designsettings.php:178
+msgid "Background"
+msgstr "Background"
+
+#: actions/designadminpanel.php:427
+#, php-format
+msgid ""
+"You can upload a background image for the site. The maximum file size is %1"
+"$s."
+msgstr ""
+
+#: actions/designadminpanel.php:457 lib/designsettings.php:139
+msgid "On"
+msgstr "Gweredekaet"
+
+#: actions/designadminpanel.php:473 lib/designsettings.php:155
+msgid "Off"
+msgstr "Diweredekaet"
+
+#: actions/designadminpanel.php:474 lib/designsettings.php:156
+msgid "Turn background image on or off."
+msgstr "Gweredekaat pe diweredekaat ar skeudenn foñs."
+
+#: actions/designadminpanel.php:479 lib/designsettings.php:161
+msgid "Tile background image"
+msgstr ""
+
+#: actions/designadminpanel.php:488 lib/designsettings.php:170
+msgid "Change colours"
+msgstr "Kemmañ al livioù"
+
+#: actions/designadminpanel.php:510 lib/designsettings.php:191
+msgid "Content"
+msgstr "Endalc'h"
+
+#: actions/designadminpanel.php:523 lib/designsettings.php:204
+msgid "Sidebar"
+msgstr "Barenn kostez"
+
+#: actions/designadminpanel.php:536 lib/designsettings.php:217
+msgid "Text"
+msgstr "Testenn"
+
+#: actions/designadminpanel.php:549 lib/designsettings.php:230
+msgid "Links"
+msgstr "Liammoù"
+
+#: actions/designadminpanel.php:577 lib/designsettings.php:247
+msgid "Use defaults"
+msgstr "Implijout an talvoudoù dre ziouer"
+
+#: actions/designadminpanel.php:578 lib/designsettings.php:248
+msgid "Restore default designs"
+msgstr "Adlakaat an neuz dre ziouer."
+
+#: actions/designadminpanel.php:584 lib/designsettings.php:254
+msgid "Reset back to default"
+msgstr "Adlakaat an arventennoù dre ziouer"
+
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Enrollañ"
+
+#: actions/designadminpanel.php:587 lib/designsettings.php:257
+msgid "Save design"
+msgstr "Enrollañ an design"
+
+#: actions/disfavor.php:81
+msgid "This notice is not a favorite!"
+msgstr "N'eo ket an ali-mañ ur pennroll !"
+
+#: actions/disfavor.php:94
+msgid "Add to favorites"
+msgstr "Ouzhpennañ d'ar pennrolloù"
+
+#: actions/doc.php:158
+#, php-format
+msgid "No such document \"%s\""
+msgstr "N'eo ket bet kavet ar restr \"%s\""
+
+#: actions/editapplication.php:54
+msgid "Edit Application"
+msgstr "Kemmañ ar poellad"
+
+#: actions/editapplication.php:66
+msgid "You must be logged in to edit an application."
+msgstr "Ret eo bezañ kevreet evit kemmañ ur poellad."
+
+#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
+#: actions/showapplication.php:87
+msgid "No such application."
+msgstr "N'eus ket eus an arload-mañ."
+
+#: actions/editapplication.php:161
+msgid "Use this form to edit your application."
+msgstr "Implijit ar furmskrid-mañ evit kemmañ ho poellad."
+
+#: actions/editapplication.php:177 actions/newapplication.php:159
+msgid "Name is required."
+msgstr "Ret eo lakaat un anv."
+
+#: actions/editapplication.php:180 actions/newapplication.php:165
+msgid "Name is too long (max 255 chars)."
+msgstr "Re hir eo an anv (255 arouezenn d'ar muiañ)."
+
+#: actions/editapplication.php:183 actions/newapplication.php:162
+msgid "Name already in use. Try another one."
+msgstr "Implijet eo dija an anv-mañ. Klaskit unan all."
+
+#: actions/editapplication.php:186 actions/newapplication.php:168
+msgid "Description is required."
+msgstr "Ezhomm 'zo un deskrivadur."
+
+#: actions/editapplication.php:194
+msgid "Source URL is too long."
+msgstr "Mammenn URL re hir."
+
+#: actions/editapplication.php:200 actions/newapplication.php:185
+msgid "Source URL is not valid."
+msgstr "N'eo ket mat an URL mammenn."
+
+#: actions/editapplication.php:203 actions/newapplication.php:188
+msgid "Organization is required."
+msgstr "Ezhomm 'zo eus an aozadur."
+
+#: actions/editapplication.php:206 actions/newapplication.php:191
+msgid "Organization is too long (max 255 chars)."
+msgstr "Re hir eo an aozadur (255 arouezenn d'ar muiañ)."
+
+#: actions/editapplication.php:209 actions/newapplication.php:194
+msgid "Organization homepage is required."
+msgstr "Ret eo kaout pajenn degemer an aozadur."
+
+#: actions/editapplication.php:218 actions/newapplication.php:206
+msgid "Callback is too long."
+msgstr "Rez hir eo ar c'hounadur (Callback)."
+
+#: actions/editapplication.php:225 actions/newapplication.php:215
+msgid "Callback URL is not valid."
+msgstr "N'eo ket mat an URL kounadur (Callback)."
+
+#: actions/editapplication.php:258
+msgid "Could not update application."
+msgstr "Diposubl eo hizivaat ar poellad"
+
+#: actions/editgroup.php:56
+#, php-format
+msgid "Edit %s group"
+msgstr "Kemmañ ar strollad %s"
+
+#: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
+msgid "You must be logged in to create a group."
+msgstr "Rankout a reoc'h bezañ luget evit krouiñ ur strollad."
+
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
+msgid "You must be an admin to edit the group."
+msgstr "Rankout a reer bezañ merour evit kemmañ ar strollad."
+
+#: actions/editgroup.php:158
+msgid "Use this form to edit the group."
+msgstr "Leunit ar furmskrid-mañ evit kemmañ dibarzhioù ar strollad."
+
+#: actions/editgroup.php:205 actions/newgroup.php:145
+#, php-format
+msgid "description is too long (max %d chars)."
+msgstr "re hir eo an deskrivadur (%d arouezenn d'ar muiañ)."
+
+#: actions/editgroup.php:258
+msgid "Could not update group."
+msgstr "Diposubl eo hizivaat ar strollad."
+
+#: actions/editgroup.php:264 classes/User_group.php:493
+msgid "Could not create aliases."
+msgstr "Diposubl eo krouiñ an aliasoù."
+
+#: actions/editgroup.php:280
+msgid "Options saved."
+msgstr "Enrollet eo bet ho dibarzhioù."
+
+#: actions/emailsettings.php:60
+msgid "Email settings"
+msgstr "Arventennoù ar postel"
+
+#: actions/emailsettings.php:71
+#, php-format
+msgid "Manage how you get email from %%site.name%%."
+msgstr "Merañ ar posteloù a fell deoc'h resevout a-berzh %%site.name%%."
+
+#: actions/emailsettings.php:100 actions/imsettings.php:100
+#: actions/smssettings.php:104
+msgid "Address"
+msgstr "Chomlec'h"
+
+#: actions/emailsettings.php:105
+msgid "Current confirmed email address."
+msgstr "Chomlec'h postel gwiriekaet er mare-mañ."
+
+#: actions/emailsettings.php:107 actions/emailsettings.php:140
+#: actions/imsettings.php:108 actions/smssettings.php:115
+#: actions/smssettings.php:158
+msgid "Remove"
+msgstr "Dilemel"
+
+#: actions/emailsettings.php:113
+msgid ""
+"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
+"a message with further instructions."
+msgstr ""
+
+#: actions/emailsettings.php:117 actions/imsettings.php:120
+#: actions/smssettings.php:126 lib/applicationeditform.php:331
+#: lib/applicationeditform.php:332
+msgid "Cancel"
+msgstr "Nullañ"
+
+#: actions/emailsettings.php:121
+msgid "Email address"
+msgstr "Chomlec'h postel"
+
+#: actions/emailsettings.php:123
+msgid "Email address, like \"UserName@example.org\""
+msgstr "Chomlec'h postel, evel \"AnvImplijer@example.org\""
+
+#: actions/emailsettings.php:126 actions/imsettings.php:133
+#: actions/smssettings.php:145
+msgid "Add"
+msgstr "Ouzhpennañ"
+
+#: actions/emailsettings.php:133 actions/smssettings.php:152
+msgid "Incoming email"
+msgstr "Postel o tont"
+
+#: actions/emailsettings.php:138 actions/smssettings.php:157
+msgid "Send email to this address to post new notices."
+msgstr ""
+
+#: actions/emailsettings.php:145 actions/smssettings.php:162
+msgid "Make a new email address for posting to; cancels the old one."
+msgstr ""
+
+#: actions/emailsettings.php:148 actions/smssettings.php:164
+msgid "New"
+msgstr "Nevez"
+
+#: actions/emailsettings.php:153 actions/imsettings.php:139
+#: actions/smssettings.php:169
+msgid "Preferences"
+msgstr "Penndibaboù"
+
+#: actions/emailsettings.php:158
+msgid "Send me notices of new subscriptions through email."
+msgstr ""
+
+#: actions/emailsettings.php:163
+msgid "Send me email when someone adds my notice as a favorite."
+msgstr "Kas din ur postel pa lak unan bennak unan eus va alioù evel pennroll."
+
+#: actions/emailsettings.php:169
+msgid "Send me email when someone sends me a private message."
+msgstr "Kas din ur postel pa gas unan bennak ur gemennadenn bersonel din."
+
+#: actions/emailsettings.php:174
+msgid "Send me email when someone sends me an \"@-reply\"."
+msgstr "Kas din ur postel pa gas unan bennak ur \"@-respont\" din."
+
+#: actions/emailsettings.php:179
+msgid "Allow friends to nudge me and send me an email."
+msgstr ""
+
+#: actions/emailsettings.php:185
+msgid "I want to post notices by email."
+msgstr "C'hoant am eus kas va alioù dre bostel."
+
+#: actions/emailsettings.php:191
+msgid "Publish a MicroID for my email address."
+msgstr "Embann ur MicroID evit ma chomlec'h postel."
+
+#: actions/emailsettings.php:302 actions/imsettings.php:264
+#: actions/othersettings.php:180 actions/smssettings.php:284
+msgid "Preferences saved."
+msgstr "Penndibaboù enrollet"
+
+#: actions/emailsettings.php:320
+msgid "No email address."
+msgstr "N'eus chomlec'h postel ebet."
+
+#: actions/emailsettings.php:327
+msgid "Cannot normalize that email address"
+msgstr ""
+
+#: actions/emailsettings.php:331 actions/register.php:201
+#: actions/siteadminpanel.php:144
+msgid "Not a valid email address."
+msgstr "N'eo ket ur chomlec'h postel reizh."
+
+#: actions/emailsettings.php:334
+msgid "That is already your email address."
+msgstr "Ho postel eo dija."
+
+#: actions/emailsettings.php:337
+msgid "That email address already belongs to another user."
+msgstr ""
+
+#: actions/emailsettings.php:353 actions/imsettings.php:319
+#: actions/smssettings.php:337
+msgid "Couldn't insert confirmation code."
+msgstr ""
+
+#: actions/emailsettings.php:359
+msgid ""
+"A confirmation code was sent to the email address you added. Check your "
+"inbox (and spam box!) for the code and instructions on how to use it."
+msgstr ""
+
+#: actions/emailsettings.php:379 actions/imsettings.php:351
+#: actions/smssettings.php:370
+msgid "No pending confirmation to cancel."
+msgstr ""
+
+#: actions/emailsettings.php:383 actions/imsettings.php:355
+msgid "That is the wrong IM address."
+msgstr "N'eo ket mat ar chomlec'h postelerezh prim."
+
+#: actions/emailsettings.php:395 actions/imsettings.php:367
+#: actions/smssettings.php:386
+msgid "Confirmation cancelled."
+msgstr "Nullet eo bet ar gadarnadenn."
+
+#: actions/emailsettings.php:413
+msgid "That is not your email address."
+msgstr "N'eo ket ho postel."
+
+#: actions/emailsettings.php:432 actions/imsettings.php:408
+#: actions/smssettings.php:425
+msgid "The address was removed."
+msgstr "Dilamet eo bet ar chomlec'h."
+
+#: actions/emailsettings.php:446 actions/smssettings.php:518
+msgid "No incoming email address."
+msgstr ""
+
+#: actions/emailsettings.php:456 actions/emailsettings.php:478
+#: actions/smssettings.php:528 actions/smssettings.php:552
+msgid "Couldn't update user record."
+msgstr ""
+
+#: actions/emailsettings.php:459 actions/smssettings.php:531
+msgid "Incoming email address removed."
+msgstr ""
+
+#: actions/emailsettings.php:481 actions/smssettings.php:555
+msgid "New incoming email address added."
+msgstr ""
+
+#: actions/favor.php:79
+msgid "This notice is already a favorite!"
+msgstr "Ouzhpennet eo bet an ali-mañ d'ho pennrolloù dija !"
+
+#: actions/favor.php:92 lib/disfavorform.php:140
+msgid "Disfavor favorite"
+msgstr ""
+
+#: actions/favorited.php:65 lib/popularnoticesection.php:91
+#: lib/publicgroupnav.php:93
+msgid "Popular notices"
+msgstr "Alioù poblek"
+
+#: actions/favorited.php:67
+#, php-format
+msgid "Popular notices, page %d"
+msgstr "Alioù poblek, pajenn %d"
+
+#: actions/favorited.php:79
+msgid "The most popular notices on the site right now."
+msgstr "An alioù ar brudetañ el lec'hienn er mare-mañ."
+
+#: actions/favorited.php:150
+msgid "Favorite notices appear on this page but no one has favorited one yet."
+msgstr ""
+
+#: actions/favorited.php:153
+msgid ""
+"Be the first to add a notice to your favorites by clicking the fave button "
+"next to any notice you like."
+msgstr ""
+
+#: actions/favorited.php:156
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and be the first to add a "
+"notice to your favorites!"
+msgstr ""
+
+#: actions/favoritesrss.php:111 actions/showfavorites.php:77
+#: lib/personalgroupnav.php:115
+#, php-format
+msgid "%s's favorite notices"
+msgstr "Alioù pennrollet eus %s"
+
+#: actions/favoritesrss.php:115
+#, php-format
+msgid "Updates favored by %1$s on %2$s!"
+msgstr "Hizivadennoù brientek gant %1$s war %2$s !"
+
+#: actions/featured.php:69 lib/featureduserssection.php:87
+#: lib/publicgroupnav.php:89
+msgid "Featured users"
+msgstr ""
+
+#: actions/featured.php:71
+#, php-format
+msgid "Featured users, page %d"
+msgstr ""
+
+#: actions/featured.php:99
+#, php-format
+msgid "A selection of some great users on %s"
+msgstr "Un dibab eus implijerien vat e %s"
+
+#: actions/file.php:34
+msgid "No notice ID."
+msgstr "ID ali ebet."
+
+#: actions/file.php:38
+msgid "No notice."
+msgstr "Ali ebet."
+
+#: actions/file.php:42
+msgid "No attachments."
+msgstr "N'eus restr stag ebet."
+
+#: actions/file.php:51
+msgid "No uploaded attachments."
+msgstr ""
+
+#: actions/finishremotesubscribe.php:69
+msgid "Not expecting this response!"
+msgstr "Ne oa ket gortozet ar respont-mañ !"
+
+#: actions/finishremotesubscribe.php:80
+msgid "User being listened to does not exist."
+msgstr ""
+
+#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
+msgid "You can use the local subscription!"
+msgstr ""
+
+#: actions/finishremotesubscribe.php:99
+msgid "That user has blocked you from subscribing."
+msgstr "An implijer-se en deus ho stanket evit en enskrivañ."
+
+#: actions/finishremotesubscribe.php:110
+msgid "You are not authorized."
+msgstr "N'oc'h ket aotreet."
+
+#: actions/finishremotesubscribe.php:113
+msgid "Could not convert request token to access token."
+msgstr ""
+
+#: actions/finishremotesubscribe.php:118
+msgid "Remote service uses unknown version of OMB protocol."
+msgstr ""
+
+#: actions/finishremotesubscribe.php:138 lib/oauthstore.php:306
+msgid "Error updating remote profile"
+msgstr ""
+
+#: actions/getfile.php:79
+msgid "No such file."
+msgstr "Restr ezvezant."
+
+#: actions/getfile.php:83
+msgid "Cannot read file."
+msgstr "Diposupl eo lenn ar restr."
+
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Roll direizh."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Ne c'helloc'h ket reiñ rolloù d'an implijerien eus al lec'hienn-mañ."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "An implijer-mañ en deus dija ar roll-mañ."
+
+#: actions/groupblock.php:71 actions/groupunblock.php:71
+#: actions/makeadmin.php:71 actions/subedit.php:46
+#: lib/profileformaction.php:70
+msgid "No profile specified."
+msgstr "N'eo bet resisaet profil ebet"
+
+#: actions/groupblock.php:76 actions/groupunblock.php:76
+#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
+#: actions/unsubscribe.php:84 lib/profileformaction.php:77
+msgid "No profile with that ID."
+msgstr "N'eus profil ebet gant an ID-mañ."
+
+#: actions/groupblock.php:81 actions/groupunblock.php:81
+#: actions/makeadmin.php:81
+msgid "No group specified."
+msgstr "N'eo bet resisaet strollad ebet"
+
+#: actions/groupblock.php:91
+msgid "Only an admin can block group members."
+msgstr "N'eus neme ur merour a c'hell stankañ izili ur strollad."
+
+#: actions/groupblock.php:95
+msgid "User is already blocked from group."
+msgstr "An implijer-mañ a zo stanket dija eus ar strollad."
+
+#: actions/groupblock.php:100
+msgid "User is not a member of group."
+msgstr "N'eo ket an implijer-mañ ezel eus ur strollad."
+
+#: actions/groupblock.php:136 actions/groupmembers.php:323
+msgid "Block user from group"
+msgstr "Stankañ an implijer-mañ eus ar strollad"
+
+#: actions/groupblock.php:162
+#, php-format
+msgid ""
+"Are you sure you want to block user \"%1$s\" from the group \"%2$s\"? They "
+"will be removed from the group, unable to post, and unable to subscribe to "
+"the group in the future."
+msgstr ""
+
+#: actions/groupblock.php:178
+msgid "Do not block this user from this group"
+msgstr "Arabat stankañ an implijer-mañ eus ar strollad."
+
+#: actions/groupblock.php:179
+msgid "Block this user from this group"
+msgstr "Stankañ an implijer-mañ eus ar strollad-se"
+
+#: actions/groupblock.php:196
+msgid "Database error blocking user from group."
+msgstr ""
+
+#: actions/groupbyid.php:74 actions/userbyid.php:70
+msgid "No ID."
+msgstr "ID ebet"
+
+#: actions/groupdesignsettings.php:68
+msgid "You must be logged in to edit a group."
+msgstr ""
+
+#: actions/groupdesignsettings.php:144
+msgid "Group design"
+msgstr "Design ar strollad"
+
+#: actions/groupdesignsettings.php:155
+msgid ""
+"Customize the way your group looks with a background image and a colour "
+"palette of your choice."
+msgstr ""
+
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
+#: lib/designsettings.php:391 lib/designsettings.php:413
+msgid "Couldn't update your design."
+msgstr "Diposubl eo hizivaat ho design."
+
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
+msgid "Design preferences saved."
+msgstr "Enrollet eo bet an arventennoù design."
+
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
+msgid "Group logo"
+msgstr "Logo ar strollad"
+
+#: actions/grouplogo.php:153
+#, php-format
+msgid ""
+"You can upload a logo image for your group. The maximum file size is %s."
+msgstr ""
+
+#: actions/grouplogo.php:181
+msgid "User without matching profile."
+msgstr ""
+
+#: actions/grouplogo.php:365
+msgid "Pick a square area of the image to be the logo."
+msgstr ""
+
+#: actions/grouplogo.php:399
+msgid "Logo updated."
+msgstr "Logo hizivaet."
+
+#: actions/grouplogo.php:401
+msgid "Failed updating logo."
+msgstr "N'eo ket bet kaset da benn an hizivadenn."
+
+#: actions/groupmembers.php:100 lib/groupnav.php:92
+#, php-format
+msgid "%s group members"
+msgstr "Izili ar strollad %s"
+
+#: actions/groupmembers.php:103
+#, php-format
+msgid "%1$s group members, page %2$d"
+msgstr "Izili ar strollad %1$s, pajenn %2$d"
+
+#: actions/groupmembers.php:118
+msgid "A list of the users in this group."
+msgstr "Roll an implijerien enrollet er strollad-mañ."
+
+#: actions/groupmembers.php:182 lib/groupnav.php:107
+msgid "Admin"
+msgstr "Merañ"
+
+#: actions/groupmembers.php:355 lib/blockform.php:69
+msgid "Block"
+msgstr "Stankañ"
+
+#: actions/groupmembers.php:450
+msgid "Make user an admin of the group"
+msgstr "Lakaat an implijer da vezañ ur merour eus ar strollad"
+
+#: actions/groupmembers.php:482
+msgid "Make Admin"
+msgstr "Lakaat ur merour"
+
+#: actions/groupmembers.php:482
+msgid "Make this user an admin"
+msgstr "Lakaat an implijer-mañ da verour"
+
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Oberezhioù %s"
+
+#: actions/grouprss.php:140
+#, php-format
+msgid "Updates from members of %1$s on %2$s!"
+msgstr "Hizivadenn izili %1$s e %2$s !"
+
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
+#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
+msgid "Groups"
+msgstr "Strolladoù"
+
+#: actions/groups.php:64
+#, php-format
+msgid "Groups, page %d"
+msgstr "Strollad, pajenn %d"
+
+#: actions/groups.php:90
+#, php-format
+msgid ""
+"%%%%site.name%%%% groups let you find and talk with people of similar "
+"interests. After you join a group you can send messages to all other members "
+"using the syntax \"!groupname\". Don't see a group you like? Try [searching "
+"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
+"%%%%)"
+msgstr ""
+
+#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
+msgid "Create a new group"
+msgstr "Krouiñ ur strollad nevez"
+
+#: actions/groupsearch.php:52
+#, php-format
+msgid ""
+"Search for groups on %%site.name%% by their name, location, or description. "
+"Separate the terms by spaces; they must be 3 characters or more."
+msgstr ""
+
+#: actions/groupsearch.php:58
+msgid "Group search"
+msgstr "Klask strolladoù"
+
+#: actions/groupsearch.php:79 actions/noticesearch.php:117
+#: actions/peoplesearch.php:83
+msgid "No results."
+msgstr "Disoc'h ebet."
+
+#: actions/groupsearch.php:82
+#, php-format
+msgid ""
+"If you can't find the group you're looking for, you can [create it](%%action."
+"newgroup%%) yourself."
+msgstr ""
+"Ma ne gavoc'h ket ar strollad emaoc'h o klask, neuze e c'helloc'h [krouiñ "
+"anezhañ](%%action.newgroup%%)."
+
+#: actions/groupsearch.php:85
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and [create the group](%%"
+"action.newgroup%%) yourself!"
+msgstr ""
+
+#: actions/groupunblock.php:91
+msgid "Only an admin can unblock group members."
+msgstr "N'eus nemet ur merour a c'hell distankañ izili ur strollad."
+
+#: actions/groupunblock.php:95
+msgid "User is not blocked from group."
+msgstr "N'eo ket stanket an implijer-mañ eus ar strollad."
+
+#: actions/groupunblock.php:128 actions/unblock.php:86
+msgid "Error removing the block."
+msgstr "Ur fazi a zo bet e-pad nulladenn ar stankadenn."
+
+#: actions/imsettings.php:59
+msgid "IM settings"
+msgstr "Arventennoù ar bostelerezh prim"
+
+#: actions/imsettings.php:70
+#, php-format
+msgid ""
+"You can send and receive notices through Jabber/GTalk [instant messages](%%"
+"doc.im%%). Configure your address and settings below."
+msgstr ""
+
+#: actions/imsettings.php:89
+msgid "IM is not available."
+msgstr "Dizimplijadus eo ar bostelerezh prim"
+
+#: actions/imsettings.php:106
+msgid "Current confirmed Jabber/GTalk address."
+msgstr "Chomlec'h Jabber/GTalk kadarnaet er mare-mañ."
+
+#: actions/imsettings.php:114
+#, php-format
+msgid ""
+"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
+"message with further instructions. (Did you add %s to your buddy list?)"
+msgstr ""
+
+#: actions/imsettings.php:124
+msgid "IM address"
+msgstr "Chomlec'h postelerezh prim"
+
+#: actions/imsettings.php:126
+#, php-format
+msgid ""
+"Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
+"add %s to your buddy list in your IM client or on GTalk."
+msgstr ""
+
+#: actions/imsettings.php:143
+msgid "Send me notices through Jabber/GTalk."
+msgstr "Kas din an alioù dre Jabber/GTalk."
+
+#: actions/imsettings.php:148
+msgid "Post a notice when my Jabber/GTalk status changes."
+msgstr ""
+
+#: actions/imsettings.php:153
+msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
+msgstr ""
+
+#: actions/imsettings.php:159
+msgid "Publish a MicroID for my Jabber/GTalk address."
+msgstr "Embann ur MicroID evit ma chomlec'h Jabber/GTalk."
+
+#: actions/imsettings.php:285
+msgid "No Jabber ID."
+msgstr "ID Jabber ebet."
+
+#: actions/imsettings.php:292
+msgid "Cannot normalize that Jabber ID"
+msgstr "Diposubl eo implijout an ID Jabber-mañ"
+
+#: actions/imsettings.php:296
+msgid "Not a valid Jabber ID"
+msgstr "N'eo ket un ID Jabber reizh."
+
+#: actions/imsettings.php:299
+msgid "That is already your Jabber ID."
+msgstr "Ho ID Jabber eo dija"
+
+#: actions/imsettings.php:302
+msgid "Jabber ID already belongs to another user."
+msgstr "Implijet eo an Jabber ID-mañ gant un implijer all."
+
+#: actions/imsettings.php:327
+#, php-format
+msgid ""
+"A confirmation code was sent to the IM address you added. You must approve %"
+"s for sending messages to you."
+msgstr ""
+
+#: actions/imsettings.php:387
+msgid "That is not your Jabber ID."
+msgstr "N'eo ket ho ID Jabber."
+
+#: actions/inbox.php:59
+#, php-format
+msgid "Inbox for %1$s - page %2$d"
+msgstr "Boest degemer %1$s - pajenn %2$d"
+
+#: actions/inbox.php:62
+#, php-format
+msgid "Inbox for %s"
+msgstr "Bost resevout %s"
+
+#: actions/inbox.php:115
+msgid "This is your inbox, which lists your incoming private messages."
+msgstr ""
+
+#: actions/invite.php:39
+msgid "Invites have been disabled."
+msgstr "Diweredekaat eo bet ar bedadennoù."
+
+#: actions/invite.php:41
+#, php-format
+msgid "You must be logged in to invite other users to use %s"
+msgstr ""
+
+#: actions/invite.php:72
+#, php-format
+msgid "Invalid email address: %s"
+msgstr "Fall eo ar postel : %s"
+
+#: actions/invite.php:110
+msgid "Invitation(s) sent"
+msgstr "Kaset eo bet ar bedadenn(où)"
+
+#: actions/invite.php:112
+msgid "Invite new users"
+msgstr "Pediñ implijerien nevez"
+
+#: actions/invite.php:128
+msgid "You are already subscribed to these users:"
+msgstr "Koumanantet oc'h dija d'an implijerien-mañ :"
+
+#: actions/invite.php:131 actions/invite.php:139 lib/command.php:306
+#, php-format
+msgid "%1$s (%2$s)"
+msgstr "%1$s (%2$s)"
+
+#: actions/invite.php:136
+msgid ""
+"These people are already users and you were automatically subscribed to them:"
+msgstr ""
+"Implijerien eo dija an dud-mañ ha koumanantet oc'h bet ez emgefre d'an "
+"implijerien da-heul :"
+
+#: actions/invite.php:144
+msgid "Invitation(s) sent to the following people:"
+msgstr "Pedadennoù bet kaset d'an implijerien da-heul :"
+
+#: actions/invite.php:150
+msgid ""
+"You will be notified when your invitees accept the invitation and register "
+"on the site. Thanks for growing the community!"
+msgstr ""
+
+#: actions/invite.php:162
+msgid ""
+"Use this form to invite your friends and colleagues to use this service."
+msgstr ""
+
+#: actions/invite.php:187
+msgid "Email addresses"
+msgstr "Chomlec'hioù postel"
+
+#: actions/invite.php:189
+msgid "Addresses of friends to invite (one per line)"
+msgstr "Chomlec'hioù an implijerien da bediñ (unan dre linenn)"
+
+#: actions/invite.php:192
+msgid "Personal message"
+msgstr "Kemenadenn bersonel"
+
+#: actions/invite.php:194
+msgid "Optionally add a personal message to the invitation."
+msgstr ""
+
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Kas"
+
+#: actions/invite.php:227
+#, php-format
+msgid "%1$s has invited you to join them on %2$s"
+msgstr "%1$s a bed ac'hanoc'h d'en em enskrivañ war %2$s"
+
+#: actions/invite.php:229
+#, php-format
+msgid ""
+"%1$s has invited you to join them on %2$s (%3$s).\n"
+"\n"
+"%2$s is a micro-blogging service that lets you keep up-to-date with people "
+"you know and people who interest you.\n"
+"\n"
+"You can also share news about yourself, your thoughts, or your life online "
+"with people who know about you. It's also great for meeting new people who "
+"share your interests.\n"
+"\n"
+"%1$s said:\n"
+"\n"
+"%4$s\n"
+"\n"
+"You can see %1$s's profile page on %2$s here:\n"
+"\n"
+"%5$s\n"
+"\n"
+"If you'd like to try the service, click on the link below to accept the "
+"invitation.\n"
+"\n"
+"%6$s\n"
+"\n"
+"If not, you can ignore this message. Thanks for your patience and your "
+"time.\n"
+"\n"
+"Sincerely, %2$s\n"
+msgstr ""
+
+#: actions/joingroup.php:60
+msgid "You must be logged in to join a group."
+msgstr "Rankout a reoc'h bezañ luget evit mont en ur strollad."
+
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Lesanv pe ID ebet."
+
+#: actions/joingroup.php:141
+#, php-format
+msgid "%1$s joined group %2$s"
+msgstr "%1$s a zo bet er strollad %2$s"
+
+#: actions/leavegroup.php:60
+msgid "You must be logged in to leave a group."
+msgstr "Ret eo deoc'h bezañ kevreet evit kuitaat ur strollad"
+
+#: actions/leavegroup.php:100 lib/command.php:265
+msgid "You are not a member of that group."
+msgstr "N'oc'h ket un ezel eus ar strollad-mañ."
+
+#: actions/leavegroup.php:137
+#, php-format
+msgid "%1$s left group %2$s"
+msgstr "%1$s en deus kuitaet ar strollad %2$s"
+
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
+msgid "Already logged in."
+msgstr "Kevreet oc'h dija."
+
+#: actions/login.php:126
+msgid "Incorrect username or password."
+msgstr "Anv implijer pe ger-tremen direizh."
+
+#: actions/login.php:132 actions/otp.php:120
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
+"Ur fazi 'zo bet e-pad hizivadenn an implijer. Moarvat n'oc'h ket aotreet "
+"evit en ober."
+
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
+msgid "Login"
+msgstr "Kevreañ"
+
+#: actions/login.php:227
+msgid "Login to site"
+msgstr "Kevreañ d'al lec'hienn"
+
+#: actions/login.php:236 actions/register.php:478
+msgid "Remember me"
+msgstr "Kaout soñj"
+
+#: actions/login.php:237 actions/register.php:480
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+"Digeriñ va dalc'h war-eeun ar wechoù o tont ; arabat en ober war "
+"urzhiataeroù rannet pe publik !"
+
+#: actions/login.php:247
+msgid "Lost or forgotten password?"
+msgstr "Ha kollet o peus ho ker-tremen ?"
+
+#: actions/login.php:266
+msgid ""
+"For security reasons, please re-enter your user name and password before "
+"changing your settings."
+msgstr ""
+"Evit abegoù a surentezh, mar plij adlakait hoc'h anv implijer hag ho ker-"
+"tremen a-benn enrollañ ho penndibaboù."
+
+#: actions/login.php:270
+#, php-format
+msgid ""
+"Login with your username and password. Don't have a username yet? [Register]"
+"(%%action.register%%) a new account."
+msgstr ""
+"Kevreit gant ho anv implijer hag ho ker tremen. N'o peus ket a anv implijer "
+"evit c'hoazh ? [Krouit](%%action.register%%) ur gont nevez."
+
+#: actions/makeadmin.php:92
+msgid "Only an admin can make another user an admin."
+msgstr "N'eus nemet ur merour a c'hall lakaat un implijer all da vezañ merour."
+
+#: actions/makeadmin.php:96
+#, php-format
+msgid "%1$s is already an admin for group \"%2$s\"."
+msgstr "%1$s a zo dija merour ar strollad \"%2$s\"."
+
+#: actions/makeadmin.php:133
+#, php-format
+msgid "Can't get membership record for %1$s in group %2$s."
+msgstr ""
+
+#: actions/makeadmin.php:146
+#, php-format
+msgid "Can't make %1$s an admin for group %2$s."
+msgstr "Diposubl eo lakaat %1$s da merour ar strollad %2$s."
+
+#: actions/microsummary.php:69
+msgid "No current status"
+msgstr "Statud ebet er mare-mañ"
+
+#: actions/newapplication.php:52
+msgid "New Application"
+msgstr "Poellad nevez"
+
+#: actions/newapplication.php:64
+msgid "You must be logged in to register an application."
+msgstr "Ret eo deoc'h bezañ luget evit enrollañ ur poellad."
+
+#: actions/newapplication.php:143
+msgid "Use this form to register a new application."
+msgstr "Implijit ar furmskrid-mañ evit enskrivañ ur poellad nevez."
+
+#: actions/newapplication.php:176
+msgid "Source URL is required."
+msgstr "Ezhomm 'zo eus ar vammenn URL."
+
+#: actions/newapplication.php:258 actions/newapplication.php:267
+msgid "Could not create application."
+msgstr "N'eo ket posubl krouiñ ar poellad."
+
+#: actions/newgroup.php:53
+msgid "New group"
+msgstr "Strollad nevez"
+
+#: actions/newgroup.php:110
+msgid "Use this form to create a new group."
+msgstr "Implijit ar furmskrid-mañ a-benn krouiñ ur strollad nevez."
+
+#: actions/newmessage.php:71 actions/newmessage.php:231
+msgid "New message"
+msgstr "Kemennadenn nevez"
+
+#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:358
+msgid "You can't send a message to this user."
+msgstr "Ne c'helloc'h ket kas kemennadennoù d'an implijer-mañ."
+
+#: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:342
+#: lib/command.php:475
+msgid "No content!"
+msgstr "Goullo eo !"
+
+#: actions/newmessage.php:158
+msgid "No recipient specified."
+msgstr "N'o peus ket lakaet a resever."
+
+#: actions/newmessage.php:164 lib/command.php:361
+msgid ""
+"Don't send a message to yourself; just say it to yourself quietly instead."
+msgstr ""
+"Na gasit ket a gemennadenn deoc'h c'hwi ho unan ; lavarit an traoù-se en ho "
+"penn kentoc'h."
+
+#: actions/newmessage.php:181
+msgid "Message sent"
+msgstr "Kaset eo bet ar gemenadenn"
+
+#: actions/newmessage.php:185
+#, php-format
+msgid "Direct message to %s sent."
+msgstr "Kaset eo bet da %s ar gemennadenn war-eeun."
+
+#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
+msgid "Ajax Error"
+msgstr "Fazi Ajax"
+
+#: actions/newnotice.php:69
+msgid "New notice"
+msgstr "Ali nevez"
+
+#: actions/newnotice.php:211
+msgid "Notice posted"
+msgstr "Ali embannet"
+
+#: actions/noticesearch.php:68
+#, php-format
+msgid ""
+"Search for notices on %%site.name%% by their contents. Separate search terms "
+"by spaces; they must be 3 characters or more."
+msgstr ""
+
+#: actions/noticesearch.php:78
+msgid "Text search"
+msgstr "Klask un destenn"
+
+#: actions/noticesearch.php:91
+#, php-format
+msgid "Search results for \"%1$s\" on %2$s"
+msgstr "Disoc'hoù ar c'hlask evit \"%1$s\" e %2$s"
+
+#: actions/noticesearch.php:121
+#, php-format
+msgid ""
+"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
+msgstr ""
+
+#: actions/noticesearch.php:124
+#, php-format
+msgid ""
+"Why not [register an account](%%%%action.register%%%%) and be the first to "
+"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
+msgstr ""
+
+#: actions/noticesearchrss.php:96
+#, php-format
+msgid "Updates with \"%s\""
+msgstr "Hizivadenn gant \"%s\""
+
+#: actions/noticesearchrss.php:98
+#, php-format
+msgid "Updates matching search term \"%1$s\" on %2$s!"
+msgstr ""
+
+#: actions/nudge.php:85
+msgid ""
+"This user doesn't allow nudges or hasn't confirmed or set his email yet."
+msgstr ""
+
+#: actions/nudge.php:94
+msgid "Nudge sent"
+msgstr "Kaset eo bet ar blinkadenn"
+
+#: actions/nudge.php:97
+msgid "Nudge sent!"
+msgstr "Kaset eo bet ar blinkadenn !"
+
+#: actions/oauthappssettings.php:59
+msgid "You must be logged in to list your applications."
+msgstr "Rankout a reoc'h bezañ kevreet evit rollañ ho poelladoù."
+
+#: actions/oauthappssettings.php:74
+msgid "OAuth applications"
+msgstr "Poelladoù OAuth"
+
+#: actions/oauthappssettings.php:85
+msgid "Applications you have registered"
+msgstr "Ar poelladoù o peus enrollet"
+
+#: actions/oauthappssettings.php:135
+#, php-format
+msgid "You have not registered any applications yet."
+msgstr "N'o peus enrollet poellad ebet evit poent."
+
+#: actions/oauthconnectionssettings.php:72
+msgid "Connected applications"
+msgstr "Poeladoù kevreet."
+
+#: actions/oauthconnectionssettings.php:83
+msgid "You have allowed the following applications to access you account."
+msgstr ""
+
+#: actions/oauthconnectionssettings.php:175
+msgid "You are not a user of that application."
+msgstr "N'oc'h ket un implijer eus ar poellad-mañ."
+
+#: actions/oauthconnectionssettings.php:186
+msgid "Unable to revoke access for app: "
+msgstr "Dibosupl eo nullañ moned ar poellad : "
+
+#: actions/oauthconnectionssettings.php:198
+#, php-format
+msgid "You have not authorized any applications to use your account."
+msgstr ""
+
+#: actions/oauthconnectionssettings.php:211
+msgid "Developers can edit the registration settings for their applications "
+msgstr ""
+
+#: actions/oembed.php:79 actions/shownotice.php:100
+msgid "Notice has no profile"
+msgstr "N'en deus ket an ali a profil"
+
+#: actions/oembed.php:86 actions/shownotice.php:180
+#, php-format
+msgid "%1$s's status on %2$s"
+msgstr "Statud %1$s war %2$s"
+
+#: actions/oembed.php:157
+msgid "content type "
+msgstr "seurt an danvez "
+
+#: actions/oembed.php:160
+msgid "Only "
+msgstr "Hepken "
+
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
+msgid "Not a supported data format."
+msgstr ""
+
+#: actions/opensearch.php:64
+msgid "People Search"
+msgstr "Klask tud"
+
+#: actions/opensearch.php:67
+msgid "Notice Search"
+msgstr "Klask alioù"
+
+#: actions/othersettings.php:60
+msgid "Other settings"
+msgstr "Arventennoù all"
+
+#: actions/othersettings.php:71
+msgid "Manage various other options."
+msgstr "Dibarzhioù all da gefluniañ."
+
+#: actions/othersettings.php:108
+msgid " (free service)"
+msgstr " (servij digoust)"
+
+#: actions/othersettings.php:116
+msgid "Shorten URLs with"
+msgstr ""
+
+#: actions/othersettings.php:117
+msgid "Automatic shortening service to use."
+msgstr ""
+
+#: actions/othersettings.php:122
+msgid "View profile designs"
+msgstr ""
+
+#: actions/othersettings.php:123
+msgid "Show or hide profile designs."
+msgstr ""
+
+#: actions/othersettings.php:153
+msgid "URL shortening service is too long (max 50 chars)."
+msgstr ""
+
+#: actions/otp.php:69
+msgid "No user ID specified."
+msgstr "N'eus bet diferet ID implijer ebet."
+
+#: actions/otp.php:83
+msgid "No login token specified."
+msgstr ""
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+msgid "Invalid login token specified."
+msgstr ""
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
+#: actions/outbox.php:58
+#, php-format
+msgid "Outbox for %1$s - page %2$d"
+msgstr "Boest kas %1$s - pajenn %2$d"
+
+#: actions/outbox.php:61
+#, php-format
+msgid "Outbox for %s"
+msgstr "Boest kas %s"
+
+#: actions/outbox.php:116
+msgid "This is your outbox, which lists private messages you have sent."
+msgstr ""
+
+#: actions/passwordsettings.php:58
+msgid "Change password"
+msgstr "Cheñch ger-tremen"
+
+#: actions/passwordsettings.php:69
+msgid "Change your password."
+msgstr "Kemmañ ho ger tremen."
+
+#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
+msgid "Password change"
+msgstr "Kemmañ ar ger-tremen"
+
+#: actions/passwordsettings.php:104
+msgid "Old password"
+msgstr "Ger-tremen kozh"
+
+#: actions/passwordsettings.php:108 actions/recoverpassword.php:235
+msgid "New password"
+msgstr "Ger-tremen nevez"
+
+#: actions/passwordsettings.php:109
+msgid "6 or more characters"
+msgstr "6 arouezenn pe muioc'h"
+
+#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
+#: actions/register.php:433 actions/smssettings.php:134
+msgid "Confirm"
+msgstr "Kadarnaat"
+
+#: actions/passwordsettings.php:113 actions/recoverpassword.php:240
+msgid "Same as password above"
+msgstr "Memestra eget ar ger tremen a-us"
+
+#: actions/passwordsettings.php:117
+msgid "Change"
+msgstr "Kemmañ"
+
+#: actions/passwordsettings.php:154 actions/register.php:230
+msgid "Password must be 6 or more characters."
+msgstr "Rankout a ra ar ger-tremen bezañ gant 6 arouezenn d'an nebeutañ."
+
+#: actions/passwordsettings.php:157 actions/register.php:233
+msgid "Passwords don't match."
+msgstr "Ne glot ket ar gerioù-tremen."
+
+#: actions/passwordsettings.php:165
+msgid "Incorrect old password"
+msgstr "ger-termen kozh amreizh"
+
+#: actions/passwordsettings.php:181
+msgid "Error saving user; invalid."
+msgstr "Ur fazi 'zo bet e-pad enolladenn an implijer ; diwiriek."
+
+#: actions/passwordsettings.php:186 actions/recoverpassword.php:368
+msgid "Can't save new password."
+msgstr "Dibosupl eo enrollañ ar ger-tremen nevez."
+
+#: actions/passwordsettings.php:192 actions/recoverpassword.php:211
+msgid "Password saved."
+msgstr "Ger-tremen enrollet."
+
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
+msgid "Paths"
+msgstr "Hentoù"
+
+#: actions/pathsadminpanel.php:70
+msgid "Path and server settings for this StatusNet site."
+msgstr ""
+
+#: actions/pathsadminpanel.php:157
+#, php-format
+msgid "Theme directory not readable: %s"
+msgstr ""
+
+#: actions/pathsadminpanel.php:163
+#, php-format
+msgid "Avatar directory not writable: %s"
+msgstr ""
+
+#: actions/pathsadminpanel.php:169
+#, php-format
+msgid "Background directory not writable: %s"
+msgstr ""
+
+#: actions/pathsadminpanel.php:177
+#, php-format
+msgid "Locales directory not readable: %s"
+msgstr ""
+
+#: actions/pathsadminpanel.php:183
+msgid "Invalid SSL server. The maximum length is 255 characters."
+msgstr ""
+
+#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
+msgid "Site"
+msgstr "Lec'hien"
+
+#: actions/pathsadminpanel.php:238
+msgid "Server"
+msgstr "Servijer"
+
+#: actions/pathsadminpanel.php:238
+msgid "Site's server hostname."
+msgstr ""
+
+#: actions/pathsadminpanel.php:242
+msgid "Path"
+msgstr "Hent"
+
+#: actions/pathsadminpanel.php:242
+msgid "Site path"
+msgstr "Hent al lec'hien"
+
+#: actions/pathsadminpanel.php:246
+msgid "Path to locales"
+msgstr ""
+
+#: actions/pathsadminpanel.php:246
+msgid "Directory path to locales"
+msgstr ""
+
+#: actions/pathsadminpanel.php:250
+msgid "Fancy URLs"
+msgstr "URLioù brav"
+
+#: actions/pathsadminpanel.php:252
+msgid "Use fancy (more readable and memorable) URLs?"
+msgstr ""
+
+#: actions/pathsadminpanel.php:259
+msgid "Theme"
+msgstr "Danvez"
+
+#: actions/pathsadminpanel.php:264
+msgid "Theme server"
+msgstr "Servijer danvezioù"
+
+#: actions/pathsadminpanel.php:268
+msgid "Theme path"
+msgstr "Hentad an tem"
+
+#: actions/pathsadminpanel.php:272
+msgid "Theme directory"
+msgstr "Doser an temoù"
+
+#: actions/pathsadminpanel.php:279
+msgid "Avatars"
+msgstr "Avataroù"
+
+#: actions/pathsadminpanel.php:284
+msgid "Avatar server"
+msgstr "Servijer avatar"
+
+#: actions/pathsadminpanel.php:288
+msgid "Avatar path"
+msgstr ""
+
+#: actions/pathsadminpanel.php:292
+msgid "Avatar directory"
+msgstr ""
+
+#: actions/pathsadminpanel.php:301
+msgid "Backgrounds"
+msgstr "Backgroundoù"
+
+#: actions/pathsadminpanel.php:305
+msgid "Background server"
+msgstr "Servijer ar backgroundoù"
+
+#: actions/pathsadminpanel.php:309
+msgid "Background path"
+msgstr ""
+
+#: actions/pathsadminpanel.php:313
+msgid "Background directory"
+msgstr ""
+
+#: actions/pathsadminpanel.php:320
+msgid "SSL"
+msgstr "SSL"
+
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
+msgid "Never"
+msgstr "Morse"
+
+#: actions/pathsadminpanel.php:324
+msgid "Sometimes"
+msgstr "A-wechoù"
+
+#: actions/pathsadminpanel.php:325
+msgid "Always"
+msgstr "Atav"
+
+#: actions/pathsadminpanel.php:329
+msgid "Use SSL"
+msgstr "Implij SSl"
+
+#: actions/pathsadminpanel.php:330
+msgid "When to use SSL"
+msgstr ""
+
+#: actions/pathsadminpanel.php:335
+msgid "SSL server"
+msgstr "Servijer SSL"
+
+#: actions/pathsadminpanel.php:336
+msgid "Server to direct SSL requests to"
+msgstr ""
+
+#: actions/pathsadminpanel.php:352
+msgid "Save paths"
+msgstr "Enrollañ an hentadoù."
+
+#: actions/peoplesearch.php:52
+#, php-format
+msgid ""
+"Search for people on %%site.name%% by their name, location, or interests. "
+"Separate the terms by spaces; they must be 3 characters or more."
+msgstr ""
+
+#: actions/peoplesearch.php:58
+msgid "People search"
+msgstr "Klask tud"
+
+#: actions/peopletag.php:70
+#, php-format
+msgid "Not a valid people tag: %s"
+msgstr "N'eo ket reizh ar merk-se : %s"
+
+#: actions/peopletag.php:144
+#, php-format
+msgid "Users self-tagged with %1$s - page %2$d"
+msgstr ""
+
+#: actions/postnotice.php:95
+msgid "Invalid notice content"
+msgstr ""
+
+#: actions/postnotice.php:101
+#, php-format
+msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
+msgstr ""
+
+#: actions/profilesettings.php:60
+msgid "Profile settings"
+msgstr "Arventennoù ar profil"
+
+#: actions/profilesettings.php:71
+msgid ""
+"You can update your personal profile info here so people know more about you."
+msgstr ""
+
+#: actions/profilesettings.php:99
+msgid "Profile information"
+msgstr "Titouroù ar profil"
+
+#: actions/profilesettings.php:108 lib/groupeditform.php:154
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+
+#: actions/profilesettings.php:111 actions/register.php:448
+#: actions/showgroup.php:255 actions/tagother.php:104
+#: lib/groupeditform.php:157 lib/userprofile.php:149
+msgid "Full name"
+msgstr "Anv klok"
+
+#: actions/profilesettings.php:115 actions/register.php:453
+#: lib/applicationeditform.php:228 lib/groupeditform.php:161
+msgid "Homepage"
+msgstr "Pajenn degemer"
+
+#: actions/profilesettings.php:117 actions/register.php:455
+msgid "URL of your homepage, blog, or profile on another site"
+msgstr ""
+
+#: actions/profilesettings.php:122 actions/register.php:461
+#, php-format
+msgid "Describe yourself and your interests in %d chars"
+msgstr ""
+
+#: actions/profilesettings.php:125 actions/register.php:464
+msgid "Describe yourself and your interests"
+msgstr ""
+
+#: actions/profilesettings.php:127 actions/register.php:466
+msgid "Bio"
+msgstr "Buhezskrid"
+
+#: actions/profilesettings.php:132 actions/register.php:471
+#: actions/showgroup.php:264 actions/tagother.php:112
+#: actions/userauthorization.php:166 lib/groupeditform.php:177
+#: lib/userprofile.php:164
+msgid "Location"
+msgstr "Lec'hiadur"
+
+#: actions/profilesettings.php:134 actions/register.php:473
+msgid "Where you are, like \"City, State (or Region), Country\""
+msgstr ""
+
+#: actions/profilesettings.php:138
+msgid "Share my current location when posting notices"
+msgstr ""
+
+#: actions/profilesettings.php:145 actions/tagother.php:149
+#: actions/tagother.php:209 lib/subscriptionlist.php:106
+#: lib/subscriptionlist.php:108 lib/userprofile.php:209
+msgid "Tags"
+msgstr "Balizennoù"
+
+#: actions/profilesettings.php:147
+msgid ""
+"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
+msgstr ""
+
+#: actions/profilesettings.php:151
+msgid "Language"
+msgstr "Yezh"
+
+#: actions/profilesettings.php:152
+msgid "Preferred language"
+msgstr "Yezh d'ober ganti da gentañ"
+
+#: actions/profilesettings.php:161
+msgid "Timezone"
+msgstr "Takad eur"
+
+#: actions/profilesettings.php:162
+msgid "What timezone are you normally in?"
+msgstr ""
+
+#: actions/profilesettings.php:167
+msgid ""
+"Automatically subscribe to whoever subscribes to me (best for non-humans)"
+msgstr ""
+
+#: actions/profilesettings.php:228 actions/register.php:223
+#, php-format
+msgid "Bio is too long (max %d chars)."
+msgstr "Re hir eo ar bio (%d arouezenn d'ar muiañ)."
+
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
+msgid "Timezone not selected."
+msgstr "N'eo bet dibabet gwerzhid-eur ebet."
+
+#: actions/profilesettings.php:241
+msgid "Language is too long (max 50 chars)."
+msgstr "Re hir eo ar yezh (255 arouezenn d'ar muiañ)."
+
+#: actions/profilesettings.php:253 actions/tagother.php:178
+#, php-format
+msgid "Invalid tag: \"%s\""
+msgstr "Balizenn direizh : \"%s\""
+
+#: actions/profilesettings.php:306
+msgid "Couldn't update user for autosubscribe."
+msgstr ""
+
+#: actions/profilesettings.php:363
+msgid "Couldn't save location prefs."
+msgstr ""
+
+#: actions/profilesettings.php:375
+msgid "Couldn't save profile."
+msgstr "Diposubl eo enrollañ ar profil."
+
+#: actions/profilesettings.php:383
+msgid "Couldn't save tags."
+msgstr "Diposubl eo enrollañ ar balizennoù."
+
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
+msgid "Settings saved."
+msgstr "Enrollet eo bet an arventennoù."
+
+#: actions/public.php:83
+#, php-format
+msgid "Beyond the page limit (%s)"
+msgstr ""
+
+#: actions/public.php:92
+msgid "Could not retrieve public stream."
+msgstr ""
+
+#: actions/public.php:130
+#, php-format
+msgid "Public timeline, page %d"
+msgstr ""
+
+#: actions/public.php:132 lib/publicgroupnav.php:79
+msgid "Public timeline"
+msgstr ""
+
+#: actions/public.php:160
+msgid "Public Stream Feed (RSS 1.0)"
+msgstr ""
+
+#: actions/public.php:164
+msgid "Public Stream Feed (RSS 2.0)"
+msgstr ""
+
+#: actions/public.php:168
+msgid "Public Stream Feed (Atom)"
+msgstr ""
+
+#: actions/public.php:188
+#, php-format
+msgid ""
+"This is the public timeline for %%site.name%% but no one has posted anything "
+"yet."
+msgstr ""
+
+#: actions/public.php:191
+msgid "Be the first to post!"
+msgstr "Bezit an hini gentañ da bostañ !"
+
+#: actions/public.php:195
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and be the first to post!"
+msgstr ""
+
+#: actions/public.php:242
+#, php-format
+msgid ""
+"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
+"blogging) service based on the Free Software [StatusNet](http://status.net/) "
+"tool. [Join now](%%action.register%%) to share notices about yourself with "
+"friends, family, and colleagues! ([Read more](%%doc.help%%))"
+msgstr ""
+
+#: actions/public.php:247
+#, php-format
+msgid ""
+"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
+"blogging) service based on the Free Software [StatusNet](http://status.net/) "
+"tool."
+msgstr ""
+
+#: actions/publictagcloud.php:57
+msgid "Public tag cloud"
+msgstr ""
+
+#: actions/publictagcloud.php:63
+#, php-format
+msgid "These are most popular recent tags on %s "
+msgstr ""
+
+#: actions/publictagcloud.php:69
+#, php-format
+msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
+msgstr ""
+
+#: actions/publictagcloud.php:72
+msgid "Be the first to post one!"
+msgstr ""
+
+#: actions/publictagcloud.php:75
+#, php-format
+msgid ""
+"Why not [register an account](%%action.register%%) and be the first to post "
+"one!"
+msgstr ""
+
+#: actions/publictagcloud.php:134
+msgid "Tag cloud"
+msgstr ""
+
+#: actions/recoverpassword.php:36
+msgid "You are already logged in!"
+msgstr "Luget oc'h dija !"
+
+#: actions/recoverpassword.php:62
+msgid "No such recovery code."
+msgstr "Kod adtapout nann-kavet."
+
+#: actions/recoverpassword.php:66
+msgid "Not a recovery code."
+msgstr "N'eo ket ur c'hod adtapout an dra-mañ."
+
+#: actions/recoverpassword.php:73
+msgid "Recovery code for unknown user."
+msgstr ""
+
+#: actions/recoverpassword.php:86
+msgid "Error with confirmation code."
+msgstr ""
+
+#: actions/recoverpassword.php:97
+msgid "This confirmation code is too old. Please start again."
+msgstr ""
+
+#: actions/recoverpassword.php:111
+msgid "Could not update user with confirmed email address."
+msgstr ""
+
+#: actions/recoverpassword.php:152
+msgid ""
+"If you have forgotten or lost your password, you can get a new one sent to "
+"the email address you have stored in your account."
+msgstr ""
+
+#: actions/recoverpassword.php:158
+msgid "You have been identified. Enter a new password below. "
+msgstr ""
+
+#: actions/recoverpassword.php:188
+msgid "Password recovery"
+msgstr "Adtapout ar ger-tremen"
+
+#: actions/recoverpassword.php:191
+msgid "Nickname or email address"
+msgstr ""
+
+#: actions/recoverpassword.php:193
+msgid "Your nickname on this server, or your registered email address."
+msgstr ""
+
+#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
+msgid "Recover"
+msgstr "Adtapout"
+
+#: actions/recoverpassword.php:208
+msgid "Reset password"
+msgstr "Adderaouekaat ar ger-tremen"
+
+#: actions/recoverpassword.php:209
+msgid "Recover password"
+msgstr "Adtapout ar ger-tremen"
+
+#: actions/recoverpassword.php:210 actions/recoverpassword.php:322
+msgid "Password recovery requested"
+msgstr "Goulennet eo an adtapout gerioù-tremen"
+
+#: actions/recoverpassword.php:213
+msgid "Unknown action"
+msgstr "Ober dianav"
+
+#: actions/recoverpassword.php:236
+msgid "6 or more characters, and don't forget it!"
+msgstr "6 arouezenn pe muioc'h, ha n'e zisoñjit ket !"
+
+#: actions/recoverpassword.php:243
+msgid "Reset"
+msgstr "Adderaouekaat"
+
+#: actions/recoverpassword.php:252
+msgid "Enter a nickname or email address."
+msgstr "Lakait ul lesanv pe ur chomlec'h postel."
+
+#: actions/recoverpassword.php:272
+msgid "No user with that email address or username."
+msgstr ""
+
+#: actions/recoverpassword.php:287
+msgid "No registered email address for that user."
+msgstr ""
+
+#: actions/recoverpassword.php:301
+msgid "Error saving address confirmation."
+msgstr ""
+
+#: actions/recoverpassword.php:325
+msgid ""
+"Instructions for recovering your password have been sent to the email "
+"address registered to your account."
+msgstr ""
+
+#: actions/recoverpassword.php:344
+msgid "Unexpected password reset."
+msgstr ""
+
+#: actions/recoverpassword.php:352
+msgid "Password must be 6 chars or more."
+msgstr ""
+
+#: actions/recoverpassword.php:356
+msgid "Password and confirmation do not match."
+msgstr ""
+
+#: actions/recoverpassword.php:375 actions/register.php:248
+msgid "Error setting user."
+msgstr ""
+
+#: actions/recoverpassword.php:382
+msgid "New password successfully saved. You are now logged in."
+msgstr ""
+
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
+msgid "Sorry, only invited people can register."
+msgstr ""
+
+#: actions/register.php:92
+msgid "Sorry, invalid invitation code."
+msgstr "Digarezit, kod pedadenn direizh."
+
+#: actions/register.php:112
+msgid "Registration successful"
+msgstr ""
+
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
+msgid "Register"
+msgstr "Krouiñ ur gont"
+
+#: actions/register.php:135
+msgid "Registration not allowed."
+msgstr ""
+
+#: actions/register.php:198
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+
+#: actions/register.php:212
+msgid "Email address already exists."
+msgstr "Implijet eo dija ar chomlec'h postel-se."
+
+#: actions/register.php:243 actions/register.php:265
+msgid "Invalid username or password."
+msgstr ""
+
+#: actions/register.php:343
+msgid ""
+"With this form you can create a new account. You can then post notices and "
+"link up to friends and colleagues. "
+msgstr ""
+
+#: actions/register.php:425
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
+msgstr ""
+
+#: actions/register.php:430
+msgid "6 or more characters. Required."
+msgstr "6 arouezenn pe muioc'h. Rekis."
+
+#: actions/register.php:434
+msgid "Same as password above. Required."
+msgstr "Memestra hag ar ger-tremen a-us. Rekis."
+
+#: actions/register.php:438 actions/register.php:442
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
+msgid "Email"
+msgstr "Postel"
+
+#: actions/register.php:439 actions/register.php:443
+msgid "Used only for updates, announcements, and password recovery"
+msgstr ""
+
+#: actions/register.php:450
+msgid "Longer name, preferably your \"real\" name"
+msgstr ""
+
+#: actions/register.php:494
+msgid "My text and files are available under "
+msgstr ""
+
+#: actions/register.php:496
+msgid "Creative Commons Attribution 3.0"
+msgstr ""
+
+#: actions/register.php:497
+msgid ""
+" except this private data: password, email address, IM address, and phone "
+"number."
+msgstr ""
+
+#: actions/register.php:538
+#, php-format
+msgid ""
+"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
+"want to...\n"
+"\n"
+"* Go to [your profile](%2$s) and post your first message.\n"
+"* Add a [Jabber/GTalk address](%%%%action.imsettings%%%%) so you can send "
+"notices through instant messages.\n"
+"* [Search for people](%%%%action.peoplesearch%%%%) that you may know or that "
+"share your interests. \n"
+"* Update your [profile settings](%%%%action.profilesettings%%%%) to tell "
+"others more about you. \n"
+"* Read over the [online docs](%%%%doc.help%%%%) for features you may have "
+"missed. \n"
+"\n"
+"Thanks for signing up and we hope you enjoy using this service."
+msgstr ""
+
+#: actions/register.php:562
+msgid ""
+"(You should receive a message by email momentarily, with instructions on how "
+"to confirm your email address.)"
+msgstr ""
+
+#: actions/remotesubscribe.php:98
+#, php-format
+msgid ""
+"To subscribe, you can [login](%%action.login%%), or [register](%%action."
+"register%%) a new account. If you already have an account on a [compatible "
+"microblogging site](%%doc.openmublog%%), enter your profile URL below."
+msgstr ""
+
+#: actions/remotesubscribe.php:112
+msgid "Remote subscribe"
+msgstr ""
+
+#: actions/remotesubscribe.php:124
+msgid "Subscribe to a remote user"
+msgstr ""
+
+#: actions/remotesubscribe.php:129
+msgid "User nickname"
+msgstr ""
+
+#: actions/remotesubscribe.php:130
+msgid "Nickname of the user you want to follow"
+msgstr ""
+
+#: actions/remotesubscribe.php:133
+msgid "Profile URL"
+msgstr ""
+
+#: actions/remotesubscribe.php:134
+msgid "URL of your profile on another compatible microblogging service"
+msgstr ""
+
+#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
+#: lib/userprofile.php:394
+msgid "Subscribe"
+msgstr "En em enskrivañ"
+
+#: actions/remotesubscribe.php:159
+msgid "Invalid profile URL (bad format)"
+msgstr ""
+
+#: actions/remotesubscribe.php:168
+msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
+msgstr ""
+
+#: actions/remotesubscribe.php:176
+msgid "That’s a local profile! Login to subscribe."
+msgstr ""
+
+#: actions/remotesubscribe.php:183
+msgid "Couldn’t get a request token."
+msgstr ""
+
+#: actions/repeat.php:57
+msgid "Only logged-in users can repeat notices."
+msgstr ""
+
+#: actions/repeat.php:64 actions/repeat.php:71
+msgid "No notice specified."
+msgstr "N'eus bet diferet ali ebet."
+
+#: actions/repeat.php:76
+msgid "You can't repeat your own notice."
+msgstr "Ne c'helloc'h ket adkemer ho ali deoc'h."
+
+#: actions/repeat.php:90
+msgid "You already repeated that notice."
+msgstr "Adkemeret o peus dija an ali-mañ."
+
+#: actions/repeat.php:114 lib/noticelist.php:674
+msgid "Repeated"
+msgstr "Adlavaret"
+
+#: actions/repeat.php:119
+msgid "Repeated!"
+msgstr "Adlavaret !"
+
+#: actions/replies.php:126 actions/repliesrss.php:68
+#: lib/personalgroupnav.php:105
+#, php-format
+msgid "Replies to %s"
+msgstr "Respontoù da %s"
+
+#: actions/replies.php:128
+#, php-format
+msgid "Replies to %1$s, page %2$d"
+msgstr "Respontoù da %1$s, pajenn %2$d"
+
+#: actions/replies.php:145
+#, php-format
+msgid "Replies feed for %s (RSS 1.0)"
+msgstr ""
+
+#: actions/replies.php:152
+#, php-format
+msgid "Replies feed for %s (RSS 2.0)"
+msgstr ""
+
+#: actions/replies.php:159
+#, php-format
+msgid "Replies feed for %s (Atom)"
+msgstr ""
+
+#: actions/replies.php:199
+#, php-format
+msgid ""
+"This is the timeline showing replies to %1$s but %2$s hasn't received a "
+"notice to his attention yet."
+msgstr ""
+
+#: actions/replies.php:204
+#, php-format
+msgid ""
+"You can engage other users in a conversation, subscribe to more people or "
+"[join groups](%%action.groups%%)."
+msgstr ""
+
+#: actions/replies.php:206
+#, php-format
+msgid ""
+"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
+"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
+msgstr ""
+
+#: actions/repliesrss.php:72
+#, php-format
+msgid "Replies to %1$s on %2$s!"
+msgstr ""
+
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Ne c'helloc'h ket kas kemennadennoù d'an implijer-mañ."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+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 ""
+
+#: actions/sandbox.php:72
+msgid "User is already sandboxed."
+msgstr ""
+
+#. TRANS: Menu item for site administration
+#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
+#: lib/adminpanelaction.php:390
+msgid "Sessions"
+msgstr "Dalc'hoù"
+
+#: actions/sessionsadminpanel.php:65
+msgid "Session settings for this StatusNet site."
+msgstr ""
+
+#: actions/sessionsadminpanel.php:175
+msgid "Handle sessions"
+msgstr "Merañ an dalc'hoù"
+
+#: 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:292
+#: actions/useradminpanel.php:294
+msgid "Save site settings"
+msgstr ""
+
+#: actions/showapplication.php:82
+msgid "You must be logged in to view an application."
+msgstr ""
+
+#: actions/showapplication.php:157
+msgid "Application profile"
+msgstr ""
+
+#: actions/showapplication.php:159 lib/applicationeditform.php:180
+msgid "Icon"
+msgstr ""
+
+#: actions/showapplication.php:169 actions/version.php:195
+#: lib/applicationeditform.php:195
+msgid "Name"
+msgstr "Anv"
+
+#: actions/showapplication.php:178 lib/applicationeditform.php:222
+msgid "Organization"
+msgstr ""
+
+#: actions/showapplication.php:187 actions/version.php:198
+#: lib/applicationeditform.php:209 lib/groupeditform.php:172
+msgid "Description"
+msgstr ""
+
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
+msgid "Statistics"
+msgstr "Stadegoù"
+
+#: actions/showapplication.php:203
+#, php-format
+msgid "Created by %1$s - %2$s access by default - %3$d users"
+msgstr ""
+
+#: actions/showapplication.php:213
+msgid "Application actions"
+msgstr ""
+
+#: actions/showapplication.php:236
+msgid "Reset key & secret"
+msgstr ""
+
+#: actions/showapplication.php:261
+msgid "Application info"
+msgstr ""
+
+#: actions/showapplication.php:263
+msgid "Consumer key"
+msgstr ""
+
+#: actions/showapplication.php:268
+msgid "Consumer secret"
+msgstr ""
+
+#: actions/showapplication.php:273
+msgid "Request token URL"
+msgstr ""
+
+#: actions/showapplication.php:278
+msgid "Access token URL"
+msgstr ""
+
+#: actions/showapplication.php:283
+msgid "Authorize URL"
+msgstr ""
+
+#: actions/showapplication.php:288
+msgid ""
+"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
+"signature method."
+msgstr ""
+
+#: actions/showapplication.php:309
+msgid "Are you sure you want to reset your consumer key and secret?"
+msgstr ""
+
+#: actions/showfavorites.php:79
+#, php-format
+msgid "%1$s's favorite notices, page %2$d"
+msgstr ""
+
+#: actions/showfavorites.php:132
+msgid "Could not retrieve favorite notices."
+msgstr ""
+
+#: actions/showfavorites.php:171
+#, php-format
+msgid "Feed for favorites of %s (RSS 1.0)"
+msgstr ""
+
+#: actions/showfavorites.php:178
+#, php-format
+msgid "Feed for favorites of %s (RSS 2.0)"
+msgstr ""
+
+#: actions/showfavorites.php:185
+#, php-format
+msgid "Feed for favorites of %s (Atom)"
+msgstr ""
+
+#: actions/showfavorites.php:206
+msgid ""
+"You haven't chosen any favorite notices yet. Click the fave button on "
+"notices you like to bookmark them for later or shed a spotlight on them."
+msgstr ""
+
+#: actions/showfavorites.php:208
+#, php-format
+msgid ""
+"%s hasn't added any notices to his favorites yet. Post something interesting "
+"they would add to their favorites :)"
+msgstr ""
+
+#: actions/showfavorites.php:212
+#, php-format
+msgid ""
+"%s hasn't added any notices to his favorites yet. Why not [register an "
+"account](%%%%action.register%%%%) and then post something interesting they "
+"would add to their favorites :)"
+msgstr ""
+
+#: actions/showfavorites.php:243
+msgid "This is a way to share what you like."
+msgstr ""
+
+#: actions/showgroup.php:82 lib/groupnav.php:86
+#, php-format
+msgid "%s group"
+msgstr "strollad %s"
+
+#: actions/showgroup.php:84
+#, php-format
+msgid "%1$s group, page %2$d"
+msgstr ""
+
+#: actions/showgroup.php:226
+msgid "Group profile"
+msgstr "Profil ar strollad"
+
+#: actions/showgroup.php:271 actions/tagother.php:118
+#: actions/userauthorization.php:175 lib/userprofile.php:177
+msgid "URL"
+msgstr "URL"
+
+#: actions/showgroup.php:282 actions/tagother.php:128
+#: actions/userauthorization.php:187 lib/userprofile.php:194
+msgid "Note"
+msgstr "Notenn"
+
+#: actions/showgroup.php:292 lib/groupeditform.php:184
+msgid "Aliases"
+msgstr "Aliasoù"
+
+#: actions/showgroup.php:301
+msgid "Group actions"
+msgstr "Oberoù ar strollad"
+
+#: actions/showgroup.php:337
+#, php-format
+msgid "Notice feed for %s group (RSS 1.0)"
+msgstr ""
+
+#: actions/showgroup.php:343
+#, php-format
+msgid "Notice feed for %s group (RSS 2.0)"
+msgstr ""
+
+#: actions/showgroup.php:349
+#, php-format
+msgid "Notice feed for %s group (Atom)"
+msgstr ""
+
+#: actions/showgroup.php:354
+#, php-format
+msgid "FOAF for %s group"
+msgstr ""
+
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
+msgid "Members"
+msgstr "Izili"
+
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
+#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
+msgid "(None)"
+msgstr "(hini ebet)"
+
+#: actions/showgroup.php:401
+msgid "All members"
+msgstr "An holl izili"
+
+#: actions/showgroup.php:441
+msgid "Created"
+msgstr "Krouet"
+
+#: actions/showgroup.php:457
+#, php-format
+msgid ""
+"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
+"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
+"[StatusNet](http://status.net/) tool. Its members share short messages about "
+"their life and interests. [Join now](%%%%action.register%%%%) to become part "
+"of this group and many more! ([Read more](%%%%doc.help%%%%))"
+msgstr ""
+
+#: actions/showgroup.php:463
+#, php-format
+msgid ""
+"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
+"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
+"[StatusNet](http://status.net/) tool. Its members share short messages about "
+"their life and interests. "
+msgstr ""
+
+#: actions/showgroup.php:491
+msgid "Admins"
+msgstr "Merourien"
+
+#: actions/showmessage.php:81
+msgid "No such message."
+msgstr "N'eus ket eus ar gemennadenn-se."
+
+#: actions/showmessage.php:98
+msgid "Only the sender and recipient may read this message."
+msgstr ""
+
+#: actions/showmessage.php:108
+#, php-format
+msgid "Message to %1$s on %2$s"
+msgstr ""
+
+#: actions/showmessage.php:113
+#, php-format
+msgid "Message from %1$s on %2$s"
+msgstr ""
+
+#: actions/shownotice.php:90
+msgid "Notice deleted."
+msgstr ""
+
+#: actions/showstream.php:73
+#, php-format
+msgid " tagged %s"
+msgstr " merket %s"
+
+#: actions/showstream.php:79
+#, php-format
+msgid "%1$s, page %2$d"
+msgstr ""
+
+#: actions/showstream.php:122
+#, php-format
+msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
+msgstr ""
+
+#: actions/showstream.php:129
+#, php-format
+msgid "Notice feed for %s (RSS 1.0)"
+msgstr ""
+
+#: actions/showstream.php:136
+#, php-format
+msgid "Notice feed for %s (RSS 2.0)"
+msgstr ""
+
+#: actions/showstream.php:143
+#, php-format
+msgid "Notice feed for %s (Atom)"
+msgstr ""
+
+#: actions/showstream.php:148
+#, php-format
+msgid "FOAF for %s"
+msgstr ""
+
+#: actions/showstream.php:200
+#, php-format
+msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
+msgstr ""
+
+#: 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: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:243
+#, php-format
+msgid ""
+"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
+"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
+"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
+"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
+msgstr ""
+
+#: actions/showstream.php:248
+#, php-format
+msgid ""
+"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
+"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
+"[StatusNet](http://status.net/) tool. "
+msgstr ""
+
+#: actions/showstream.php:305
+#, php-format
+msgid "Repeat of %s"
+msgstr ""
+
+#: actions/silence.php:65 actions/unsilence.php:65
+msgid "You cannot silence users on this site."
+msgstr ""
+
+#: actions/silence.php:72
+msgid "User is already silenced."
+msgstr ""
+
+#: actions/siteadminpanel.php:69
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
+msgstr "Arventennoù design evit al lec'hienn StatusNet-mañ."
+
+#: actions/siteadminpanel.php:133
+msgid "Site name must have non-zero length."
+msgstr ""
+
+#: actions/siteadminpanel.php:141
+msgid "You must have a valid contact email address."
+msgstr ""
+
+#: actions/siteadminpanel.php:159
+#, php-format
+msgid "Unknown language \"%s\"."
+msgstr ""
+
+#: actions/siteadminpanel.php:165
+msgid "Minimum text limit is 140 characters."
+msgstr ""
+
+#: actions/siteadminpanel.php:171
+msgid "Dupe limit must 1 or more seconds."
+msgstr ""
+
+#: actions/siteadminpanel.php:221
+msgid "General"
+msgstr "Hollek"
+
+#: actions/siteadminpanel.php:224
+msgid "Site name"
+msgstr "Anv al lec'hienn"
+
+#: actions/siteadminpanel.php:225
+msgid "The name of your site, like \"Yourcompany Microblog\""
+msgstr ""
+
+#: actions/siteadminpanel.php:229
+msgid "Brought by"
+msgstr "Degaset gant"
+
+#: actions/siteadminpanel.php:230
+msgid "Text used for credits link in footer of each page"
+msgstr ""
+
+#: actions/siteadminpanel.php:234
+msgid "Brought by URL"
+msgstr ""
+
+#: actions/siteadminpanel.php:235
+msgid "URL used for credits link in footer of each page"
+msgstr ""
+
+#: actions/siteadminpanel.php:239
+msgid "Contact email address for your site"
+msgstr ""
+
+#: actions/siteadminpanel.php:245
+msgid "Local"
+msgstr "Lec'hel"
+
+#: actions/siteadminpanel.php:256
+msgid "Default timezone"
+msgstr ""
+
+#: actions/siteadminpanel.php:257
+msgid "Default timezone for the site; usually UTC."
+msgstr ""
+
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
+msgstr "Yezh d'ober ganti da gentañ"
+
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
+
+#: actions/siteadminpanel.php:271
+msgid "Limits"
+msgstr "Bevennoù"
+
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
+msgstr ""
+
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
+msgstr ""
+
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
+msgstr ""
+
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Ali"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Kemennadenn nevez"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Diposubl eo enrollañ an titouroù stankañ."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Eilañ an ali"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Dilemel un ali"
+
+#: actions/smssettings.php:58
+msgid "SMS settings"
+msgstr "Arventennoù SMS"
+
+#: actions/smssettings.php:69
+#, php-format
+msgid "You can receive SMS messages through email from %%site.name%%."
+msgstr ""
+
+#: actions/smssettings.php:91
+msgid "SMS is not available."
+msgstr "Dizimplijadus eo an SMS."
+
+#: actions/smssettings.php:112
+msgid "Current confirmed SMS-enabled phone number."
+msgstr ""
+
+#: actions/smssettings.php:123
+msgid "Awaiting confirmation on this phone number."
+msgstr ""
+
+#: actions/smssettings.php:130
+msgid "Confirmation code"
+msgstr "Kod kadarnaat"
+
+#: actions/smssettings.php:131
+msgid "Enter the code you received on your phone."
+msgstr ""
+
+#: actions/smssettings.php:138
+msgid "SMS phone number"
+msgstr "Niverenn bellgomz evit an SMS"
+
+#: actions/smssettings.php:140
+msgid "Phone number, no punctuation or spaces, with area code"
+msgstr ""
+
+#: actions/smssettings.php:174
+msgid ""
+"Send me notices through SMS; I understand I may incur exorbitant charges "
+"from my carrier."
+msgstr ""
+
+#: actions/smssettings.php:306
+msgid "No phone number."
+msgstr "Niverenn bellgomz ebet."
+
+#: actions/smssettings.php:311
+msgid "No carrier selected."
+msgstr ""
+
+#: actions/smssettings.php:318
+msgid "That is already your phone number."
+msgstr ""
+
+#: actions/smssettings.php:321
+msgid "That phone number already belongs to another user."
+msgstr ""
+
+#: actions/smssettings.php:347
+msgid ""
+"A confirmation code was sent to the phone number you added. Check your phone "
+"for the code and instructions on how to use it."
+msgstr ""
+
+#: actions/smssettings.php:374
+msgid "That is the wrong confirmation number."
+msgstr ""
+
+#: actions/smssettings.php:405
+msgid "That is not your phone number."
+msgstr ""
+
+#: actions/smssettings.php:465
+msgid "Mobile carrier"
+msgstr ""
+
+#: actions/smssettings.php:469
+msgid "Select a carrier"
+msgstr ""
+
+#: actions/smssettings.php:476
+#, php-format
+msgid ""
+"Mobile carrier for your phone. If you know a carrier that accepts SMS over "
+"email but isn't listed here, send email to let us know at %s."
+msgstr ""
+
+#: actions/smssettings.php:498
+msgid "No code entered"
+msgstr "N'eo bet lakaet kod ebet"
+
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Stankter"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Enrollañ an arventennoù moned"
+
+#: actions/subedit.php:70
+msgid "You are not subscribed to that profile."
+msgstr ""
+
+#: actions/subedit.php:83 classes/Subscription.php:89
+#: classes/Subscription.php:116
+msgid "Could not save subscription."
+msgstr ""
+
+#: actions/subscribe.php:77
+msgid "This action only accepts POST requests."
+msgstr ""
+
+#: actions/subscribe.php:107
+msgid "No such profile."
+msgstr ""
+
+#: actions/subscribe.php:117
+msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
+msgstr ""
+
+#: actions/subscribe.php:145
+msgid "Subscribed"
+msgstr ""
+
+#: actions/subscribers.php:50
+#, php-format
+msgid "%s subscribers"
+msgstr ""
+
+#: actions/subscribers.php:52
+#, php-format
+msgid "%1$s subscribers, page %2$d"
+msgstr ""
+
+#: actions/subscribers.php:63
+msgid "These are the people who listen to your notices."
+msgstr ""
+
+#: actions/subscribers.php:67
+#, php-format
+msgid "These are the people who listen to %s's notices."
+msgstr ""
+
+#: actions/subscribers.php:108
+msgid ""
+"You have no subscribers. Try subscribing to people you know and they might "
+"return the favor"
+msgstr ""
+
+#: actions/subscribers.php:110
+#, php-format
+msgid "%s has no subscribers. Want to be the first?"
+msgstr ""
+
+#: actions/subscribers.php:114
+#, php-format
+msgid ""
+"%s has no subscribers. Why not [register an account](%%%%action.register%%%"
+"%) and be the first?"
+msgstr ""
+
+#: actions/subscriptions.php:52
+#, php-format
+msgid "%s subscriptions"
+msgstr ""
+
+#: actions/subscriptions.php:54
+#, php-format
+msgid "%1$s subscriptions, page %2$d"
+msgstr ""
+
+#: actions/subscriptions.php:65
+msgid "These are the people whose notices you listen to."
+msgstr ""
+
+#: actions/subscriptions.php:69
+#, php-format
+msgid "These are the people whose notices %s listens to."
+msgstr ""
+
+#: actions/subscriptions.php:126
+#, php-format
+msgid ""
+"You're not listening to anyone's notices right now, try subscribing to "
+"people you know. Try [people search](%%action.peoplesearch%%), look for "
+"members in groups you're interested in and in our [featured users](%%action."
+"featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can "
+"automatically subscribe to people you already follow there."
+msgstr ""
+
+#: actions/subscriptions.php:128 actions/subscriptions.php:132
+#, php-format
+msgid "%s is not listening to anyone."
+msgstr ""
+
+#: actions/subscriptions.php:199
+msgid "Jabber"
+msgstr "Jabber"
+
+#: actions/subscriptions.php:204 lib/connectsettingsaction.php:115
+msgid "SMS"
+msgstr "SMS"
+
+#: actions/tag.php:69
+#, php-format
+msgid "Notices tagged with %1$s, page %2$d"
+msgstr ""
+
+#: actions/tag.php:87
+#, php-format
+msgid "Notice feed for tag %s (RSS 1.0)"
+msgstr ""
+
+#: actions/tag.php:93
+#, php-format
+msgid "Notice feed for tag %s (RSS 2.0)"
+msgstr ""
+
+#: actions/tag.php:99
+#, php-format
+msgid "Notice feed for tag %s (Atom)"
+msgstr ""
+
+#: actions/tagother.php:39
+msgid "No ID argument."
+msgstr ""
+
+#: actions/tagother.php:65
+#, php-format
+msgid "Tag %s"
+msgstr ""
+
+#: actions/tagother.php:77 lib/userprofile.php:75
+msgid "User profile"
+msgstr ""
+
+#: actions/tagother.php:81 actions/userauthorization.php:132
+#: lib/userprofile.php:102
+msgid "Photo"
+msgstr "Skeudenn"
+
+#: actions/tagother.php:141
+msgid "Tag user"
+msgstr ""
+
+#: actions/tagother.php:151
+msgid ""
+"Tags for this user (letters, numbers, -, ., and _), comma- or space- "
+"separated"
+msgstr ""
+
+#: actions/tagother.php:193
+msgid ""
+"You can only tag people you are subscribed to or who are subscribed to you."
+msgstr ""
+
+#: actions/tagother.php:200
+msgid "Could not save tags."
+msgstr ""
+
+#: actions/tagother.php:236
+msgid "Use this form to add tags to your subscribers or subscriptions."
+msgstr ""
+
+#: actions/tagrss.php:35
+msgid "No such tag."
+msgstr ""
+
+#: actions/twitapitrends.php:85
+msgid "API method under construction."
+msgstr ""
+
+#: actions/unblock.php:59
+msgid "You haven't blocked that user."
+msgstr ""
+
+#: actions/unsandbox.php:72
+msgid "User is not sandboxed."
+msgstr ""
+
+#: actions/unsilence.php:72
+msgid "User is not silenced."
+msgstr ""
+
+#: actions/unsubscribe.php:77
+msgid "No profile id in request."
+msgstr ""
+
+#: actions/unsubscribe.php:98
+msgid "Unsubscribed"
+msgstr ""
+
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
+#, php-format
+msgid ""
+"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
+msgstr ""
+
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
+msgid "User"
+msgstr ""
+
+#: actions/useradminpanel.php:70
+msgid "User settings for this StatusNet site."
+msgstr ""
+
+#: actions/useradminpanel.php:149
+msgid "Invalid bio limit. Must be numeric."
+msgstr ""
+
+#: actions/useradminpanel.php:155
+msgid "Invalid welcome text. Max length is 255 characters."
+msgstr ""
+
+#: actions/useradminpanel.php:165
+#, php-format
+msgid "Invalid default subscripton: '%1$s' is not user."
+msgstr ""
+
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
+#: lib/personalgroupnav.php:109
+msgid "Profile"
+msgstr "Profil"
+
+#: actions/useradminpanel.php:222
+msgid "Bio Limit"
+msgstr "Bevenn ar bio"
+
+#: actions/useradminpanel.php:223
+msgid "Maximum length of a profile bio in characters."
+msgstr ""
+
+#: actions/useradminpanel.php:231
+msgid "New users"
+msgstr "Implijerien nevez"
+
+#: actions/useradminpanel.php:235
+msgid "New user welcome"
+msgstr "Degemer an implijerien nevez"
+
+#: actions/useradminpanel.php:236
+msgid "Welcome text for new users (Max 255 chars)."
+msgstr ""
+
+#: actions/useradminpanel.php:241
+msgid "Default subscription"
+msgstr ""
+
+#: actions/useradminpanel.php:242
+msgid "Automatically subscribe new users to this user."
+msgstr ""
+
+#: actions/useradminpanel.php:251
+msgid "Invitations"
+msgstr "Pedadennoù"
+
+#: actions/useradminpanel.php:256
+msgid "Invitations enabled"
+msgstr ""
+
+#: actions/useradminpanel.php:258
+msgid "Whether to allow users to invite new users."
+msgstr ""
+
+#: actions/userauthorization.php:105
+msgid "Authorize subscription"
+msgstr ""
+
+#: actions/userauthorization.php:110
+msgid ""
+"Please check these details to make sure that you want to subscribe to this "
+"user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
+"click “Rejectâ€."
+msgstr ""
+
+#: actions/userauthorization.php:196 actions/version.php:165
+msgid "License"
+msgstr "Aotre implijout"
+
+#: actions/userauthorization.php:217
+msgid "Accept"
+msgstr "Degemer"
+
+#: actions/userauthorization.php:218 lib/subscribeform.php:115
+#: lib/subscribeform.php:139
+msgid "Subscribe to this user"
+msgstr ""
+
+#: actions/userauthorization.php:219
+msgid "Reject"
+msgstr "Disteurel"
+
+#: actions/userauthorization.php:220
+msgid "Reject this subscription"
+msgstr ""
+
+#: actions/userauthorization.php:232
+msgid "No authorization request!"
+msgstr ""
+
+#: actions/userauthorization.php:254
+msgid "Subscription authorized"
+msgstr ""
+
+#: actions/userauthorization.php:256
+msgid ""
+"The subscription has been authorized, but no callback URL was passed. Check "
+"with the site’s instructions for details on how to authorize the "
+"subscription. Your subscription token is:"
+msgstr ""
+
+#: actions/userauthorization.php:266
+msgid "Subscription rejected"
+msgstr ""
+
+#: actions/userauthorization.php:268
+msgid ""
+"The subscription has been rejected, but no callback URL was passed. Check "
+"with the site’s instructions for details on how to fully reject the "
+"subscription."
+msgstr ""
+
+#: actions/userauthorization.php:303
+#, php-format
+msgid "Listener URI ‘%s’ not found here."
+msgstr ""
+
+#: actions/userauthorization.php:308
+#, php-format
+msgid "Listenee URI ‘%s’ is too long."
+msgstr ""
+
+#: actions/userauthorization.php:314
+#, php-format
+msgid "Listenee URI ‘%s’ is a local user."
+msgstr ""
+
+#: actions/userauthorization.php:329
+#, php-format
+msgid "Profile URL ‘%s’ is for a local user."
+msgstr ""
+
+#: actions/userauthorization.php:345
+#, php-format
+msgid "Avatar URL ‘%s’ is not valid."
+msgstr ""
+
+#: actions/userauthorization.php:350
+#, php-format
+msgid "Can’t read avatar URL ‘%s’."
+msgstr ""
+
+#: actions/userauthorization.php:355
+#, php-format
+msgid "Wrong image type for avatar URL ‘%s’."
+msgstr ""
+
+#: actions/userdesignsettings.php:76 lib/designsettings.php:65
+msgid "Profile design"
+msgstr ""
+
+#: actions/userdesignsettings.php:87 lib/designsettings.php:76
+msgid ""
+"Customize the way your profile looks with a background image and a colour "
+"palette of your choice."
+msgstr ""
+
+#: actions/userdesignsettings.php:282
+msgid "Enjoy your hotdog!"
+msgstr ""
+
+#: actions/usergroups.php:64
+#, php-format
+msgid "%1$s groups, page %2$d"
+msgstr ""
+
+#: actions/usergroups.php:130
+msgid "Search for more groups"
+msgstr "Klask muioc'h a strolladoù"
+
+#: actions/usergroups.php:157
+#, php-format
+msgid "%s is not a member of any group."
+msgstr ""
+
+#: actions/usergroups.php:162
+#, php-format
+msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
+msgstr ""
+
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Hizivadennoù eus %1$s e %2$s!"
+
+#: actions/version.php:73
+#, php-format
+msgid "StatusNet %s"
+msgstr "StatusNet %s"
+
+#: actions/version.php:153
+#, php-format
+msgid ""
+"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
+"Inc. and contributors."
+msgstr ""
+
+#: actions/version.php:161
+msgid "Contributors"
+msgstr "Aozerien"
+
+#: actions/version.php:168
+msgid ""
+"StatusNet is free software: you can redistribute it and/or modify it under "
+"the terms of the GNU Affero General Public License as published by the Free "
+"Software Foundation, either version 3 of the License, or (at your option) "
+"any later version. "
+msgstr ""
+
+#: actions/version.php:174
+msgid ""
+"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. "
+msgstr ""
+
+#: actions/version.php:180
+#, php-format
+msgid ""
+"You should have received a copy of the GNU Affero General Public License "
+"along with this program. If not, see %s."
+msgstr ""
+
+#: actions/version.php:189
+msgid "Plugins"
+msgstr "Pluginoù"
+
+#: actions/version.php:196 lib/action.php:767
+msgid "Version"
+msgstr "Stumm"
+
+#: actions/version.php:197
+msgid "Author(s)"
+msgstr "Aozer(ien)"
+
+#: classes/File.php:144
+#, php-format
+msgid ""
+"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
+"to upload a smaller version."
+msgstr ""
+
+#: classes/File.php:154
+#, php-format
+msgid "A file this large would exceed your user quota of %d bytes."
+msgstr ""
+
+#: classes/File.php:161
+#, php-format
+msgid "A file this large would exceed your monthly quota of %d bytes."
+msgstr ""
+
+#: classes/Group_member.php:41
+msgid "Group join failed."
+msgstr "C'hwitet eo bet an enskrivadur d'ar strollad."
+
+#: classes/Group_member.php:53
+msgid "Not part of group."
+msgstr "N'eo ezel eus strollad ebet."
+
+#: classes/Group_member.php:60
+msgid "Group leave failed."
+msgstr "C'hwitet eo bet an disenskrivadur d'ar strollad."
+
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr ""
+
+#: classes/Login_token.php:76
+#, php-format
+msgid "Could not create login token for %s"
+msgstr ""
+
+#: classes/Message.php:45
+msgid "You are banned from sending direct messages."
+msgstr ""
+
+#: classes/Message.php:61
+msgid "Could not insert message."
+msgstr "Diposubl eo ensoc'hañ ur gemenadenn"
+
+#: classes/Message.php:71
+msgid "Could not update message with new URI."
+msgstr ""
+
+#: classes/Notice.php:172
+#, php-format
+msgid "DB error inserting hashtag: %s"
+msgstr ""
+
+#: classes/Notice.php:241
+msgid "Problem saving notice. Too long."
+msgstr ""
+
+#: classes/Notice.php:245
+msgid "Problem saving notice. Unknown user."
+msgstr ""
+
+#: classes/Notice.php:250
+msgid ""
+"Too many notices too fast; take a breather and post again in a few minutes."
+msgstr ""
+
+#: classes/Notice.php:256
+msgid ""
+"Too many duplicate messages too quickly; take a breather and post again in a "
+"few minutes."
+msgstr ""
+
+#: classes/Notice.php:262
+msgid "You are banned from posting notices on this site."
+msgstr ""
+
+#: classes/Notice.php:328 classes/Notice.php:354
+msgid "Problem saving notice."
+msgstr ""
+
+#: classes/Notice.php:927
+msgid "Problem saving group inbox."
+msgstr ""
+
+#: classes/Notice.php:1459
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
+
+#: classes/Subscription.php:66 lib/oauthstore.php:465
+msgid "You have been banned from subscribing."
+msgstr ""
+
+#: classes/Subscription.php:70
+msgid "Already subscribed!"
+msgstr ""
+
+#: classes/Subscription.php:74
+msgid "User has blocked you."
+msgstr ""
+
+#: classes/Subscription.php:157
+msgid "Not subscribed!"
+msgstr ""
+
+#: classes/Subscription.php:163
+msgid "Couldn't delete self-subscription."
+msgstr ""
+
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Diposubl eo dilemel ar postel kadarnadur."
+
+#: classes/Subscription.php:201 lib/subs.php:69
+msgid "Couldn't delete subscription."
+msgstr ""
+
+#: classes/User.php:373
+#, php-format
+msgid "Welcome to %1$s, @%2$s!"
+msgstr ""
+
+#: classes/User_group.php:477
+msgid "Could not create group."
+msgstr ""
+
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr ""
+
+#: classes/User_group.php:507
+msgid "Could not set group membership."
+msgstr ""
+
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr ""
+
+#: lib/accountsettingsaction.php:108
+msgid "Change your profile settings"
+msgstr ""
+
+#: lib/accountsettingsaction.php:112
+msgid "Upload an avatar"
+msgstr ""
+
+#: lib/accountsettingsaction.php:116
+msgid "Change your password"
+msgstr "Cheñch ar ger-tremen"
+
+#: lib/accountsettingsaction.php:120
+msgid "Change email handling"
+msgstr ""
+
+#: lib/accountsettingsaction.php:124
+msgid "Design your profile"
+msgstr ""
+
+#: lib/accountsettingsaction.php:128
+msgid "Other"
+msgstr "All"
+
+#: lib/accountsettingsaction.php:128
+msgid "Other options"
+msgstr ""
+
+#: lib/action.php:144
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
+
+#: lib/action.php:159
+msgid "Untitled page"
+msgstr ""
+
+#: lib/action.php:424
+msgid "Primary site navigation"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
+msgid "Personal profile and friends timeline"
+msgstr ""
+
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr ""
+
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Kevreañ"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
+msgid "Change site configuration"
+msgstr ""
+
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
+msgid "Logout from the site"
+msgstr ""
+
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
+msgid "Create an account"
+msgstr ""
+
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr ""
+
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr ""
+
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr ""
+
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr ""
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
+msgid "Site notice"
+msgstr ""
+
+#: lib/action.php:579
+msgid "Local views"
+msgstr ""
+
+#: lib/action.php:645
+msgid "Page notice"
+msgstr ""
+
+#: lib/action.php:747
+msgid "Secondary site navigation"
+msgstr ""
+
+#: lib/action.php:752
+msgid "Help"
+msgstr "Skoazell"
+
+#: lib/action.php:754
+msgid "About"
+msgstr "Diwar-benn"
+
+#: lib/action.php:756
+msgid "FAQ"
+msgstr "FAG"
+
+#: lib/action.php:760
+msgid "TOS"
+msgstr ""
+
+#: lib/action.php:763
+msgid "Privacy"
+msgstr "Prevezded"
+
+#: lib/action.php:765
+msgid "Source"
+msgstr "Mammenn"
+
+#: lib/action.php:769
+msgid "Contact"
+msgstr "Darempred"
+
+#: lib/action.php:771
+msgid "Badge"
+msgstr ""
+
+#: lib/action.php:799
+msgid "StatusNet software license"
+msgstr ""
+
+#: lib/action.php:802
+#, php-format
+msgid ""
+"**%%site.name%%** is a microblogging service brought to you by [%%site."
+"broughtby%%](%%site.broughtbyurl%%). "
+msgstr ""
+
+#: lib/action.php:804
+#, php-format
+msgid "**%%site.name%%** is a microblogging service. "
+msgstr ""
+
+#: lib/action.php:806
+#, php-format
+msgid ""
+"It runs the [StatusNet](http://status.net/) microblogging software, version %"
+"s, available under the [GNU Affero General Public License](http://www.fsf."
+"org/licensing/licenses/agpl-3.0.html)."
+msgstr ""
+
+#: lib/action.php:821
+msgid "Site content license"
+msgstr ""
+
+#: lib/action.php:826
+#, php-format
+msgid "Content and data of %1$s are private and confidential."
+msgstr ""
+
+#: lib/action.php:831
+#, php-format
+msgid "Content and data copyright by %1$s. All rights reserved."
+msgstr ""
+
+#: lib/action.php:834
+msgid "Content and data copyright by contributors. All rights reserved."
+msgstr ""
+
+#: lib/action.php:847
+msgid "All "
+msgstr "Pep tra "
+
+#: lib/action.php:853
+msgid "license."
+msgstr "aotre implijout."
+
+#: lib/action.php:1152
+msgid "Pagination"
+msgstr "Pajennadur"
+
+#: lib/action.php:1161
+msgid "After"
+msgstr "War-lerc'h"
+
+#: lib/action.php:1169
+msgid "Before"
+msgstr "Kent"
+
+#: lib/activity.php:453
+msgid "Can't handle remote content yet."
+msgstr ""
+
+#: lib/activity.php:481
+msgid "Can't handle embedded XML content yet."
+msgstr ""
+
+#: lib/activity.php:485
+msgid "Can't handle embedded Base64 content yet."
+msgstr ""
+
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
+msgid "You cannot make changes to this site."
+msgstr ""
+
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
+msgid "Changes to that panel are not allowed."
+msgstr ""
+
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
+msgid "showForm() not implemented."
+msgstr ""
+
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
+msgid "saveSettings() not implemented."
+msgstr ""
+
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
+msgid "Unable to delete design setting."
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
+msgid "Basic site configuration"
+msgstr ""
+
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
+msgid "Design configuration"
+msgstr ""
+
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
+msgid "User configuration"
+msgstr ""
+
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Implijer"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
+msgid "Access configuration"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
+msgid "Paths configuration"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
+msgid "Sessions configuration"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Eilañ an ali"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr ""
+
+#: lib/apiauth.php:94
+msgid "API resource requires read-write access, but you only have read access."
+msgstr ""
+
+#: lib/apiauth.php:272
+#, 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 "Kemmañ an arload"
+
+#: lib/applicationeditform.php:184
+msgid "Icon for this application"
+msgstr ""
+
+#: lib/applicationeditform.php:204
+#, php-format
+msgid "Describe your application in %d characters"
+msgstr ""
+
+#: lib/applicationeditform.php:207
+msgid "Describe your application"
+msgstr ""
+
+#: lib/applicationeditform.php:216
+msgid "Source URL"
+msgstr "Mammenn URL"
+
+#: lib/applicationeditform.php:218
+msgid "URL of the homepage of this application"
+msgstr ""
+
+#: lib/applicationeditform.php:224
+msgid "Organization responsible for this application"
+msgstr ""
+
+#: lib/applicationeditform.php:230
+msgid "URL for the homepage of the organization"
+msgstr ""
+
+#: lib/applicationeditform.php:236
+msgid "URL to redirect to after authentication"
+msgstr ""
+
+#: lib/applicationeditform.php:258
+msgid "Browser"
+msgstr "Merdeer"
+
+#: lib/applicationeditform.php:274
+msgid "Desktop"
+msgstr ""
+
+#: lib/applicationeditform.php:275
+msgid "Type of application, browser or desktop"
+msgstr ""
+
+#: lib/applicationeditform.php:297
+msgid "Read-only"
+msgstr ""
+
+#: lib/applicationeditform.php:315
+msgid "Read-write"
+msgstr ""
+
+#: lib/applicationeditform.php:316
+msgid "Default access for this application: read-only, or read-write"
+msgstr ""
+
+#: lib/applicationlist.php:154
+msgid "Revoke"
+msgstr ""
+
+#: lib/attachmentlist.php:87
+msgid "Attachments"
+msgstr ""
+
+#: lib/attachmentlist.php:265
+msgid "Author"
+msgstr "Aozer"
+
+#: lib/attachmentlist.php:278
+msgid "Provider"
+msgstr "Pourvezer"
+
+#: lib/attachmentnoticesection.php:67
+msgid "Notices where this attachment appears"
+msgstr ""
+
+#: lib/attachmenttagcloudsection.php:48
+msgid "Tags for this attachment"
+msgstr ""
+
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
+msgid "Password changing failed"
+msgstr ""
+
+#: lib/authenticationplugin.php:235
+msgid "Password changing is not allowed"
+msgstr ""
+
+#: lib/channel.php:138 lib/channel.php:158
+msgid "Command results"
+msgstr ""
+
+#: lib/channel.php:210 lib/mailhandler.php:142
+msgid "Command complete"
+msgstr ""
+
+#: lib/channel.php:221
+msgid "Command failed"
+msgstr ""
+
+#: lib/command.php:44
+msgid "Sorry, this command is not yet implemented."
+msgstr ""
+
+#: lib/command.php:88
+#, php-format
+msgid "Could not find a user with nickname %s"
+msgstr ""
+
+#: lib/command.php:92
+msgid "It does not make a lot of sense to nudge yourself!"
+msgstr ""
+
+#: lib/command.php:99
+#, php-format
+msgid "Nudge sent to %s"
+msgstr ""
+
+#: lib/command.php:126
+#, php-format
+msgid ""
+"Subscriptions: %1$s\n"
+"Subscribers: %2$s\n"
+"Notices: %3$s"
+msgstr ""
+
+#: lib/command.php:152 lib/command.php:390 lib/command.php:451
+msgid "Notice with that id does not exist"
+msgstr ""
+
+#: lib/command.php:168 lib/command.php:406 lib/command.php:467
+#: lib/command.php:523
+msgid "User has no last notice"
+msgstr ""
+
+#: lib/command.php:190
+msgid "Notice marked as fave."
+msgstr ""
+
+#: lib/command.php:217
+msgid "You are already a member of that group"
+msgstr ""
+
+#: lib/command.php:231
+#, php-format
+msgid "Could not join user %s to group %s"
+msgstr ""
+
+#: lib/command.php:236
+#, php-format
+msgid "%s joined group %s"
+msgstr "%s zo emezelet er strollad %s"
+
+#: lib/command.php:275
+#, php-format
+msgid "Could not remove user %s to group %s"
+msgstr ""
+
+#: lib/command.php:280
+#, php-format
+msgid "%s left group %s"
+msgstr "%s {{Gender:.|en|he}} deus kuitaet ar strollad %s"
+
+#: lib/command.php:309
+#, php-format
+msgid "Fullname: %s"
+msgstr "Anv klok : %s"
+
+#: lib/command.php:312 lib/mail.php:258
+#, php-format
+msgid "Location: %s"
+msgstr ""
+
+#: lib/command.php:315 lib/mail.php:260
+#, php-format
+msgid "Homepage: %s"
+msgstr ""
+
+#: lib/command.php:318
+#, php-format
+msgid "About: %s"
+msgstr "Diwar-benn : %s"
+
+#: lib/command.php:349
+#, php-format
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:367
+#, php-format
+msgid "Direct message to %s sent"
+msgstr ""
+
+#: lib/command.php:369
+msgid "Error sending direct message."
+msgstr ""
+
+#: lib/command.php:413
+msgid "Cannot repeat your own notice"
+msgstr ""
+
+#: lib/command.php:418
+msgid "Already repeated that notice"
+msgstr ""
+
+#: lib/command.php:426
+#, php-format
+msgid "Notice from %s repeated"
+msgstr ""
+
+#: lib/command.php:428
+msgid "Error repeating notice."
+msgstr ""
+
+#: lib/command.php:482
+#, php-format
+msgid "Notice too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:491
+#, php-format
+msgid "Reply to %s sent"
+msgstr ""
+
+#: lib/command.php:493
+msgid "Error saving notice."
+msgstr ""
+
+#: lib/command.php:547
+msgid "Specify the name of the user to subscribe to"
+msgstr ""
+
+#: lib/command.php:554 lib/command.php:589
+msgid "No such user"
+msgstr ""
+
+#: lib/command.php:561
+#, php-format
+msgid "Subscribed to %s"
+msgstr ""
+
+#: lib/command.php:582 lib/command.php:685
+msgid "Specify the name of the user to unsubscribe from"
+msgstr ""
+
+#: lib/command.php:595
+#, php-format
+msgid "Unsubscribed from %s"
+msgstr ""
+
+#: lib/command.php:613 lib/command.php:636
+msgid "Command not yet implemented."
+msgstr ""
+
+#: lib/command.php:616
+msgid "Notification off."
+msgstr ""
+
+#: lib/command.php:618
+msgid "Can't turn off notification."
+msgstr ""
+
+#: lib/command.php:639
+msgid "Notification on."
+msgstr ""
+
+#: lib/command.php:641
+msgid "Can't turn on notification."
+msgstr ""
+
+#: lib/command.php:654
+msgid "Login command is disabled"
+msgstr ""
+
+#: lib/command.php:665
+#, php-format
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
+msgstr ""
+
+#: lib/command.php:692
+#, php-format
+msgid "Unsubscribed %s"
+msgstr ""
+
+#: lib/command.php:709
+msgid "You are not subscribed to anyone."
+msgstr ""
+
+#: lib/command.php:711
+#, fuzzy
+msgid "You are subscribed to this person:"
+msgid_plural "You are subscribed to these people:"
+msgstr[0] "You are subscribed to this person:"
+msgstr[1] "You are subscribed to these people:"
+
+#: lib/command.php:731
+msgid "No one is subscribed to you."
+msgstr ""
+
+#: lib/command.php:733
+#, fuzzy
+msgid "This person is subscribed to you:"
+msgid_plural "These people are subscribed to you:"
+msgstr[0] "This person is subscribed to you:"
+msgstr[1] "These people are subscribed to you:"
+
+#: lib/command.php:753
+msgid "You are not a member of any groups."
+msgstr ""
+
+#: lib/command.php:755
+#, fuzzy
+msgid "You are a member of this group:"
+msgid_plural "You are a member of these groups:"
+msgstr[0] "You are a member of this group:"
+msgstr[1] "You are a member of these groups:"
+
+#: lib/command.php:769
+msgid ""
+"Commands:\n"
+"on - turn on notifications\n"
+"off - turn off notifications\n"
+"help - show this help\n"
+"follow <nickname> - subscribe to user\n"
+"groups - lists the groups you have joined\n"
+"subscriptions - list the people you follow\n"
+"subscribers - list the people that follow you\n"
+"leave <nickname> - unsubscribe from user\n"
+"d <nickname> <text> - direct message to user\n"
+"get <nickname> - get last notice from user\n"
+"whois <nickname> - get profile info on user\n"
+"lose <nickname> - force user to stop following you\n"
+"fav <nickname> - add user's last notice as a 'fave'\n"
+"fav #<notice_id> - add notice with the given id as a 'fave'\n"
+"repeat #<notice_id> - repeat a notice with a given id\n"
+"repeat <nickname> - repeat the last notice from user\n"
+"reply #<notice_id> - reply to notice with a given id\n"
+"reply <nickname> - reply to the last notice from user\n"
+"join <group> - join group\n"
+"login - Get a link to login to the web interface\n"
+"drop <group> - leave group\n"
+"stats - get your stats\n"
+"stop - same as 'off'\n"
+"quit - same as 'off'\n"
+"sub <nickname> - same as 'follow'\n"
+"unsub <nickname> - same as 'leave'\n"
+"last <nickname> - same as 'get'\n"
+"on <nickname> - not yet implemented.\n"
+"off <nickname> - not yet implemented.\n"
+"nudge <nickname> - remind a user to update.\n"
+"invite <phone number> - not yet implemented.\n"
+"track <word> - not yet implemented.\n"
+"untrack <word> - not yet implemented.\n"
+"track off - not yet implemented.\n"
+"untrack all - not yet implemented.\n"
+"tracks - not yet implemented.\n"
+"tracking - not yet implemented.\n"
+msgstr ""
+
+#: lib/common.php:148
+msgid "No configuration file found. "
+msgstr ""
+
+#: lib/common.php:149
+msgid "I looked for configuration files in the following places: "
+msgstr ""
+
+#: lib/common.php:151
+msgid "You may wish to run the installer to fix this."
+msgstr ""
+
+#: lib/common.php:152
+msgid "Go to the installer."
+msgstr ""
+
+#: lib/connectsettingsaction.php:110
+msgid "IM"
+msgstr "IM"
+
+#: lib/connectsettingsaction.php:111
+msgid "Updates by instant messenger (IM)"
+msgstr ""
+
+#: lib/connectsettingsaction.php:116
+msgid "Updates by SMS"
+msgstr ""
+
+#: lib/connectsettingsaction.php:120
+msgid "Connections"
+msgstr ""
+
+#: lib/connectsettingsaction.php:121
+msgid "Authorized connected applications"
+msgstr ""
+
+#: lib/dberroraction.php:60
+msgid "Database error"
+msgstr ""
+
+#: lib/designsettings.php:105
+msgid "Upload file"
+msgstr ""
+
+#: lib/designsettings.php:109
+msgid ""
+"You can upload your personal background image. The maximum file size is 2MB."
+msgstr ""
+
+#: lib/designsettings.php:418
+msgid "Design defaults restored."
+msgstr ""
+
+#: lib/disfavorform.php:114 lib/disfavorform.php:140
+msgid "Disfavor this notice"
+msgstr ""
+
+#: lib/favorform.php:114 lib/favorform.php:140
+msgid "Favor this notice"
+msgstr ""
+
+#: lib/favorform.php:140
+msgid "Favor"
+msgstr ""
+
+#: lib/feed.php:85
+msgid "RSS 1.0"
+msgstr "RSS 1.0"
+
+#: lib/feed.php:87
+msgid "RSS 2.0"
+msgstr "RSS 2.0"
+
+#: lib/feed.php:89
+msgid "Atom"
+msgstr "Atom"
+
+#: lib/feed.php:91
+msgid "FOAF"
+msgstr "Mignon ur mignon (FOAF)"
+
+#: lib/feedlist.php:64
+msgid "Export data"
+msgstr ""
+
+#: lib/galleryaction.php:121
+msgid "Filter tags"
+msgstr "Silañ ar balizennoù"
+
+#: lib/galleryaction.php:131
+msgid "All"
+msgstr "An holl"
+
+#: lib/galleryaction.php:139
+msgid "Select tag to filter"
+msgstr ""
+
+#: lib/galleryaction.php:140
+msgid "Tag"
+msgstr "Merk"
+
+#: lib/galleryaction.php:141
+msgid "Choose a tag to narrow list"
+msgstr ""
+
+#: lib/galleryaction.php:143
+msgid "Go"
+msgstr "Mont"
+
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
+#: lib/groupeditform.php:163
+msgid "URL of the homepage or blog of the group or topic"
+msgstr ""
+
+#: lib/groupeditform.php:168
+msgid "Describe the group or topic"
+msgstr ""
+
+#: lib/groupeditform.php:170
+#, php-format
+msgid "Describe the group or topic in %d characters"
+msgstr ""
+
+#: lib/groupeditform.php:179
+msgid ""
+"Location for the group, if any, like \"City, State (or Region), Country\""
+msgstr ""
+
+#: lib/groupeditform.php:187
+#, php-format
+msgid "Extra nicknames for the group, comma- or space- separated, max %d"
+msgstr ""
+
+#: lib/groupnav.php:85
+msgid "Group"
+msgstr "Strollad"
+
+#: lib/groupnav.php:101
+msgid "Blocked"
+msgstr "Stanket"
+
+#: lib/groupnav.php:102
+#, php-format
+msgid "%s blocked users"
+msgstr "%s implijer stanket"
+
+#: lib/groupnav.php:108
+#, php-format
+msgid "Edit %s group properties"
+msgstr ""
+
+#: lib/groupnav.php:113
+msgid "Logo"
+msgstr "Logo"
+
+#: lib/groupnav.php:114
+#, php-format
+msgid "Add or edit %s logo"
+msgstr ""
+
+#: lib/groupnav.php:120
+#, php-format
+msgid "Add or edit %s design"
+msgstr ""
+
+#: lib/groupsbymemberssection.php:71
+msgid "Groups with most members"
+msgstr ""
+
+#: lib/groupsbypostssection.php:71
+msgid "Groups with most posts"
+msgstr ""
+
+#: lib/grouptagcloudsection.php:56
+#, php-format
+msgid "Tags in %s group's notices"
+msgstr ""
+
+#: lib/htmloutputter.php:103
+msgid "This page is not available in a media type you accept"
+msgstr ""
+
+#: lib/imagefile.php:75
+#, php-format
+msgid "That file is too big. The maximum file size is %s."
+msgstr ""
+
+#: lib/imagefile.php:80
+msgid "Partial upload."
+msgstr ""
+
+#: lib/imagefile.php:88 lib/mediafile.php:170
+msgid "System error uploading file."
+msgstr ""
+
+#: lib/imagefile.php:96
+msgid "Not an image or corrupt file."
+msgstr ""
+
+#: lib/imagefile.php:109
+msgid "Unsupported image file format."
+msgstr ""
+
+#: lib/imagefile.php:122
+msgid "Lost our file."
+msgstr ""
+
+#: lib/imagefile.php:166 lib/imagefile.php:231
+msgid "Unknown file type"
+msgstr ""
+
+#: lib/imagefile.php:251
+msgid "MB"
+msgstr "Mo"
+
+#: lib/imagefile.php:253
+msgid "kB"
+msgstr "Ko"
+
+#: lib/jabber.php:220
+#, php-format
+msgid "[%s]"
+msgstr "[%s]"
+
+#: lib/jabber.php:400
+#, php-format
+msgid "Unknown inbox source %d."
+msgstr ""
+
+#: lib/joinform.php:114
+msgid "Join"
+msgstr "Stagañ"
+
+#: lib/leaveform.php:114
+msgid "Leave"
+msgstr "Kuitañ"
+
+#: lib/logingroupnav.php:80
+msgid "Login with a username and password"
+msgstr ""
+
+#: lib/logingroupnav.php:86
+msgid "Sign up for a new account"
+msgstr ""
+
+#: lib/mail.php:173
+msgid "Email address confirmation"
+msgstr ""
+
+#: lib/mail.php:175
+#, php-format
+msgid ""
+"Hey, %s.\n"
+"\n"
+"Someone just entered this email address on %s.\n"
+"\n"
+"If it was you, and you want to confirm your entry, use the URL below:\n"
+"\n"
+"\t%s\n"
+"\n"
+"If not, just ignore this message.\n"
+"\n"
+"Thanks for your time, \n"
+"%s\n"
+msgstr ""
+
+#: lib/mail.php:240
+#, php-format
+msgid "%1$s is now listening to your notices on %2$s."
+msgstr ""
+
+#: lib/mail.php:245
+#, php-format
+msgid ""
+"%1$s is now listening to your notices on %2$s.\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"%4$s%5$s%6$s\n"
+"Faithfully yours,\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Change your email address or notification options at %8$s\n"
+msgstr ""
+
+#: lib/mail.php:262
+#, php-format
+msgid "Bio: %s"
+msgstr ""
+
+#: lib/mail.php:290
+#, php-format
+msgid "New email address for posting to %s"
+msgstr ""
+
+#: lib/mail.php:293
+#, php-format
+msgid ""
+"You have a new posting address on %1$s.\n"
+"\n"
+"Send email to %2$s to post new messages.\n"
+"\n"
+"More email instructions at %3$s.\n"
+"\n"
+"Faithfully yours,\n"
+"%4$s"
+msgstr ""
+
+#: lib/mail.php:417
+#, php-format
+msgid "%s status"
+msgstr "Statud %s"
+
+#: lib/mail.php:443
+msgid "SMS confirmation"
+msgstr ""
+
+#: lib/mail.php:467
+#, php-format
+msgid "You've been nudged by %s"
+msgstr ""
+
+#: lib/mail.php:471
+#, php-format
+msgid ""
+"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
+"to post some news.\n"
+"\n"
+"So let's hear from you :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"Don't reply to this email; it won't get to them.\n"
+"\n"
+"With kind regards,\n"
+"%4$s\n"
+msgstr ""
+
+#: lib/mail.php:517
+#, php-format
+msgid "New private message from %s"
+msgstr "Kemenadenn personel nevez a-berzh %s"
+
+#: lib/mail.php:521
+#, php-format
+msgid ""
+"%1$s (%2$s) sent you a private message:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"You can reply to their message here:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Don't reply to this email; it won't get to them.\n"
+"\n"
+"With kind regards,\n"
+"%5$s\n"
+msgstr ""
+
+#: lib/mail.php:568
+#, php-format
+msgid "%s (@%s) added your notice as a favorite"
+msgstr ""
+
+#: lib/mail.php:570
+#, php-format
+msgid ""
+"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
+"\n"
+"The URL of your notice is:\n"
+"\n"
+"%3$s\n"
+"\n"
+"The text of your notice is:\n"
+"\n"
+"%4$s\n"
+"\n"
+"You can see the list of %1$s's favorites here:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Faithfully yours,\n"
+"%6$s\n"
+msgstr ""
+
+#: lib/mail.php:635
+#, php-format
+msgid "%s (@%s) sent a notice to your attention"
+msgstr ""
+
+#: lib/mail.php:637
+#, php-format
+msgid ""
+"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
+"\n"
+"The notice is here:\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"It reads:\n"
+"\n"
+"\t%4$s\n"
+"\n"
+msgstr ""
+
+#: lib/mailbox.php:89
+msgid "Only the user can read their own mailboxes."
+msgstr ""
+
+#: lib/mailbox.php:139
+msgid ""
+"You have no private messages. You can send private message to engage other "
+"users in conversation. People can send you messages for your eyes only."
+msgstr ""
+
+#: lib/mailbox.php:227 lib/noticelist.php:482
+msgid "from"
+msgstr "eus"
+
+#: lib/mailhandler.php:37
+msgid "Could not parse message."
+msgstr ""
+
+#: lib/mailhandler.php:42
+msgid "Not a registered user."
+msgstr ""
+
+#: lib/mailhandler.php:46
+msgid "Sorry, that is not your incoming email address."
+msgstr ""
+
+#: lib/mailhandler.php:50
+msgid "Sorry, no incoming email allowed."
+msgstr ""
+
+#: lib/mailhandler.php:228
+#, php-format
+msgid "Unsupported message type: %s"
+msgstr ""
+
+#: lib/mediafile.php:98 lib/mediafile.php:123
+msgid "There was a database error while saving your file. Please try again."
+msgstr ""
+
+#: lib/mediafile.php:142
+msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
+msgstr ""
+
+#: lib/mediafile.php:147
+msgid ""
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
+"the HTML form."
+msgstr ""
+
+#: lib/mediafile.php:152
+msgid "The uploaded file was only partially uploaded."
+msgstr ""
+
+#: lib/mediafile.php:159
+msgid "Missing a temporary folder."
+msgstr ""
+
+#: lib/mediafile.php:162
+msgid "Failed to write file to disk."
+msgstr ""
+
+#: lib/mediafile.php:165
+msgid "File upload stopped by extension."
+msgstr ""
+
+#: lib/mediafile.php:179 lib/mediafile.php:216
+msgid "File exceeds user's quota."
+msgstr ""
+
+#: lib/mediafile.php:196 lib/mediafile.php:233
+msgid "File could not be moved to destination directory."
+msgstr ""
+
+#: lib/mediafile.php:201 lib/mediafile.php:237
+msgid "Could not determine file's MIME type."
+msgstr ""
+
+#: lib/mediafile.php:270
+#, php-format
+msgid " Try using another %s format."
+msgstr ""
+
+#: lib/mediafile.php:275
+#, php-format
+msgid "%s is not a supported file type on this server."
+msgstr ""
+
+#: lib/messageform.php:120
+msgid "Send a direct notice"
+msgstr ""
+
+#: lib/messageform.php:146
+msgid "To"
+msgstr "Da"
+
+#: lib/messageform.php:159 lib/noticeform.php:185
+msgid "Available characters"
+msgstr ""
+
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr ""
+
+#: lib/noticeform.php:160
+msgid "Send a notice"
+msgstr "Kas un ali"
+
+#: lib/noticeform.php:173
+#, php-format
+msgid "What's up, %s?"
+msgstr "Penaos 'mañ kont, %s ?"
+
+#: lib/noticeform.php:192
+msgid "Attach"
+msgstr "Stagañ"
+
+#: lib/noticeform.php:196
+msgid "Attach a file"
+msgstr "Stagañ ur restr"
+
+#: lib/noticeform.php:212
+msgid "Share my location"
+msgstr ""
+
+#: lib/noticeform.php:215
+msgid "Do not share my location"
+msgstr ""
+
+#: lib/noticeform.php:216
+msgid ""
+"Sorry, retrieving your geo location is taking longer than expected, please "
+"try again later"
+msgstr ""
+
+#: lib/noticelist.php:429
+#, php-format
+msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
+msgstr ""
+
+#: lib/noticelist.php:430
+msgid "N"
+msgstr "N"
+
+#: lib/noticelist.php:430
+msgid "S"
+msgstr "S"
+
+#: lib/noticelist.php:431
+msgid "E"
+msgstr "R"
+
+#: lib/noticelist.php:431
+msgid "W"
+msgstr "K"
+
+#: lib/noticelist.php:438
+msgid "at"
+msgstr "e"
+
+#: lib/noticelist.php:566
+msgid "in context"
+msgstr ""
+
+#: lib/noticelist.php:601
+msgid "Repeated by"
+msgstr ""
+
+#: lib/noticelist.php:628
+msgid "Reply to this notice"
+msgstr ""
+
+#: lib/noticelist.php:629
+msgid "Reply"
+msgstr "Respont"
+
+#: lib/noticelist.php:673
+msgid "Notice repeated"
+msgstr ""
+
+#: lib/nudgeform.php:116
+msgid "Nudge this user"
+msgstr "Kas ur blinkadenn d'an implijer-mañ"
+
+#: lib/nudgeform.php:128
+msgid "Nudge"
+msgstr "Blinkadenn"
+
+#: lib/nudgeform.php:128
+msgid "Send a nudge to this user"
+msgstr "Kas ur blinkadenn d'an implijer-mañ"
+
+#: lib/oauthstore.php:283
+msgid "Error inserting new profile"
+msgstr ""
+
+#: lib/oauthstore.php:291
+msgid "Error inserting avatar"
+msgstr ""
+
+#: lib/oauthstore.php:311
+msgid "Error inserting remote profile"
+msgstr ""
+
+#: lib/oauthstore.php:345
+msgid "Duplicate notice"
+msgstr "Eilañ an ali"
+
+#: lib/oauthstore.php:490
+msgid "Couldn't insert new subscription."
+msgstr ""
+
+#: lib/personalgroupnav.php:99
+msgid "Personal"
+msgstr "Hiniennel"
+
+#: lib/personalgroupnav.php:104
+msgid "Replies"
+msgstr "Respontoù"
+
+#: lib/personalgroupnav.php:114
+msgid "Favorites"
+msgstr "Pennrolloù"
+
+#: lib/personalgroupnav.php:125
+msgid "Inbox"
+msgstr "Boest resev"
+
+#: lib/personalgroupnav.php:126
+msgid "Your incoming messages"
+msgstr "ar gemennadennoù o peus resevet"
+
+#: lib/personalgroupnav.php:130
+msgid "Outbox"
+msgstr "Boest kas"
+
+#: lib/personalgroupnav.php:131
+msgid "Your sent messages"
+msgstr "Ar c'hemenadennoù kaset ganeoc'h"
+
+#: lib/personaltagcloudsection.php:56
+#, php-format
+msgid "Tags in %s's notices"
+msgstr ""
+
+#: lib/plugin.php:114
+msgid "Unknown"
+msgstr "Dianav"
+
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
+msgid "Subscriptions"
+msgstr "Koumanantoù"
+
+#: lib/profileaction.php:126
+msgid "All subscriptions"
+msgstr ""
+
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
+msgid "Subscribers"
+msgstr "Ar re koumanantet"
+
+#: lib/profileaction.php:159
+msgid "All subscribers"
+msgstr "An holl re koumanantet"
+
+#: lib/profileaction.php:180
+msgid "User ID"
+msgstr "ID an implijer"
+
+#: lib/profileaction.php:185
+msgid "Member since"
+msgstr "Ezel abaoe"
+
+#: lib/profileaction.php:247
+msgid "All groups"
+msgstr "An holl strolladoù"
+
+#: lib/profileformaction.php:123
+msgid "No return-to arguments."
+msgstr ""
+
+#: lib/profileformaction.php:137
+msgid "Unimplemented method."
+msgstr ""
+
+#: lib/publicgroupnav.php:78
+msgid "Public"
+msgstr "Foran"
+
+#: lib/publicgroupnav.php:82
+msgid "User groups"
+msgstr "Strolladoù implijerien"
+
+#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
+msgid "Recent tags"
+msgstr ""
+
+#: lib/publicgroupnav.php:88
+msgid "Featured"
+msgstr ""
+
+#: lib/publicgroupnav.php:92
+msgid "Popular"
+msgstr "Poblek"
+
+#: lib/repeatform.php:107
+msgid "Repeat this notice?"
+msgstr "Adkregiñ gant an ali-mañ ?"
+
+#: lib/repeatform.php:132
+msgid "Repeat this notice"
+msgstr "Adkregiñ gant an ali-mañ"
+
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Stankañ an implijer-mañ eus ar strollad-se"
+
+#: lib/router.php:671
+msgid "No single user defined for single-user mode."
+msgstr ""
+
+#: lib/sandboxform.php:67
+msgid "Sandbox"
+msgstr "Poull-traezh"
+
+#: lib/sandboxform.php:78
+msgid "Sandbox this user"
+msgstr ""
+
+#: lib/searchaction.php:120
+msgid "Search site"
+msgstr "Klask el lec'hienn"
+
+#: lib/searchaction.php:126
+msgid "Keyword(s)"
+msgstr "Ger(ioù) alc'hwez"
+
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Klask"
+
+#: lib/searchaction.php:162
+msgid "Search help"
+msgstr "Skoazell diwar-benn ar c'hlask"
+
+#: lib/searchgroupnav.php:80
+msgid "People"
+msgstr "Tud"
+
+#: lib/searchgroupnav.php:81
+msgid "Find people on this site"
+msgstr "Klask tud el lec'hienn-mañ"
+
+#: lib/searchgroupnav.php:83
+msgid "Find content of notices"
+msgstr "Klask alioù en danvez"
+
+#: lib/searchgroupnav.php:85
+msgid "Find groups on this site"
+msgstr "Klask strolladoù el lec'hienn-mañ"
+
+#: lib/section.php:89
+msgid "Untitled section"
+msgstr ""
+
+#: lib/section.php:106
+msgid "More..."
+msgstr "Muioc'h..."
+
+#: lib/silenceform.php:67
+msgid "Silence"
+msgstr "Didrouz"
+
+#: lib/silenceform.php:78
+msgid "Silence this user"
+msgstr ""
+
+#: lib/subgroupnav.php:83
+#, php-format
+msgid "People %s subscribes to"
+msgstr ""
+
+#: lib/subgroupnav.php:91
+#, php-format
+msgid "People subscribed to %s"
+msgstr ""
+
+#: lib/subgroupnav.php:99
+#, php-format
+msgid "Groups %s is a member of"
+msgstr ""
+
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Pediñ"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
+#: lib/subscriberspeopleselftagcloudsection.php:48
+#: lib/subscriptionspeopleselftagcloudsection.php:48
+msgid "People Tagcloud as self-tagged"
+msgstr ""
+
+#: lib/subscriberspeopletagcloudsection.php:48
+#: lib/subscriptionspeopletagcloudsection.php:48
+msgid "People Tagcloud as tagged"
+msgstr ""
+
+#: lib/tagcloudsection.php:56
+msgid "None"
+msgstr "Hini ebet"
+
+#: lib/topposterssection.php:74
+msgid "Top posters"
+msgstr ""
+
+#: lib/unsandboxform.php:69
+msgid "Unsandbox"
+msgstr ""
+
+#: lib/unsandboxform.php:80
+msgid "Unsandbox this user"
+msgstr ""
+
+#: lib/unsilenceform.php:67
+msgid "Unsilence"
+msgstr ""
+
+#: lib/unsilenceform.php:78
+msgid "Unsilence this user"
+msgstr ""
+
+#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
+msgid "Unsubscribe from this user"
+msgstr ""
+
+#: lib/unsubscribeform.php:137
+msgid "Unsubscribe"
+msgstr ""
+
+#: lib/userprofile.php:116
+msgid "Edit Avatar"
+msgstr "Kemmañ an Avatar"
+
+#: lib/userprofile.php:236
+msgid "User actions"
+msgstr "Obererezh an implijer"
+
+#: lib/userprofile.php:251
+msgid "Edit profile settings"
+msgstr ""
+
+#: lib/userprofile.php:252
+msgid "Edit"
+msgstr "Aozañ"
+
+#: lib/userprofile.php:275
+msgid "Send a direct message to this user"
+msgstr "Kas ur gemennadenn war-eeun d'an implijer-mañ"
+
+#: lib/userprofile.php:276
+msgid "Message"
+msgstr "Kemennadenn"
+
+#: lib/userprofile.php:314
+msgid "Moderate"
+msgstr "Habaskaat"
+
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Strolladoù implijerien"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Merourien"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Habaskaat"
+
+#: lib/util.php:1015
+msgid "a few seconds ago"
+msgstr "un nebeud eilennoù zo"
+
+#: lib/util.php:1017
+msgid "about a minute ago"
+msgstr "1 vunutenn zo well-wazh"
+
+#: lib/util.php:1019
+#, php-format
+msgid "about %d minutes ago"
+msgstr "%d munutenn zo well-wazh"
+
+#: lib/util.php:1021
+msgid "about an hour ago"
+msgstr "1 eurvezh zo well-wazh"
+
+#: lib/util.php:1023
+#, php-format
+msgid "about %d hours ago"
+msgstr "%d eurvezh zo well-wazh"
+
+#: lib/util.php:1025
+msgid "about a day ago"
+msgstr "1 devezh zo well-wazh"
+
+#: lib/util.php:1027
+#, php-format
+msgid "about %d days ago"
+msgstr "%d devezh zo well-wazh"
+
+#: lib/util.php:1029
+msgid "about a month ago"
+msgstr "miz zo well-wazh"
+
+#: lib/util.php:1031
+#, php-format
+msgid "about %d months ago"
+msgstr "%d miz zo well-wazh"
+
+#: lib/util.php:1033
+msgid "about a year ago"
+msgstr "bloaz zo well-wazh"
+
+#: lib/webcolor.php:82
+#, php-format
+msgid "%s is not a valid color!"
+msgstr ""
+
+#: lib/webcolor.php:123
+#, php-format
+msgid "%s is not a valid color! Use 3 or 6 hex chars."
+msgstr ""
+
+#: lib/xmppmanager.php:402
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Re hir eo ar gemennadenn - ar ment brasañ a zo %1$d arouezenn, %2$d "
+"arouezenn o peus lakaet."
diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po
index d94ad8431..bd7c5cd5a 100644
--- a/locale/ca/LC_MESSAGES/statusnet.po
+++ b/locale/ca/LC_MESSAGES/statusnet.po
@@ -10,80 +10,88 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:15+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:29+0000\n"
"Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Accés"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Desa els paràmetres del lloc"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Registre"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privat"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Voleu prohibir als usuaris anònims (que no han iniciat cap sessió) "
"visualitzar el lloc?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Només invitació"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privat"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Fes que el registre sigui només amb invitacions."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Tancat"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Només invitació"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Tancat"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Desa els paràmetres del lloc"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Guardar"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "No existeix la pàgina."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -97,45 +105,53 @@ msgstr "No existeix la pàgina."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "No existeix aquest usuari."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s perfils blocats, pàgina %d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s i amics"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Canal dels amics de %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Canal dels amics de %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Canal dels amics de %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -143,28 +159,30 @@ msgstr ""
"Aquesta és la línia temporal de %s i amics, però ningú hi ha enviat res "
"encara."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Un mateix i amics"
@@ -182,20 +200,20 @@ msgstr "Actualitzacions de %1$s i amics a %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "No s'ha trobat el mètode API!"
@@ -229,8 +247,9 @@ msgstr "No s'ha pogut actualitzar l'usuari."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "L'usuari no té perfil."
@@ -255,7 +274,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -376,7 +395,7 @@ msgstr "No s'ha pogut determinar l'usuari d'origen."
msgid "Could not find target user."
msgstr "No es pot trobar cap estatus."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -384,62 +403,62 @@ msgstr ""
"El sobrenom ha de tenir només lletres minúscules i números i no pot tenir "
"espais."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Aquest sobrenom ja existeix. Prova un altre. "
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Sobrenom no vàlid."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "La pàgina personal no és un URL vàlid."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "El teu nom és massa llarg (màx. 255 caràcters)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "La ubicació és massa llarga (màx. 255 caràcters)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Hi ha massa àlies! Màxim %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "L'àlies no és vàlid «%s»"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "L'àlies «%s» ja està en ús. Proveu-ne un altre."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "L'àlies no pot ser el mateix que el sobrenom."
@@ -450,15 +469,15 @@ msgstr "L'àlies no pot ser el mateix que el sobrenom."
msgid "Group not found!"
msgstr "No s'ha trobat el grup!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Ja sou membre del grup."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "L'administrador us ha blocat del grup."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "No s'ha pogut afegir l'usuari %s al grup %s."
@@ -467,7 +486,7 @@ msgstr "No s'ha pogut afegir l'usuari %s al grup %s."
msgid "You are not a member of this group."
msgstr "No sou un membre del grup."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "No s'ha pogut suprimir l'usuari %s del grup %s."
@@ -499,7 +518,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -545,7 +564,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -568,13 +587,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Compte"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -659,18 +678,6 @@ msgstr "%s / Preferits de %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s actualitzacions favorites per %s / %s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s línia temporal"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Actualitzacions de %1$s a %2$s!"
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -681,12 +688,12 @@ msgstr "%1$s / Notificacions contestant a %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s notificacions que responen a notificacions de %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s línia temporal pública"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s notificacions de tots!"
@@ -701,12 +708,12 @@ msgstr "Respostes a %s"
msgid "Repeats of %s"
msgstr "Repeticions de %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Aviso etiquetats amb %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Actualitzacions etiquetades amb %1$s el %2$s!"
@@ -722,8 +729,7 @@ msgstr "No existeix l'adjunció."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Cap sobrenom."
@@ -735,7 +741,7 @@ msgstr "Cap mida."
msgid "Invalid size."
msgstr "Mida invàlida."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -748,35 +754,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Usuari sense perfil coincident"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Configuració de l'avatar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Vista prèvia"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Suprimeix"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Puja"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Retalla"
@@ -786,7 +792,7 @@ msgstr ""
"Selecciona un quadrat de l'àrea de la imatge que vols que sigui el teu "
"avatar."
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "S'ha perdut el nostre fitxer de dades."
@@ -818,22 +824,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "No bloquis l'usuari"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sí"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Bloquejar aquest usuari"
@@ -841,40 +847,44 @@ msgstr "Bloquejar aquest usuari"
msgid "Failed to save block information."
msgstr "Error al guardar la informació del block."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "No s'ha trobat el grup."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s perfils blocats"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s perfils blocats, pàgina %d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
#, fuzzy
msgid "A list of the users blocked from joining this group."
msgstr "La llista dels usuaris d'aquest grup."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Desbloca l'usuari del grup"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Desbloca"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Desbloca l'usuari"
@@ -931,7 +941,7 @@ msgid "Conversation"
msgstr "Conversa"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Avisos"
@@ -953,7 +963,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Ha ocorregut algun problema amb la teva sessió."
@@ -979,12 +989,13 @@ msgstr "No es pot esborrar la notificació."
msgid "Delete this application"
msgstr "Eliminar aquesta nota"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "No heu iniciat una sessió."
@@ -1015,7 +1026,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Eliminar aquesta nota"
@@ -1032,18 +1043,18 @@ msgstr "No pots eliminar l'estatus d'un altre usuari."
msgid "Delete user"
msgstr "Suprimeix l'usuari"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Suprimeix l'usuari"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Disseny"
@@ -1144,6 +1155,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Guardar"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Desa el disseny"
@@ -1246,30 +1269,30 @@ msgstr "Editar el grup %s"
msgid "You must be logged in to create a group."
msgstr "Has d'haver entrat per crear un grup."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Has de ser admin per editar aquest grup"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Utilitza aquest formulari per editar el grup."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "la descripció és massa llarga (màx. %d caràcters)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "No s'ha pogut actualitzar el grup."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "No s'han pogut crear els àlies."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Configuració guardada."
@@ -1394,7 +1417,7 @@ msgid "Cannot normalize that email address"
msgstr "No es pot normalitzar l'adreça electrònica."
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Adreça de correu electrònic no vàlida."
@@ -1583,6 +1606,25 @@ msgstr "No existeix el fitxer."
msgid "Cannot read file."
msgstr "No es pot llegir el fitxer."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Mida invàlida."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "No pots enviar un missatge a aquest usuari."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "L'usuari ja està silenciat."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1613,7 +1655,7 @@ msgstr "Un usuari t'ha bloquejat."
msgid "User is not a member of group."
msgstr "L'usuari no és membre del grup."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Bloca l'usuari del grup"
@@ -1648,11 +1690,11 @@ msgstr "No ID"
msgid "You must be logged in to edit a group."
msgstr "Heu d'iniciar una sessió per editar un grup."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Disseny de grup"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1660,82 +1702,88 @@ msgstr ""
"Personalitzeu l'aspecte del vostre grup amb una imatge de fons i una paleta "
"de colors de la vostra elecció."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "No s'ha pogut actualitzar el vostre disseny."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "S'han desat les preferències de disseny."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo del grup"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, fuzzy, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "Pots pujar una imatge de logo per al grup."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Usuari sense perfil coincident"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Trieu una àrea quadrada de la imatge perquè en sigui el logotip."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo actualitzat."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Error en actualitzar logo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s membre/s en el grup"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "%s membre/s en el grup, pàgina %d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "La llista dels usuaris d'aquest grup."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Admin"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Bloca"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Fes l'usuari un administrador del grup"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Fes-lo administrador"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Fes l'usuari administrador"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s línia temporal"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Actualitzacions dels membres de %1$s el %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grups"
@@ -1989,16 +2037,19 @@ msgstr "Missatge personal"
msgid "Optionally add a personal message to the invitation."
msgstr "Opcionalment pots afegir un missatge a la invitació."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Envia"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, fuzzy, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s t'ha convidat us ha convidat a unir-te al grup %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2059,7 +2110,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Has d'haver entrat per participar en un grup."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Cap sobrenom."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s s'ha unit al grup %2$s"
@@ -2068,11 +2124,11 @@ msgstr "%1$s s'ha unit al grup %2$s"
msgid "You must be logged in to leave a group."
msgstr "Has d'haver entrat per a poder marxar d'un grup."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "No ets membre d'aquest grup."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s ha abandonat el grup %s"
@@ -2090,8 +2146,7 @@ msgstr "Nom d'usuari o contrasenya incorrectes."
msgid "Error setting user. You are probably not authorized."
msgstr "No autoritzat."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Inici de sessió"
@@ -2213,9 +2268,9 @@ msgid "Message sent"
msgstr "S'ha enviat el missatge"
#: actions/newmessage.php:185
-#, fuzzy, php-format
+#, php-format
msgid "Direct message to %s sent."
-msgstr "Missatge directe per a %s enviat"
+msgstr "S'ha enviat un missatge directe a %s."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -2293,9 +2348,8 @@ msgid "You must be logged in to list your applications."
msgstr "Heu d'iniciar una sessió per editar un grup."
#: actions/oauthappssettings.php:74
-#, fuzzy
msgid "OAuth applications"
-msgstr "Altres opcions"
+msgstr "Aplicacions OAuth"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
@@ -2315,9 +2369,8 @@ msgid "You have allowed the following applications to access you account."
msgstr ""
#: actions/oauthconnectionssettings.php:175
-#, fuzzy
msgid "You are not a user of that application."
-msgstr "No ets membre d'aquest grup."
+msgstr "No sou usuari de l'aplicació."
#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
@@ -2349,8 +2402,8 @@ msgstr "tipus de contingut "
msgid "Only "
msgstr "Només "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Format de data no suportat."
@@ -2363,9 +2416,8 @@ msgid "Notice Search"
msgstr "Cerca de notificacions"
#: actions/othersettings.php:60
-#, fuzzy
msgid "Other settings"
-msgstr "Altres configuracions"
+msgstr "Altres paràmetres"
#: actions/othersettings.php:71
msgid "Manage various other options."
@@ -2397,9 +2449,8 @@ msgstr ""
"El servei d'auto-escurçament d'URL és massa llarga (màx. 50 caràcters)."
#: actions/otp.php:69
-#, fuzzy
msgid "No user ID specified."
-msgstr "No s'ha especificat cap grup."
+msgstr "No s'ha especificat cap ID d'usuari."
#: actions/otp.php:83
#, fuzzy
@@ -2498,7 +2549,8 @@ msgstr "No es pot guardar la nova contrasenya."
msgid "Password saved."
msgstr "Contrasenya guardada."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Camins"
@@ -2531,7 +2583,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Lloc"
@@ -2619,7 +2670,7 @@ msgstr "Directori de fons"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Mai"
@@ -2676,11 +2727,11 @@ msgstr "Etiqueta no vàlida per a la gent: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Usuaris que s'han etiquetat %s - pàgina %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "El contingut de l'avís és invàlid"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2706,7 +2757,7 @@ msgstr ""
"1-64 lletres en minúscula o números, sense signes de puntuació o espais"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nom complet"
@@ -2735,7 +2786,7 @@ msgid "Bio"
msgstr "Biografia"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2762,7 +2813,7 @@ msgstr ""
"Etiquetes per a tu mateix (lletres, números, -, ., i _), per comes o separat "
"por espais"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Idioma"
@@ -2790,7 +2841,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "La biografia és massa llarga (màx. %d caràcters)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Franja horària no seleccionada."
@@ -2819,7 +2870,8 @@ msgstr "No s'ha pogut guardar el perfil."
msgid "Couldn't save tags."
msgstr "No s'han pogut guardar les etiquetes."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Configuració guardada."
@@ -2832,28 +2884,28 @@ msgstr "Més enllà del límit de la pàgina (%s)"
msgid "Could not retrieve public stream."
msgstr "No s'ha pogut recuperar la conversa pública."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Línia temporal pública, pàgina %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Línia temporal pública"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Flux de canal públic (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Flux de canal públic (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Flux de canal públic (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2862,11 +2914,11 @@ msgstr ""
"Aquesta és la línia temporal pública de %%site.name%%, però ningú no hi ha "
"enviat res encara."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Sigueu el primer en escriure-hi!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2874,7 +2926,7 @@ msgstr ""
"Per què no [registreu un compte](%%action.register%%) i sou el primer en "
"escriure-hi!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2883,7 +2935,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3060,8 +3112,7 @@ msgstr "El codi d'invitació no és vàlid."
msgid "Registration successful"
msgstr "Registre satisfactori"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registre"
@@ -3103,7 +3154,7 @@ msgid "Same as password above. Required."
msgstr "Igual a la contrasenya de dalt. Requerit."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correu electrònic"
@@ -3209,7 +3260,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL del teu perfil en un altre servei de microblogging compatible"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Subscriure's"
@@ -3252,7 +3303,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Repetit"
@@ -3260,33 +3311,33 @@ msgstr "Repetit"
msgid "Repeated!"
msgstr "Repetit!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Respostes a %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Respostes a %1$s el %2$s!"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Feed d'avisos de %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Feed d'avisos de %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Feed d'avisos de %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, fuzzy, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3295,14 +3346,14 @@ msgstr ""
"Aquesta és la línia temporal de %s i amics, però ningú hi ha enviat res "
"encara."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3314,6 +3365,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respostes a %1$s el %2$s!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "No podeu silenciar els usuaris d'aquest lloc."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Usuari sense perfil coincident"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3329,8 +3390,9 @@ msgstr "No pots enviar un missatge a aquest usuari."
msgid "User is already sandboxed."
msgstr "Un usuari t'ha bloquejat."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessions"
@@ -3355,8 +3417,8 @@ msgstr "Depuració de la sessió"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Desa els paràmetres del lloc"
@@ -3389,8 +3451,8 @@ msgstr "Paginació"
msgid "Description"
msgstr "Descripció"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Estadístiques"
@@ -3452,35 +3514,35 @@ msgstr "%s's notes favorites"
msgid "Could not retrieve favorite notices."
msgstr "No s'han pogut recuperar els avisos preferits."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed per a amics de %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed per a amics de %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed per a amics de %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3488,7 +3550,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "És una forma de compartir allò que us agrada."
@@ -3502,67 +3564,67 @@ msgstr "%s grup"
msgid "%1$s group, page %2$d"
msgstr "%s membre/s en el grup, pàgina %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Perfil del grup"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Avisos"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Àlies"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Accions del grup"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Feed d'avisos del grup %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Feed d'avisos del grup %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Feed d'avisos del grup %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Safata de sortida per %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Membres"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Cap)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Tots els membres"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "S'ha creat"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3572,7 +3634,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3583,7 +3645,7 @@ msgstr ""
"**%s** és un grup d'usuaris a %%%%site.name%%%%, un servei de [microblogging]"
"(http://ca.wikipedia.org/wiki/Microblogging)"
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administradors"
@@ -3698,149 +3760,140 @@ msgid "User is already silenced."
msgstr "L'usuari ja està silenciat."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "Paràmetres bàsic d'aquest lloc basat en l'StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "El nom del lloc ha de tenir una longitud superior a zero."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Heu de tenir una adreça electrònica de contacte vàlida"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, fuzzy, php-format
msgid "Unknown language \"%s\"."
msgstr "Llengua desconeguda «%s»"
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "General"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nom del lloc"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "El nom del vostre lloc, com ara «El microblog de l'empresa»"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "El text que s'utilitza a l'enllaç dels crèdits al peu de cada pàgina"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Adreça electrònica de contacte del vostre lloc"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Local"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Fus horari per defecte"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Fus horari per defecte del lloc; normalment UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Llengua per defecte del lloc"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Instantànies"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "En una tasca planificada"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Instantànies de dades"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Freqüència"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Les instantànies s'enviaran a aquest URL"
-
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Límits"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Límits del text"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Límit de duplicats"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Quant de temps cal que esperin els usuaris (en segons) per enviar el mateix "
"de nou."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Avís del lloc"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nou missatge"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "No s'ha pogut guardar la teva configuració de Twitter!"
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Avís del lloc"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Avís del lloc"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Paràmetres de l'SMS"
@@ -3944,6 +3997,66 @@ msgstr ""
msgid "No code entered"
msgstr "No hi ha cap codi entrat"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Instantànies"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Canvia la configuració del lloc"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "En una tasca planificada"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Instantànies de dades"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Freqüència"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Les instantànies s'enviaran a aquest URL"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Desa els paràmetres del lloc"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "No estàs subscrit a aquest perfil."
@@ -4054,22 +4167,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Usuaris que s'han etiquetat %s - pàgina %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Feed d'avisos de %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Feed d'avisos de %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Feed d'avisos de %s"
@@ -4126,7 +4239,7 @@ msgstr ""
msgid "No such tag."
msgstr "No existeix aquesta etiqueta."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Mètode API en construcció."
@@ -4151,76 +4264,78 @@ msgstr "No id en el perfil sol·licitat."
msgid "Unsubscribed"
msgstr "No subscrit"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Usuari"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Límit de la biografia"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
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:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Usuaris nous"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Benvinguda als usuaris nous"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Subscripció per defecte"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Subscriviu automàticament els usuaris nous a aquest usuari."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Invitacions"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "S'han habilitat les invitacions"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4353,16 +4468,22 @@ msgstr "%s membre/s en el grup, pàgina %d"
msgid "Search for more groups"
msgstr "Cerca més grups"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s no és membre de cap grup."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Actualitzacions de %1$s a %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4406,7 +4527,7 @@ msgstr ""
msgid "Plugins"
msgstr "Connectors"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Sessions"
@@ -4448,6 +4569,11 @@ msgstr "No s'ha pogut actualitzar el grup."
msgid "Group leave failed."
msgstr "Perfil del grup"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "No s'ha pogut actualitzar el grup."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4465,28 +4591,28 @@ msgstr "No s'ha pogut inserir el missatge."
msgid "Could not update message with new URI."
msgstr "No s'ha pogut inserir el missatge amb la nova URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Hashtag de l'error de la base de dades:%s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Problema en guardar l'avís."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problema al guardar la notificació. Usuari desconegut."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Masses notificacions massa ràpid; pren un respir i publica de nou en uns "
"minuts."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
@@ -4495,20 +4621,20 @@ msgstr ""
"Masses notificacions massa ràpid; pren un respir i publica de nou en uns "
"minuts."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Ha estat bandejat de publicar notificacions en aquest lloc."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problema en guardar l'avís."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problema en guardar l'avís."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4535,23 +4661,38 @@ msgstr "No estàs subscrit!"
msgid "Couldn't delete self-subscription."
msgstr "No s'ha pogut eliminar la subscripció."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "No s'ha pogut eliminar la subscripció."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "No s'ha pogut eliminar la subscripció."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Us donem la benvinguda a %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "No s'ha pogut crear el grup."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "No s'ha pogut establir la pertinença d'aquest grup."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "No s'ha pogut establir la pertinença d'aquest grup."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "No s'ha pogut guardar la subscripció."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Canvieu els paràmetres del vostre perfil"
@@ -4590,125 +4731,187 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "Pàgina sense titol"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navegació primària del lloc"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Inici"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Perfil personal i línia temporal dels amics"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Canviar correu electrònic, avatar, contrasenya, perfil"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Connexió"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "No s'ha pogut redirigir al servidor: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Connexió"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Canvia la configuració del lloc"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Convida"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Admin"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Convidar amics i companys perquè participin a %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Finalitza la sessió"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Convida"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Finalitza la sessió del lloc"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Finalitza la sessió"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Crea un compte"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registre"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Inicia una sessió al lloc"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Ajuda"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Inici de sessió"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Ajuda'm"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Cerca"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Ajuda"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Cerca gent o text"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Cerca"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Avís del lloc"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Vistes locals"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Notificació pàgina"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Navegació del lloc secundària"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Ajuda"
+
+#: lib/action.php:754
msgid "About"
msgstr "Quant a"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Preguntes més freqüents"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privadesa"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Font"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contacte"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Insígnia"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Llicència del programari StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4717,12 +4920,12 @@ msgstr ""
"**%%site.name%%** és un servei de microblogging de [%%site.broughtby%%**](%%"
"site.broughtbyurl%%)."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** és un servei de microblogging."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4733,112 +4936,154 @@ msgstr ""
"%s, disponible sota la [GNU Affero General Public License](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Llicència de contingut del lloc"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Tot "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "llicència."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginació"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Posteriors"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Anteriors"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "No podeu fer canvis al lloc."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Registre no permès."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Comanda encara no implementada."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Comanda encara no implementada."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "No s'ha pogut guardar la teva configuració de Twitter!"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configuració bàsica del lloc"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Lloc"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configuració del disseny"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Disseny"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Configuració dels camins"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Usuari"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Configuració del disseny"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Configuració dels camins"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Configuració del disseny"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Avís del lloc"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Configuració dels camins"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4933,11 +5178,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr "Etiquetes de l'adjunció"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "El canvi de contrasenya ha fallat"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Contrasenya canviada."
@@ -5023,12 +5268,12 @@ msgstr "%s ha abandonat el grup %s"
msgid "Fullname: %s"
msgstr "Nom complet: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Localització: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Pàgina web: %s"
@@ -5217,19 +5462,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "No s'ha trobat cap fitxer de configuració. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
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:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Vés a l'instal·lador."
@@ -5327,6 +5572,11 @@ msgstr "Elegeix una etiqueta para reduir la llista"
msgid "Go"
msgstr "Vés-hi"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL del teu web, blog del grup u tema"
@@ -5417,23 +5667,23 @@ msgstr "Error del sistema en pujar el fitxer."
msgid "Not an image or corrupt file."
msgstr "No és una imatge o és un fitxer corrupte."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Format d'imatge no suportat."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Hem perdut el nostre arxiu."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Tipus de fitxer desconegut"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5463,11 +5713,11 @@ msgstr "Accedir amb el nom d'usuari i contrasenya"
msgid "Sign up for a new account"
msgstr "Crear nou compte"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmació de l'adreça de correu electrònic"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5484,12 +5734,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s ara està escoltant els teus avisos a %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5510,19 +5760,19 @@ msgstr ""
"Atentament,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"Biografia: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nou correu electrònic per publicar a %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5543,21 +5793,21 @@ msgstr ""
"Sincerament teus,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s estat"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Confirmació SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Has estat reclamat per %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5573,12 +5823,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nou missatge privat de %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5597,12 +5847,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s ha afegit la teva nota com a favorita"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5623,12 +5873,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5743,6 +5993,12 @@ msgstr "A"
msgid "Available characters"
msgstr "Caràcters disponibles"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Envia"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Enviar notificació"
@@ -5802,23 +6058,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "en context"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Repetit per"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "respondre a aquesta nota"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Respon"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Notificació publicada"
@@ -5894,7 +6150,7 @@ msgstr "Etiquetes en les notificacions de %s's"
msgid "Unknown"
msgstr "Acció desconeguda"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Subscripcions"
@@ -5902,23 +6158,23 @@ msgstr "Subscripcions"
msgid "All subscriptions"
msgstr "Totes les subscripcions"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Subscriptors"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Tots els subscriptors"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID de l'usuari"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membre des de"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Tots els grups"
@@ -5960,7 +6216,12 @@ msgstr "Repeteix l'avís"
msgid "Repeat this notice"
msgstr "Repeteix l'avís"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Bloca l'usuari del grup"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5982,6 +6243,10 @@ msgstr "Cerca al lloc"
msgid "Keyword(s)"
msgstr "Paraules clau"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Cerca"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Ajuda de la cerca"
@@ -6033,6 +6298,15 @@ msgstr "Persones subscrites a %s"
msgid "Groups %s is a member of"
msgstr "%s grups són membres de"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Convida"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Convidar amics i companys perquè participin a %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6104,47 +6378,64 @@ msgstr "Missatge"
msgid "Moderate"
msgstr "Modera"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Perfil de l'usuari"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administradors"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Modera"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "fa pocs segons"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "fa un minut"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "fa %d minuts"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "fa una hora"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "fa %d hores"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "fa un dia"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "fa %d dies"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "fa un mes"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "fa %d mesos"
-#: lib/util.php:970
+#: lib/util.php:1033
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 dd51424e6..a48ec5885 100644
--- a/locale/cs/LC_MESSAGES/statusnet.po
+++ b/locale/cs/LC_MESSAGES/statusnet.po
@@ -9,82 +9,89 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:18+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:32+0000\n"
"Language-Team: Czech\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n< =4) ? 1 : 2 ;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Přijmout"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Nastavení"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Registrovat"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Soukromí"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
msgid "Invite only"
msgstr ""
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "Žádný takový uživatel."
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Nastavení"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Uložit"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "Žádné takové oznámení."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -98,72 +105,82 @@ msgstr "Žádné takové oznámení."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Žádný takový uživatel."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s a přátelé"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s a přátelé"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Feed přítel uživatele: %s"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Feed přítel uživatele: %s"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Feed přítel uživatele: %s"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s a přátelé"
@@ -182,20 +199,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Potvrzující kód nebyl nalezen"
@@ -229,8 +246,9 @@ msgstr "Nelze aktualizovat uživatele"
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Uživatel nemá profil."
@@ -255,7 +273,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -372,68 +390,68 @@ msgstr "Nelze aktualizovat uživatele"
msgid "Could not find target user."
msgstr "Nelze aktualizovat uživatele"
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "PÅ™ezdívka může obsahovat pouze malá písmena a Äísla bez mezer"
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Přezdívku již někdo používá. Zkuste jinou"
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Není platnou přezdívkou."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Stránka není platnou URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Jméno je moc dlouhé (maximální délka je 255 znaků)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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ů)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Umístění příliš dlouhé (maximálně 255 znaků)"
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "Neplatná adresa '%s'"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Přezdívku již někdo používá. Zkuste jinou"
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -445,16 +463,16 @@ msgstr ""
msgid "Group not found!"
msgstr "Žádný požadavek nebyl nalezen!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "Již jste přihlášen"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Nelze přesměrovat na server: %s"
@@ -464,7 +482,7 @@ msgstr "Nelze přesměrovat na server: %s"
msgid "You are not a member of this group."
msgstr "Neodeslal jste nám profil"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Nelze vytvořit OpenID z: %s"
@@ -496,7 +514,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -540,7 +558,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -563,14 +581,14 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
#, fuzzy
msgid "Account"
msgstr "O nás"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -656,18 +674,6 @@ msgstr "%1 statusů na %2"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "Mikroblog od %s"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr ""
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -678,12 +684,12 @@ msgstr "%1 statusů na %2"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -698,12 +704,12 @@ msgstr "Odpovědi na %s"
msgid "Repeats of %s"
msgstr "Odpovědi na %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Mikroblog od %s"
@@ -721,8 +727,7 @@ msgstr "Žádný takový dokument."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Žádná přezdívka."
@@ -734,7 +739,7 @@ msgstr "Žádná velikost"
msgid "Invalid size."
msgstr "Neplatná velikost"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Obrázek"
@@ -746,36 +751,36 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
#, fuzzy
msgid "Avatar settings"
msgstr "Nastavení"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Odstranit"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Upload"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -783,7 +788,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -817,23 +822,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Ne"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "Žádný takový uživatel."
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ano"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Zablokovat tohoto uživatele"
@@ -841,41 +846,45 @@ msgstr "Zablokovat tohoto uživatele"
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "Žádné takové oznámení."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "Uživatel nemá profil."
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s a přátelé"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "Žádný takový uživatel."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "Žádný takový uživatel."
@@ -934,7 +943,7 @@ msgid "Conversation"
msgstr "Umístění"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Sdělení"
@@ -956,7 +965,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -982,12 +991,13 @@ msgstr "Žádné takové oznámení."
msgid "Delete this application"
msgstr "Odstranit toto oznámení"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Nepřihlášen"
@@ -1015,7 +1025,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "Žádné takové oznámení."
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Odstranit toto oznámení"
@@ -1033,18 +1043,18 @@ msgstr "Můžete použít místní odebírání."
msgid "Delete user"
msgstr ""
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Odstranit tohoto uživatele"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Vzhled"
@@ -1151,6 +1161,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Uložit"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1250,31 +1272,31 @@ msgstr "Upravit %s skupinu"
msgid "You must be logged in to create a group."
msgstr ""
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr ""
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "Text je příliš dlouhý (maximální délka je 140 zanků)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "Nelze aktualizovat uživatele"
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "Nelze uložin informace o obrázku"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Nastavení uloženo."
@@ -1392,7 +1414,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Není platnou mailovou adresou."
@@ -1587,6 +1609,25 @@ msgstr "Žádné takové oznámení."
msgid "Cannot read file."
msgstr "Žádné takové oznámení."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Neplatná velikost"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Neodeslal jste nám profil"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Uživatel nemá profil."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1618,7 +1659,7 @@ msgstr "Uživatel nemá profil."
msgid "User is not a member of group."
msgstr "Neodeslal jste nám profil"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "Žádný takový uživatel."
@@ -1654,96 +1695,102 @@ msgstr "Žádné id"
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Nelze aktualizovat uživatele"
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "Nastavení uloženo"
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo skupiny"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Uživatel nemá profil."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "Obrázek nahrán"
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "Nahrávání obrázku selhalo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr ""
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Mikroblog od %s"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Skupiny"
@@ -1992,16 +2039,19 @@ msgstr ""
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Odeslat"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2036,7 +2086,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Žádná přezdívka."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -2045,12 +2100,12 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
#, fuzzy
msgid "You are not a member of that group."
msgstr "Neodeslal jste nám profil"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1 statusů na %2"
@@ -2068,8 +2123,7 @@ msgstr "Neplatné jméno nebo heslo"
msgid "Error setting user. You are probably not authorized."
msgstr "Neautorizován."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Přihlásit"
@@ -2318,8 +2372,8 @@ msgstr "Připojit"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2467,7 +2521,8 @@ msgstr "Nelze uložit nové heslo"
msgid "Password saved."
msgstr "Heslo uloženo"
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2500,7 +2555,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2594,7 +2648,7 @@ msgstr ""
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Obnovit"
@@ -2653,11 +2707,11 @@ msgstr "Není platnou mailovou adresou."
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Mikroblog od %s"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Neplatný obsah sdělení"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2683,7 +2737,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 znaků nebo Äísel, bez teÄek, Äárek a mezer"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Celé jméno"
@@ -2711,7 +2765,7 @@ msgid "Bio"
msgstr "O mÄ›"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2736,7 +2790,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Jazyk"
@@ -2762,7 +2816,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Text je příliš dlouhý (maximální délka je 140 zanků)"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2793,7 +2847,8 @@ msgstr "Nelze uložit profil"
msgid "Couldn't save tags."
msgstr "Nelze uložit profil"
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Nastavení uloženo"
@@ -2806,48 +2861,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, fuzzy, php-format
msgid "Public timeline, page %d"
msgstr "Veřejné zprávy"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Veřejné zprávy"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Veřejný Stream Feed"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Veřejný Stream Feed"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Veřejný Stream Feed"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2856,7 +2911,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3029,8 +3084,7 @@ msgstr "Chyba v ověřovacím kódu"
msgid "Registration successful"
msgstr "Registrace úspěšná"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrovat"
@@ -3069,7 +3123,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
@@ -3160,7 +3214,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "Adresa profilu na jiných kompatibilních mikroblozích."
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Odebírat"
@@ -3201,7 +3255,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "Vytvořit"
@@ -3211,47 +3265,47 @@ msgstr "Vytvořit"
msgid "Repeated!"
msgstr "Vytvořit"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Odpovědi na %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Odpovědi na %s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Feed sdělení pro %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Feed sdělení pro %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Feed sdělení pro %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3263,6 +3317,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Odpovědi na %s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Neodeslal jste nám profil"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Uživatel nemá profil."
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3278,8 +3342,9 @@ msgstr "Neodeslal jste nám profil"
msgid "User is already sandboxed."
msgstr "Uživatel nemá profil."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3303,8 +3368,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Nastavení"
@@ -3339,8 +3404,8 @@ msgstr "Umístění"
msgid "Description"
msgstr "Odběry"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistiky"
@@ -3400,35 +3465,35 @@ msgstr "%s a přátelé"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed přítel uživatele: %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed přítel uživatele: %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed přítel uživatele: %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3436,7 +3501,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3450,70 +3515,70 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "Všechny odběry"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "Žádné takové oznámení."
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Poznámka"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Feed sdělení pro %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Feed sdělení pro %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Feed sdělení pro %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "Feed sdělení pro %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "ÄŒlenem od"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "Vytvořit"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3523,7 +3588,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3532,7 +3597,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3644,149 +3709,137 @@ msgid "User is already silenced."
msgstr "Uživatel nemá profil."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Není platnou mailovou adresou."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Nové sdělení"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Žádný registrovaný email pro tohoto uživatele."
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Umístění"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr ""
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Nové sdělení"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
msgstr ""
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Problém při ukládání sdělení"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Nové sdělení"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Nové sdělení"
#: actions/smssettings.php:58
#, fuzzy
@@ -3884,6 +3937,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Odběry"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Nastavení"
+
#: actions/subedit.php:70
#, fuzzy
msgid "You are not subscribed to that profile."
@@ -3994,22 +4107,22 @@ msgstr "Žádné Jabber ID."
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Mikroblog od %s"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Feed sdělení pro %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Feed sdělení pro %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Feed sdělení pro %s"
@@ -4063,7 +4176,7 @@ msgstr ""
msgid "No such tag."
msgstr "Žádné takové oznámení."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -4092,79 +4205,80 @@ msgstr "Nebylo vráceno žádné URL profilu od servu."
msgid "Unsubscribed"
msgstr "Odhlásit"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Všechny odběry"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "Odběr autorizován"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Umístění"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4298,16 +4412,22 @@ msgstr "Všechny odběry"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "Neodeslal jste nám profil"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4351,7 +4471,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Osobní"
@@ -4392,6 +4512,11 @@ msgstr "Nelze aktualizovat uživatele"
msgid "Group leave failed."
msgstr "Žádné takové oznámení."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Nelze aktualizovat uživatele"
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4409,46 +4534,46 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Problém při ukládání sdělení"
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "Problém při ukládání sdělení"
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problém při ukládání sdělení"
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problém při ukládání sdělení"
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4476,25 +4601,40 @@ msgstr "Nepřihlášen!"
msgid "Couldn't delete self-subscription."
msgstr "Nelze smazat odebírání"
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Nelze smazat odebírání"
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Nelze smazat odebírání"
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "Nelze uložin informace o obrázku"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Nelze vytvořit odebírat"
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "Nelze vytvořit odebírat"
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Nelze vytvořit odebírat"
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4534,130 +4674,185 @@ msgstr "%1 statusů na %2"
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "Domů"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr ""
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Osobní"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Připojit"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "Změnit heslo"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Nelze přesměrovat na server: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Připojit"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Odběry"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Odhlásit"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Neplatná velikost"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Odhlásit"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "VytvoÅ™it nový úÄet"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrovat"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Nápověda"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Přihlásit"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Pomoci mi!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Hledat"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Nápověda"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Hledat"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "Nové sdělení"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "Nové sdělení"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "Odběry"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Nápověda"
+
+#: lib/action.php:754
msgid "About"
msgstr "O nás"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Soukromí"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Zdroj"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4666,12 +4861,12 @@ msgstr ""
"**%%site.name%%** je služba microblogů, kterou pro vás poskytuje [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** je služba mikroblogů."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4682,114 +4877,156 @@ msgstr ""
"dostupná pod [GNU Affero General Public License](http://www.fsf.org/"
"licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "Nové sdělení"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
#, fuzzy
msgid "After"
msgstr "« Novější"
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "Starší »"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Potvrzení emailové adresy"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Nové sdělení"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "Potvrzení emailové adresy"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Vzhled"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Potvrzení emailové adresy"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Potvrzení emailové adresy"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "Potvrzení emailové adresy"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Potvrzení emailové adresy"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Nové sdělení"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Potvrzení emailové adresy"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4884,12 +5121,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Heslo uloženo"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Heslo uloženo"
@@ -4977,12 +5214,12 @@ msgstr "%1 statusů na %2"
msgid "Fullname: %s"
msgstr "Celé jméno"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -5176,20 +5413,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Žádný potvrzující kód."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5290,6 +5527,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5383,24 +5625,24 @@ msgstr "Chyba systému při nahrávání souboru"
msgid "Not an image or corrupt file."
msgstr "Není obrázkem, nebo jde o poškozený soubor."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Nepodporovaný formát obrázku."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "Žádné takové oznámení."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr ""
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5433,11 +5675,11 @@ msgstr "Neplatné jméno nebo heslo"
msgid "Sign up for a new account"
msgstr "VytvoÅ™it nový úÄet"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Potvrzení emailové adresy"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5454,12 +5696,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1 od teÄ naslouchá tvým sdÄ›lením v %2"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5480,17 +5722,17 @@ msgstr ""
"S úctou váš,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "O mÄ›"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5503,21 +5745,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr ""
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5533,12 +5775,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5557,12 +5799,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%1 od teÄ naslouchá tvým sdÄ›lením v %2"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5583,12 +5825,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5705,6 +5947,12 @@ msgstr ""
msgid "Available characters"
msgstr "6 a více znaků"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Odeslat"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5764,26 +6012,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "Žádný obsah!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Vytvořit"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
#, fuzzy
msgid "Reply"
msgstr "odpovÄ›Ä"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Sdělení"
@@ -5858,7 +6106,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Odběry"
@@ -5866,23 +6114,23 @@ msgstr "Odběry"
msgid "All subscriptions"
msgstr "Všechny odběry"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Odběratelé"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Všichni odběratelé"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "ÄŒlenem od"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr ""
@@ -5926,7 +6174,12 @@ msgstr "Odstranit toto oznámení"
msgid "Repeat this notice"
msgstr "Odstranit toto oznámení"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Žádný takový uživatel."
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5948,6 +6201,10 @@ msgstr "Hledat"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Hledat"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6002,6 +6259,15 @@ msgstr "Vzdálený odběr"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr ""
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6075,47 +6341,62 @@ msgstr "Zpráva"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Uživatel nemá profil."
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "před pár sekundami"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "asi před minutou"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "asi před %d minutami"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "asi před hodinou"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "asi před %d hodinami"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "asi přede dnem"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "před %d dny"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "asi před měsícem"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "asi před %d mesíci"
-#: lib/util.php:970
+#: lib/util.php:1033
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 053187a86..4bad95b9e 100644
--- a/locale/de/LC_MESSAGES/statusnet.po
+++ b/locale/de/LC_MESSAGES/statusnet.po
@@ -4,6 +4,8 @@
# Author@translatewiki.net: Lutzgh
# Author@translatewiki.net: March
# Author@translatewiki.net: McDutchie
+# Author@translatewiki.net: Michael
+# Author@translatewiki.net: Michi
# Author@translatewiki.net: Pill
# Author@translatewiki.net: Umherirrender
# --
@@ -13,76 +15,82 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:21+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-08 21:10:39+0000\n"
"Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63415); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Zugang"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Zugangseinstellungen speichern"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registrieren"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privat"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Anonymen (nicht eingeloggten) Nutzern das Betrachten der Seite verbieten?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Nur auf Einladung"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privat"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Registrierung nur bei vorheriger Einladung erlauben."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Geschlossen"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Nur auf Einladung"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
msgstr "Neuregistrierungen deaktivieren."
-#: 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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Geschlossen"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Zugangs-Einstellungen speichern"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Speichern"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Seite nicht vorhanden"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -96,45 +104,53 @@ msgstr "Seite nicht vorhanden"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Unbekannter Benutzer."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s und Freunde, Seite% 2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s und Freunde"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Feed der Freunde von %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Feed der Freunde von %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Feed der Freunde von %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -142,7 +158,7 @@ msgstr ""
"Dies ist die Zeitleiste für %s und Freunde aber bisher hat niemand etwas "
"gepostet."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -151,17 +167,18 @@ msgstr ""
"Abonniere doch mehr Leute, [tritt einer Gruppe bei](%%action.groups%%) oder "
"poste selber etwas."
-#: actions/all.php:134
-#, fuzzy, php-format
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
+#, php-format
msgid ""
"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)."
msgstr ""
-"Du kannst [%s in seinem Profil einen Stups geben](../%s) oder [ihm etwas "
+"Du kannst [%1$s in seinem Profil einen Stups geben](../%2$s) oder [ihm etwas "
"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit "
"zu erregen."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -171,7 +188,8 @@ msgstr ""
"gibst %s dann einen Stups oder postest ihm etwas, um seine Aufmerksamkeit zu "
"erregen?"
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Du und Freunde"
@@ -189,20 +207,20 @@ msgstr "Aktualisierungen von %1$s und Freunden auf %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API-Methode nicht gefunden."
@@ -234,8 +252,9 @@ msgstr "Konnte Benutzerdaten nicht aktualisieren."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Benutzer hat kein Profil."
@@ -254,12 +273,14 @@ msgid ""
"The server was unable to handle that much POST data (%s bytes) due to its "
"current configuration."
msgstr ""
+"Der Server kann so große POST Abfragen (%s bytes) aufgrund der Konfiguration "
+"nicht verarbeiten."
#: actions/apiaccountupdateprofilebackgroundimage.php:136
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -372,7 +393,7 @@ msgstr "Konnte öffentlichen Stream nicht abrufen."
msgid "Could not find target user."
msgstr "Konnte keine Statusmeldungen finden."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -380,63 +401,63 @@ msgstr ""
"Der Nutzername darf nur aus Kleinbuchstaben und Ziffern bestehen. "
"Leerzeichen sind nicht erlaubt."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Nutzername wird bereits verwendet. Suche dir einen anderen aus."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ungültiger Nutzername."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr ""
"Homepage ist keine gültige URL. URL’s müssen ein Präfix wie http enthalten."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Der vollständige Name ist zu lang (maximal 255 Zeichen)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Der eingegebene Aufenthaltsort ist zu lang (maximal 255 Zeichen)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Zu viele Pseudonyme! Maximale Anzahl ist %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
-msgstr "Ungültiger Tag: „%s“"
+msgstr "Ungültiges Stichwort: „%s“"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Nutzername „%s“ wird bereits verwendet. Suche dir einen anderen aus."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias kann nicht das gleiche wie der Spitznamen sein."
@@ -447,15 +468,15 @@ msgstr "Alias kann nicht das gleiche wie der Spitznamen sein."
msgid "Group not found!"
msgstr "Gruppe nicht gefunden!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Du bist bereits Mitglied dieser Gruppe"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Der Admin dieser Gruppe hat dich gesperrt."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Konnte Benutzer %s nicht der Gruppe %s hinzufügen."
@@ -464,7 +485,7 @@ msgstr "Konnte Benutzer %s nicht der Gruppe %s hinzufügen."
msgid "You are not a member of this group."
msgstr "Du bist kein Mitglied dieser Gruppe."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Konnte Benutzer %1$s nicht aus der Gruppe %2$s entfernen."
@@ -486,7 +507,7 @@ msgstr "Gruppen von %s"
#: actions/apioauthauthorize.php:101
msgid "No oauth_token parameter provided."
-msgstr ""
+msgstr "Kein oauth_token Parameter angegeben."
#: actions/apioauthauthorize.php:106
#, fuzzy
@@ -496,7 +517,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -521,9 +542,8 @@ msgid "Database error deleting OAuth application user."
msgstr "Fehler bei den Nutzereinstellungen."
#: actions/apioauthauthorize.php:185
-#, fuzzy
msgid "Database error inserting OAuth application user."
-msgstr "Datenbankfehler beim Einfügen des Hashtags: %s"
+msgstr "Datenbankfehler beim Einfügen des OAuth Programm Benutzers."
#: actions/apioauthauthorize.php:214
#, php-format
@@ -531,15 +551,17 @@ msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
+"Die Anfrage %s wurde nicht autorisiert. Bitte gegen einen Zugriffstoken "
+"austauschen."
#: actions/apioauthauthorize.php:227
#, php-format
msgid "The request token %s has been denied and revoked."
-msgstr ""
+msgstr "Die Anfrage %s wurde gesperrt und widerrufen."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -548,11 +570,11 @@ msgstr "Unerwartete Formulareingabe."
#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
-msgstr ""
+msgstr "Ein Programm will eine Verbindung zu deinem Konto aufbauen"
#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
-msgstr ""
+msgstr "Zugriff erlauben oder ablehnen"
#: actions/apioauthauthorize.php:292
#, php-format
@@ -562,13 +584,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Konto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -581,16 +603,15 @@ msgstr "Passwort"
#: actions/apioauthauthorize.php:328
msgid "Deny"
-msgstr ""
+msgstr "Ablehnen"
#: actions/apioauthauthorize.php:334
-#, fuzzy
msgid "Allow"
-msgstr "Alle"
+msgstr "Erlauben"
#: actions/apioauthauthorize.php:351
msgid "Allow or deny access to your account information."
-msgstr ""
+msgstr "Zugang zu deinem Konto erlauben oder ablehnen"
#: actions/apistatusesdestroy.php:107
msgid "This method requires a POST or DELETE."
@@ -644,26 +665,14 @@ msgid "Unsupported format."
msgstr "Bildformat wird nicht unterstützt."
#: actions/apitimelinefavorites.php:108
-#, fuzzy, php-format
+#, php-format
msgid "%1$s / Favorites from %2$s"
-msgstr "%s / Favoriten von %s"
+msgstr "%1$s / Favoriten von %2$s"
#: actions/apitimelinefavorites.php:117
-#, fuzzy, php-format
-msgid "%1$s updates favorited by %2$s / %2$s."
-msgstr "%s Aktualisierung in den Favoriten von %s / %s."
-
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
#, php-format
-msgid "%s timeline"
-msgstr "%s Zeitleiste"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Aktualisierungen von %1$s auf %2$s!"
+msgid "%1$s updates favorited by %2$s / %2$s."
+msgstr "%1$s Aktualisierung in den Favoriten von %2$s / %2$s."
#: actions/apitimelinementions.php:117
#, php-format
@@ -675,32 +684,32 @@ msgstr "%1$s / Aktualisierungen erwähnen %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "Nachrichten von %1$, die auf Nachrichten von %2$ / %3$ antworten."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s öffentliche Zeitleiste"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s Nachrichten von allen!"
#: actions/apitimelineretweetedtome.php:111
-#, fuzzy, php-format
+#, php-format
msgid "Repeated to %s"
msgstr "Antworten an %s"
#: actions/apitimelineretweetsofme.php:114
-#, fuzzy, php-format
+#, php-format
msgid "Repeats of %s"
-msgstr "Antworten an %s"
+msgstr "Antworten von %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Nachrichten, die mit %s getagt sind"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Aktualisierungen mit %1$s getagt auf %2$s!"
@@ -716,8 +725,7 @@ msgstr "Kein solcher Anhang."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Kein Nutzername."
@@ -729,7 +737,7 @@ msgstr "Keine Größe."
msgid "Invalid size."
msgstr "Ungültige Größe."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -742,35 +750,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Benutzer ohne passendes Profil"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Avatar-Einstellungen"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Vorschau"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Löschen"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Hochladen"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Zuschneiden"
@@ -779,7 +787,7 @@ msgid "Pick a square area of the image to be your avatar"
msgstr ""
"Wähle eine quadratische Fläche aus dem Bild, um dein Avatar zu speichern"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Daten verloren."
@@ -809,24 +817,27 @@ msgid ""
"unsubscribed from you, unable to subscribe to you in the future, and you "
"will not be notified of any @-replies from them."
msgstr ""
+"Bist du sicher, dass du den Benutzer blockieren willst? Die Verbindung zum "
+"Benutzer wird gelöscht, dieser kann dich in Zukunft nicht mehr abonnieren "
+"und bekommt keine @-Antworten."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nein"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Diesen Benutzer freigeben"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Diesen Benutzer blockieren"
@@ -834,39 +845,43 @@ msgstr "Diesen Benutzer blockieren"
msgid "Failed to save block information."
msgstr "Konnte Blockierungsdaten nicht speichern."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Keine derartige Gruppe."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s blockierte Benutzerprofile"
-#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#: actions/blockedfromgroup.php:100
+#, php-format
msgid "%1$s blocked profiles, page %2$d"
-msgstr "%s blockierte Benutzerprofile, Seite %d"
+msgstr "%1$s blockierte Benutzerprofile, Seite %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Liste der blockierten Benutzer in dieser Gruppe."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Sperrung des Nutzers für die Gruppe aufheben."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Freigeben"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Diesen Benutzer freigeben"
@@ -909,7 +924,6 @@ msgid "Couldn't delete email confirmation."
msgstr "Konnte E-Mail-Bestätigung nicht löschen."
#: actions/confirmaddress.php:144
-#, fuzzy
msgid "Confirm address"
msgstr "Adresse bestätigen"
@@ -923,36 +937,32 @@ msgid "Conversation"
msgstr "Unterhaltung"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
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."
+msgstr "Du musst angemeldet sein, um dieses Programm zu entfernen."
#: actions/deleteapplication.php:71
-#, fuzzy
msgid "Application not found."
-msgstr "Nachricht hat kein Profil"
+msgstr "Programm nicht gefunden."
#: 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."
+msgstr "Du bist Besitzer dieses Programms"
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
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."
+msgstr "Programm entfernen"
#: actions/deleteapplication.php:149
msgid ""
@@ -960,23 +970,24 @@ msgid ""
"about the application from the database, including all existing user "
"connections."
msgstr ""
+"Bist du sicher, dass du dieses Programm löschen willst? Es werden alle Daten "
+"aus der Datenbank entfernt, auch alle bestehenden Benutzer-Verbindungen."
#: actions/deleteapplication.php:156
-#, fuzzy
msgid "Do not delete this application"
-msgstr "Diese Nachricht nicht löschen"
+msgstr "Dieses Programm nicht löschen"
#: actions/deleteapplication.php:160
-#, fuzzy
msgid "Delete this application"
-msgstr "Nachricht löschen"
+msgstr "Programm löschen"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Nicht angemeldet."
@@ -1005,7 +1016,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Nachricht löschen"
@@ -1021,20 +1032,22 @@ msgstr "Du kannst nur lokale Benutzer löschen."
msgid "Delete user"
msgstr "Benutzer löschen"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
+"Bist du sicher, dass du den Benutzer löschen wisst? Alle Daten des Benutzers "
+"werden aus der Datenbank gelöscht (ohne ein Backup)."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Diesen Benutzer löschen"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
-msgstr ""
+msgstr "Design"
#: actions/designadminpanel.php:73
msgid "Design settings for this StatusNet site."
@@ -1101,7 +1114,7 @@ msgstr "Hintergrundbild ein- oder ausschalten."
#: actions/designadminpanel.php:479 lib/designsettings.php:161
msgid "Tile background image"
-msgstr ""
+msgstr "Hintergrundbild kacheln"
#: actions/designadminpanel.php:488 lib/designsettings.php:170
msgid "Change colours"
@@ -1125,7 +1138,7 @@ msgstr "Links"
#: actions/designadminpanel.php:577 lib/designsettings.php:247
msgid "Use defaults"
-msgstr ""
+msgstr "Standardeinstellungen benutzen"
#: actions/designadminpanel.php:578 lib/designsettings.php:248
msgid "Restore default designs"
@@ -1135,6 +1148,18 @@ msgstr "Standard-Design wiederherstellen"
msgid "Reset back to default"
msgstr "Standard wiederherstellen"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Speichern"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Design speichern"
@@ -1148,86 +1173,75 @@ msgid "Add to favorites"
msgstr "Zu Favoriten hinzufügen"
#: actions/doc.php:158
-#, fuzzy, php-format
+#, php-format
msgid "No such document \"%s\""
-msgstr "Unbekanntes Dokument."
+msgstr "Unbekanntes Dokument \"%s\""
#: actions/editapplication.php:54
-#, fuzzy
msgid "Edit Application"
-msgstr "Sonstige Optionen"
+msgstr "Anwendung bearbeiten"
#: actions/editapplication.php:66
-#, fuzzy
msgid "You must be logged in to edit an application."
-msgstr "Du musst angemeldet sein, um eine Gruppe zu bearbeiten."
+msgstr "Du musst angemeldet sein, um eine Anwendung zu bearbeiten."
#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
#: actions/showapplication.php:87
-#, fuzzy
msgid "No such application."
-msgstr "Unbekannte Nachricht."
+msgstr "Anwendung nicht bekannt."
#: actions/editapplication.php:161
-#, fuzzy
msgid "Use this form to edit your application."
-msgstr "Benutze dieses Formular, um die Gruppe zu bearbeiten."
+msgstr "Benutze dieses Formular, um die Anwendung zu bearbeiten."
#: actions/editapplication.php:177 actions/newapplication.php:159
-#, fuzzy
msgid "Name is required."
-msgstr "Gleiches Passwort wie zuvor. Pflichteingabe."
+msgstr "Name ist erforderlich."
#: 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)."
+msgstr "Der Name ist zu lang (maximal 255 Zeichen)."
#: 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."
+msgstr "Der Name wird bereits verwendet. Suche dir einen anderen aus."
#: actions/editapplication.php:186 actions/newapplication.php:168
-#, fuzzy
msgid "Description is required."
-msgstr "Beschreibung"
+msgstr "Beschreibung ist erforderlich."
#: actions/editapplication.php:194
msgid "Source URL is too long."
-msgstr ""
+msgstr "Homepage ist zu lang."
#: 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:203 actions/newapplication.php:188
msgid "Organization is required."
-msgstr ""
+msgstr "Organisation ist erforderlich. (Pflichtangabe)"
#: 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)."
+msgstr "Die angegebene Organisation ist zu lang (maximal 255 Zeichen)."
#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
-msgstr ""
+msgstr "Homepage der Organisation ist erforderlich (Pflichtangabe)."
#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
-msgstr ""
+msgstr "Antwort ist zu lang"
#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
-msgstr ""
+msgstr "Antwort URL ist nicht gültig"
#: actions/editapplication.php:258
-#, fuzzy
msgid "Could not update application."
-msgstr "Konnte Gruppe nicht aktualisieren."
+msgstr "Konnte Programm nicht aktualisieren."
#: actions/editgroup.php:56
#, php-format
@@ -1238,35 +1252,33 @@ msgstr "Gruppe %s bearbeiten"
msgid "You must be logged in to create a group."
msgstr "Du musst angemeldet sein, um eine Gruppe zu erstellen."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Du musst ein Administrator sein, um die Gruppe zu bearbeiten"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Benutze dieses Formular, um die Gruppe zu bearbeiten."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "Die Beschreibung ist zu lang (max. %d Zeichen)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Konnte Gruppe nicht aktualisieren."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Konnte keinen Favoriten erstellen."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Einstellungen gespeichert."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "E-Mail-Einstellungen"
@@ -1305,9 +1317,8 @@ msgid "Cancel"
msgstr "Abbrechen"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
-msgstr "E-Mail-Adressen"
+msgstr "E-Mail-Adresse"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
@@ -1385,7 +1396,7 @@ msgid "Cannot normalize that email address"
msgstr "Konnte diese E-Mail-Adresse nicht normalisieren"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ungültige E-Mail-Adresse."
@@ -1476,12 +1487,16 @@ msgstr "Die momentan beliebtesten Nachrichten auf dieser Seite."
#: actions/favorited.php:150
msgid "Favorite notices appear on this page but no one has favorited one yet."
msgstr ""
+"Favorisierte Mitteilungen werden auf dieser Seite angezeigt; es wurden aber "
+"noch keine Favoriten markiert."
#: actions/favorited.php:153
msgid ""
"Be the first to add a notice to your favorites by clicking the fave button "
"next to any notice you like."
msgstr ""
+"Sei der erste der eine Nachricht favorisiert indem du auf die entsprechenden "
+"Schaltfläche neben der Nachricht klickst."
#: actions/favorited.php:156
#, php-format
@@ -1489,6 +1504,8 @@ msgid ""
"Why not [register an account](%%action.register%%) and be the first to add a "
"notice to your favorites!"
msgstr ""
+"Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und "
+"bist der erste der eine Nachricht favorisiert!"
#: actions/favoritesrss.php:111 actions/showfavorites.php:77
#: lib/personalgroupnav.php:115
@@ -1512,9 +1529,9 @@ msgid "Featured users, page %d"
msgstr "Top-Benutzer, Seite %d"
#: actions/featured.php:99
-#, fuzzy, php-format
+#, php-format
msgid "A selection of some great users on %s"
-msgstr "Eine Auswahl der tollen Benutzer auf %s"
+msgstr "Eine Auswahl toller Benutzer auf %s"
#: actions/file.php:34
msgid "No notice ID."
@@ -1572,6 +1589,23 @@ msgstr "Datei nicht gefunden."
msgid "Cannot read file."
msgstr "Datei konnte nicht gelesen werden."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Ungültige Aufgabe"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Diese Aufgabe ist reserviert und kann nicht gesetzt werden"
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Du kannst diesem Benutzer keine Nachricht schicken."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "Nutzer hat diese Aufgabe bereits"
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1601,7 +1635,7 @@ msgstr "Dieser Nutzer ist bereits von der Gruppe gesperrt"
msgid "User is not a member of group."
msgstr "Nutzer ist kein Mitglied dieser Gruppe."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Benutzerzugang zu der Gruppe blockieren"
@@ -1612,6 +1646,10 @@ msgid ""
"will be removed from the group, unable to post, and unable to subscribe to "
"the group in the future."
msgstr ""
+"Bist du sicher, dass du den Benutzer \"%1$s\" in der Gruppe \"%2$s\" "
+"blockieren willst? Er wird aus der Gruppe gelöscht, kann keine Beiträge mehr "
+"abschicken und wird auch in Zukunft dieser Gruppe nicht mehr beitreten "
+"können."
#: actions/groupblock.php:178
msgid "Do not block this user from this group"
@@ -1626,7 +1664,6 @@ msgid "Database error blocking user from group."
msgstr "Datenbank Fehler beim Versuch den Nutzer aus der Gruppe zu blockieren."
#: actions/groupbyid.php:74 actions/userbyid.php:70
-#, fuzzy
msgid "No ID."
msgstr "Keine ID"
@@ -1634,30 +1671,32 @@ msgstr "Keine ID"
msgid "You must be logged in to edit a group."
msgstr "Du musst angemeldet sein, um eine Gruppe zu bearbeiten."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Gruppen-Design"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
+"Stelle ein wie die Gruppenseite aussehen soll. Hintergrundbild und "
+"Farbpalette frei wählbar."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Konnte dein Design nicht aktualisieren."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Design-Einstellungen gespeichert."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Gruppen-Logo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1665,63 +1704,68 @@ msgstr ""
"Du kannst ein Logo für Deine Gruppe hochladen. Die maximale Dateigröße ist %"
"s."
-#: actions/grouplogo.php:178
-#, fuzzy
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Benutzer ohne passendes Profil"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Wähle eine quadratische Fläche aus dem Bild, um das Logo zu speichern."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo aktualisiert."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Aktualisierung des Logos fehlgeschlagen."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s Gruppen-Mitglieder"
-#: actions/groupmembers.php:96
-#, fuzzy, php-format
+#: actions/groupmembers.php:103
+#, php-format
msgid "%1$s group members, page %2$d"
-msgstr "%s Gruppen-Mitglieder, Seite %d"
+msgstr "%1$s Gruppen-Mitglieder, Seite %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Liste der Benutzer in dieser Gruppe."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Admin"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blockieren"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Benutzer zu einem Admin dieser Gruppe ernennen"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Zum Admin ernennen"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Diesen Benutzer zu einem Admin ernennen"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s Zeitleiste"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Aktualisierungen von %1$s auf %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Gruppen"
@@ -1740,6 +1784,11 @@ msgid ""
"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
"%%%%)"
msgstr ""
+"Finde und rede mit Gleichgesinnten in %%%%site.name%%%% Gruppen. Nachdem du "
+"einer Gruppe beigetreten bis kannst du mit \\\"!Gruppenname\\\" eine "
+"Nachricht an alle Gruppenmitglieder schicken. Du kannst nach einer [Gruppe "
+"suchen](%%%%action.groupsearch%%%%) oder deine eigene [Gruppe aufmachen!](%%%"
+"%action.newgroup%%%%)"
#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
msgid "Create a new group"
@@ -1795,7 +1844,6 @@ msgid "Error removing the block."
msgstr "Fehler beim Freigeben des Benutzers."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
msgstr "IM-Einstellungen"
@@ -1827,7 +1875,6 @@ msgstr ""
"Freundesliste hinzugefügt?)"
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
msgstr "IM-Adresse"
@@ -1893,9 +1940,9 @@ msgid "That is not your Jabber ID."
msgstr "Dies ist nicht deine JabberID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Posteingang von %s"
+msgstr "Posteingang von %s - Seite %2$d"
#: actions/inbox.php:62
#, php-format
@@ -1984,16 +2031,18 @@ msgstr ""
"Wenn du möchtest kannst du zu der Einladung eine persönliche Nachricht "
"anfügen."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Senden"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s hat Dich eingeladen, auch bei %2$s mitzumachen."
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2053,23 +2102,27 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du musst angemeldet sein, um Mitglied einer Gruppe zu werden."
-#: actions/joingroup.php:131
-#, fuzzy, php-format
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Kein Benutzername oder ID"
+
+#: actions/joingroup.php:141
+#, php-format
msgid "%1$s joined group %2$s"
-msgstr "%s ist der Gruppe %s beigetreten"
+msgstr "%1$s ist der Gruppe %2$s beigetreten"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
msgstr "Du musst angemeldet sein, um aus einer Gruppe auszutreten."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Du bist kein Mitglied dieser Gruppe."
-#: actions/leavegroup.php:127
-#, fuzzy, php-format
+#: actions/leavegroup.php:137
+#, php-format
msgid "%1$s left group %2$s"
-msgstr "%s hat die Gruppe %s verlassen"
+msgstr "%1$s hat die Gruppe %2$s verlassen"
#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
@@ -2084,8 +2137,7 @@ msgid "Error setting user. You are probably not authorized."
msgstr ""
"Fehler beim setzen des Benutzers. Du bist vermutlich nicht autorisiert."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Anmelden"
@@ -2127,9 +2179,9 @@ msgid "Only an admin can make another user an admin."
msgstr "Nur Administratoren können andere Nutzer zu Administratoren ernennen."
#: actions/makeadmin.php:96
-#, fuzzy, php-format
+#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
-msgstr "%s ist bereits ein Administrator der Gruppe „%s“."
+msgstr "%1$s ist bereits Administrator der Gruppe \"%2$s\"."
#: actions/makeadmin.php:133
#, fuzzy, php-format
@@ -2137,37 +2189,33 @@ msgid "Can't get membership record for %1$s in group %2$s."
msgstr "Konnte Benutzer %s aus der Gruppe %s nicht entfernen"
#: actions/makeadmin.php:146
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "Konnte %s nicht zum Administrator der Gruppe %s machen"
+msgstr "Konnte %1$s nicht zum Administrator der Gruppe %2$s machen"
#: actions/microsummary.php:69
msgid "No current status"
msgstr "Kein aktueller Status"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
-msgstr "Unbekannte Nachricht."
+msgstr "Neues Programm"
#: actions/newapplication.php:64
-#, fuzzy
msgid "You must be logged in to register an application."
-msgstr "Du musst angemeldet sein, um eine Gruppe zu erstellen."
+msgstr "Du musst angemeldet sein, um ein Programm zu registrieren."
#: actions/newapplication.php:143
-#, fuzzy
msgid "Use this form to register a new application."
-msgstr "Benutzer dieses Formular, um eine neue Gruppe zu erstellen."
+msgstr "Benutzer dieses Formular, um eine neues Programm zu erstellen."
#: actions/newapplication.php:176
msgid "Source URL is required."
-msgstr ""
+msgstr "Quell-URL ist erforderlich."
#: actions/newapplication.php:258 actions/newapplication.php:267
-#, fuzzy
msgid "Could not create application."
-msgstr "Konnte keinen Favoriten erstellen."
+msgstr "Konnte das Programm nicht erstellen."
#: actions/newgroup.php:53
msgid "New group"
@@ -2205,7 +2253,7 @@ msgid "Message sent"
msgstr "Nachricht gesendet"
#: actions/newmessage.php:185
-#, fuzzy, php-format
+#, php-format
msgid "Direct message to %s sent."
msgstr "Direkte Nachricht an %s abgeschickt"
@@ -2236,9 +2284,9 @@ msgid "Text search"
msgstr "Volltextsuche"
#: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
msgid "Search results for \"%1$s\" on %2$s"
-msgstr "Suchergebnisse für „%s“ auf %s"
+msgstr "Suchergebnisse für \"%1$s\" auf %2$s"
#: actions/noticesearch.php:121
#, php-format
@@ -2246,6 +2294,8 @@ msgid ""
"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
"status_textarea=%s)!"
msgstr ""
+"Sei der erste der [zu diesem Thema etwas schreibt](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
#: actions/noticesearch.php:124
#, php-format
@@ -2253,6 +2303,9 @@ msgid ""
"Why not [register an account](%%%%action.register%%%%) and be the first to "
"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
msgstr ""
+"Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und "
+"bist der erste der [auf diese Nachricht antwortet](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
#: actions/noticesearchrss.php:96
#, php-format
@@ -2280,49 +2333,50 @@ msgid "Nudge sent!"
msgstr "Stups gesendet!"
#: actions/oauthappssettings.php:59
-#, fuzzy
msgid "You must be logged in to list your applications."
-msgstr "Du musst angemeldet sein, um eine Gruppe zu bearbeiten."
+msgstr "Du musst angemeldet sein, um deine Programm anzuzeigen"
#: actions/oauthappssettings.php:74
-#, fuzzy
msgid "OAuth applications"
-msgstr "Sonstige Optionen"
+msgstr "OAuth-Anwendungen"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
-msgstr ""
+msgstr "Registrierte Programme"
#: actions/oauthappssettings.php:135
#, php-format
msgid "You have not registered any applications yet."
-msgstr ""
+msgstr "Du hast noch keine Programme registriert"
#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
-msgstr ""
+msgstr "Verbundene Programme"
#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
+"Du hast das folgende Programm die Erlaubnis erteilt sich mit deinem Profil "
+"zu verbinden."
#: actions/oauthconnectionssettings.php:175
-#, fuzzy
msgid "You are not a user of that application."
-msgstr "Du bist kein Mitglied dieser Gruppe."
+msgstr "Du bist kein Benutzer dieses Programms."
#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
-msgstr ""
+msgstr "Kann Zugang dieses Programm nicht entfernen: "
#: actions/oauthconnectionssettings.php:198
#, php-format
msgid "You have not authorized any applications to use your account."
msgstr ""
+"Du hast noch kein Programm die Erlaubnis gegeben dein Profil zu benutzen."
#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
+"Entwickler können die Registrierungseinstellungen ihrer Programme ändern "
#: actions/oembed.php:79 actions/shownotice.php:100
msgid "Notice has no profile"
@@ -2339,10 +2393,10 @@ msgstr "Content-Typ "
#: actions/oembed.php:160
msgid "Only "
-msgstr ""
+msgstr "Nur "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Kein unterstütztes Datenformat."
@@ -2364,7 +2418,7 @@ msgstr "Verwalte zahlreiche andere Einstellungen."
#: actions/othersettings.php:108
msgid " (free service)"
-msgstr ""
+msgstr "(kostenloser Dienst)"
#: actions/othersettings.php:116
msgid "Shorten URLs with"
@@ -2391,9 +2445,8 @@ msgid "No user ID specified."
msgstr "Keine Benutzer ID angegeben"
#: actions/otp.php:83
-#, fuzzy
msgid "No login token specified."
-msgstr "Kein Profil angegeben."
+msgstr "Kein Zugangstoken angegeben."
#: actions/otp.php:90
#, fuzzy
@@ -2406,9 +2459,8 @@ msgid "Invalid login token specified."
msgstr "Token ungültig oder abgelaufen."
#: actions/otp.php:104
-#, fuzzy
msgid "Login token expired."
-msgstr "An Seite anmelden"
+msgstr "Zugangstoken ist abgelaufen."
#: actions/outbox.php:58
#, php-format
@@ -2486,13 +2538,14 @@ msgstr "Konnte neues Passwort nicht speichern"
msgid "Password saved."
msgstr "Passwort gespeichert."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
-msgstr ""
+msgstr "Pfad"
#: actions/pathsadminpanel.php:70
msgid "Path and server settings for this StatusNet site."
-msgstr ""
+msgstr "Pfad- und Serverangaben für diese StatusNet Seite."
#: actions/pathsadminpanel.php:157
#, php-format
@@ -2512,14 +2565,13 @@ msgstr "Hintergrund Verzeichnis ist nicht beschreibbar: %s"
#: actions/pathsadminpanel.php:177
#, php-format
msgid "Locales directory not readable: %s"
-msgstr ""
+msgstr "Sprachverzeichnis nicht lesbar: %s"
#: actions/pathsadminpanel.php:183
msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Ungültiger SSL-Server. Die maximale Länge ist 255 Zeichen."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Seite"
@@ -2541,11 +2593,11 @@ msgstr "Seitenpfad"
#: actions/pathsadminpanel.php:246
msgid "Path to locales"
-msgstr ""
+msgstr "Sprachverzeichnis"
#: actions/pathsadminpanel.php:246
msgid "Directory path to locales"
-msgstr ""
+msgstr "Pfad zu den Sprachen"
#: actions/pathsadminpanel.php:250
msgid "Fancy URLs"
@@ -2557,15 +2609,15 @@ msgstr "Schicke URLs (lesbarer und besser zu merken) verwenden?"
#: actions/pathsadminpanel.php:259
msgid "Theme"
-msgstr ""
+msgstr "Motiv"
#: actions/pathsadminpanel.php:264
msgid "Theme server"
-msgstr ""
+msgstr "Motiv-Server"
#: actions/pathsadminpanel.php:268
msgid "Theme path"
-msgstr ""
+msgstr "Motiv-Pfad"
#: actions/pathsadminpanel.php:272
msgid "Theme directory"
@@ -2607,7 +2659,7 @@ msgstr "Hintergrund Verzeichnis"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nie"
@@ -2663,11 +2715,11 @@ msgstr "Ungültiger Personen-Tag: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Benutzer die sich selbst mit %1$s getagged haben - Seite %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ungültiger Nachrichteninhalt"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2694,7 +2746,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 Kleinbuchstaben oder Ziffern, keine Sonder- oder Leerzeichen"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Vollständiger Name"
@@ -2723,7 +2775,7 @@ msgid "Bio"
msgstr "Biografie"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2741,16 +2793,16 @@ msgstr "Teile meine aktuelle Position wenn ich Nachrichten sende"
#: actions/tagother.php:209 lib/subscriptionlist.php:106
#: lib/subscriptionlist.php:108 lib/userprofile.php:209
msgid "Tags"
-msgstr "Tags"
+msgstr "Stichwörter"
#: actions/profilesettings.php:147
msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-"Tags über dich selbst (Buchstaben, Zahlen, -, ., und _) durch Kommas oder "
-"Leerzeichen getrennt"
+"Stichwörter über dich selbst (Buchstaben, Zahlen, -, ., und _) durch Kommas "
+"oder Leerzeichen getrennt"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Sprache"
@@ -2778,7 +2830,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Die Biografie ist zu lang (max. %d Zeichen)"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Keine Zeitzone ausgewählt."
@@ -2789,7 +2841,7 @@ msgstr "Die eingegebene Sprache ist zu lang (maximal 50 Zeichen)"
#: actions/profilesettings.php:253 actions/tagother.php:178
#, php-format
msgid "Invalid tag: \"%s\""
-msgstr "Ungültiger Tag: „%s“"
+msgstr "Ungültiges Stichwort: „%s“"
#: actions/profilesettings.php:306
msgid "Couldn't update user for autosubscribe."
@@ -2807,7 +2859,8 @@ msgstr "Konnte Profil nicht speichern."
msgid "Couldn't save tags."
msgstr "Konnte Tags nicht speichern."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Einstellungen gespeichert."
@@ -2820,28 +2873,28 @@ msgstr "Jenseits des Seitenlimits (%s)"
msgid "Could not retrieve public stream."
msgstr "Konnte öffentlichen Stream nicht abrufen."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Öffentliche Zeitleiste, Seite %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Öffentliche Zeitleiste"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Feed des öffentlichen Streams (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Feed des öffentlichen Streams (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Feed des öffentlichen Streams (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2850,17 +2903,19 @@ msgstr ""
"Dies ist die öffentliche Zeitlinie von %%site.name%% es wurde allerdings "
"noch nichts gepostet."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Sei der erste der etwas schreibt!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
+"Warum nicht ein [Benutzerkonto anlegen](%%action.register%%) und den ersten "
+"Beitrag abschicken!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2868,8 +2923,13 @@ msgid ""
"tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
+"Das ist %%site.name%%, ein [Mikroblogging](http://de.wikipedia.org/wiki/"
+"Mikroblogging) Dienst auf Basis der freien Software [StatusNet](http://"
+"status.net/). [Melde dich jetzt an](%%action.register%%) und tausche "
+"Nachrichten mit deinen Freunden, Familie oder Kollegen aus! ([Mehr "
+"Informationen](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2882,23 +2942,23 @@ msgstr ""
#: actions/publictagcloud.php:57
msgid "Public tag cloud"
-msgstr "Öffentliche Tag-Wolke"
+msgstr "Öffentliche Stichwort-Wolke"
#: actions/publictagcloud.php:63
#, php-format
msgid "These are most popular recent tags on %s "
-msgstr "Das sind die beliebtesten Tags auf %s "
+msgstr "Das sind die beliebtesten Stichwörter auf %s "
#: actions/publictagcloud.php:69
#, php-format
msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
msgstr ""
-"Bis jetzt hat noch niemand eine Nachricht mit dem Tag [hashtag](%%doc.tags%"
-"%) gepostet."
+"Bis jetzt hat noch niemand eine Nachricht mit dem Stichwort [hashtag](%%doc."
+"tags%%) gepostet."
#: actions/publictagcloud.php:72
msgid "Be the first to post one!"
-msgstr ""
+msgstr "Sei der Erste der etwas schreibt!"
#: actions/publictagcloud.php:75
#, php-format
@@ -2906,10 +2966,12 @@ msgid ""
"Why not [register an account](%%action.register%%) and be the first to post "
"one!"
msgstr ""
+"Warum [registrierst Du nicht einen Account](%%%%action.register%%%%) und "
+"bist der erste der eine Nachricht abschickt!"
#: actions/publictagcloud.php:134
msgid "Tag cloud"
-msgstr "Tag-Wolke"
+msgstr "Stichwort-Wolke"
#: actions/recoverpassword.php:36
msgid "You are already logged in!"
@@ -2944,14 +3006,16 @@ msgid ""
"If you have forgotten or lost your password, you can get a new one sent to "
"the email address you have stored in your account."
msgstr ""
+"Wenn du dein Passwort vergessen hast kannst du dir ein neues an deine "
+"hinterlegte Email schicken lassen."
#: actions/recoverpassword.php:158
msgid "You have been identified. Enter a new password below. "
-msgstr ""
+msgstr "Du wurdest identifiziert. Gib ein neues Passwort ein. "
#: actions/recoverpassword.php:188
msgid "Password recovery"
-msgstr ""
+msgstr "Password-Wiederherstellung"
#: actions/recoverpassword.php:191
msgid "Nickname or email address"
@@ -3045,8 +3109,7 @@ msgstr "Entschuldigung, ungültiger Bestätigungscode."
msgid "Registration successful"
msgstr "Registrierung erfolgreich"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrieren"
@@ -3072,6 +3135,8 @@ msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
+"Hier kannst du einen neuen Zugang einrichten. Danach kannst du Nachrichten "
+"und Links an deine Freunde und Kollegen schicken. "
#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
@@ -3088,7 +3153,7 @@ msgid "Same as password above. Required."
msgstr "Gleiches Passwort wie zuvor. Pflichteingabe."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-Mail"
@@ -3108,7 +3173,7 @@ msgstr "Meine Texte und Daten sind verfügbar unter"
#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
-msgstr ""
+msgstr "Creative Commons Namensnennung 3.0"
#: actions/register.php:497
msgid ""
@@ -3119,7 +3184,7 @@ msgstr ""
"Telefonnummer."
#: actions/register.php:538
-#, fuzzy, php-format
+#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
"want to...\n"
@@ -3176,7 +3241,6 @@ msgid "Remote subscribe"
msgstr "Entferntes Abonnement"
#: actions/remotesubscribe.php:124
-#, fuzzy
msgid "Subscribe to a remote user"
msgstr "Abonniere diesen Benutzer"
@@ -3197,7 +3261,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "Profil-URL bei einem anderen kompatiblen Microbloggingdienst"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Abonnieren"
@@ -3231,69 +3295,66 @@ msgid "You can't repeat your own notice."
msgstr "Du kannst deine eigene Nachricht nicht wiederholen."
#: actions/repeat.php:90
-#, fuzzy
msgid "You already repeated that notice."
-msgstr "Du hast diesen Benutzer bereits blockiert."
+msgstr "Nachricht bereits wiederholt"
-#: actions/repeat.php:114 lib/noticelist.php:656
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
-msgstr "Erstellt"
+msgstr "Wiederholt"
#: actions/repeat.php:119
-#, fuzzy
msgid "Repeated!"
-msgstr "Erstellt"
+msgstr "Wiederholt!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Antworten an %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Antworten an %1$s, Seite %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Feed der Antworten an %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Feed der Antworten an %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Feed der Nachrichten von %s (Atom)"
-#: actions/replies.php:198
-#, fuzzy, php-format
+#: actions/replies.php:199
+#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-"Dies ist die Zeitleiste für %s und Freunde aber bisher hat niemand etwas "
+"Dies ist die Zeitleiste für %1$s und Freunde aber bisher hat niemand etwas "
"gepostet."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
-#, fuzzy, php-format
+#: actions/replies.php:206
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"Du kannst [%s in seinem Profil einen Stups geben](../%s) oder [ihm etwas "
+"Du kannst [%1$s in seinem Profil einen Stups geben](../%s) oder [ihm etwas "
"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit "
"zu erregen."
@@ -3302,6 +3363,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Antworten an %1$s auf %2$s!"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Du kannst die Rollen von Nutzern dieser Seite nicht widerrufen."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "Benutzer verfügt nicht über diese Rolle."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3312,45 +3381,43 @@ msgid "You cannot sandbox users on this site."
msgstr "Du kannst diesem Benutzer keine Nachricht schicken."
#: actions/sandbox.php:72
-#, fuzzy
msgid "User is already sandboxed."
-msgstr "Dieser Benutzer hat dich blockiert."
+msgstr "Benutzer ist schon blockiert."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
-msgstr ""
+msgstr "Sitzung"
#: actions/sessionsadminpanel.php:65
-#, fuzzy
msgid "Session settings for this StatusNet site."
-msgstr "Design-Einstellungen für diese StatusNet-Website."
+msgstr "Sitzungs-Einstellungen für diese StatusNet-Website."
#: actions/sessionsadminpanel.php:175
msgid "Handle sessions"
-msgstr ""
+msgstr "Sitzung verwalten"
#: actions/sessionsadminpanel.php:177
msgid "Whether to handle sessions ourselves."
-msgstr ""
+msgstr "Sitzungsverwaltung selber übernehmen."
#: actions/sessionsadminpanel.php:181
msgid "Session debugging"
-msgstr ""
+msgstr "Sitzung untersuchen"
#: actions/sessionsadminpanel.php:183
msgid "Turn on debugging output for sessions."
-msgstr ""
+msgstr "Fehleruntersuchung für Sitzungen aktivieren"
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Site-Einstellungen speichern"
#: actions/showapplication.php:82
-#, fuzzy
msgid "You must be logged in to view an application."
-msgstr "Du musst angemeldet sein, um aus einer Gruppe auszutreten."
+msgstr "Du musst angemeldet sein, um aus dieses Programm zu betrachten."
#: actions/showapplication.php:157
#, fuzzy
@@ -3359,7 +3426,7 @@ msgstr "Nachricht hat kein Profil"
#: actions/showapplication.php:159 lib/applicationeditform.php:180
msgid "Icon"
-msgstr ""
+msgstr "Symbol"
#: actions/showapplication.php:169 actions/version.php:195
#: lib/applicationeditform.php:195
@@ -3367,36 +3434,35 @@ msgid "Name"
msgstr "Name"
#: actions/showapplication.php:178 lib/applicationeditform.php:222
-#, fuzzy
msgid "Organization"
-msgstr "Seitenerstellung"
+msgstr "Organisation"
#: actions/showapplication.php:187 actions/version.php:198
#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Beschreibung"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistiken"
#: actions/showapplication.php:203
#, php-format
msgid "Created by %1$s - %2$s access by default - %3$d users"
-msgstr ""
+msgstr "Erstellt von %1$s - %2$s Standard Zugang - %3$d Benutzer"
#: actions/showapplication.php:213
msgid "Application actions"
-msgstr ""
+msgstr "Programmaktionen"
#: actions/showapplication.php:236
msgid "Reset key & secret"
-msgstr ""
+msgstr "Schlüssel zurücksetzen"
#: actions/showapplication.php:261
msgid "Application info"
-msgstr ""
+msgstr "Programminformation"
#: actions/showapplication.php:263
msgid "Consumer key"
@@ -3408,66 +3474,66 @@ msgstr ""
#: actions/showapplication.php:273
msgid "Request token URL"
-msgstr ""
+msgstr "Anfrage-Token Adresse"
#: actions/showapplication.php:278
msgid "Access token URL"
-msgstr ""
+msgstr "Zugriffs-Token Adresse"
#: actions/showapplication.php:283
-#, fuzzy
msgid "Authorize URL"
-msgstr "Autor"
+msgstr "Autorisationadresse"
#: actions/showapplication.php:288
msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
msgstr ""
+"Hinweis: Wir unterstützen HMAC-SHA1 Signaturen. Wir unterstützen keine "
+"Klartext Signaturen."
#: actions/showapplication.php:309
-#, fuzzy
msgid "Are you sure you want to reset your consumer key and secret?"
-msgstr "Bist du sicher, dass du diese Nachricht löschen möchtest?"
+msgstr "Bist du sicher, dass du den Schlüssel zurücksetzen willst?"
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "%ss favorisierte Nachrichten"
+msgstr "%1$ss favorisierte Nachrichten, Seite %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
msgstr "Konnte Favoriten nicht abrufen."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed der Freunde von %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed der Freunde von %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed der Freunde von %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3475,7 +3541,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Dies ist ein Weg Dinge zu teilen die dir gefallen."
@@ -3485,71 +3551,71 @@ msgid "%s group"
msgstr "%s Gruppe"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "%s Gruppen-Mitglieder, Seite %d"
+msgstr "%1$s Gruppe, Seite %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Gruppenprofil"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Nachricht"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
-msgstr ""
+msgstr "Pseudonyme"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Gruppenaktionen"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Nachrichtenfeed der Gruppe %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Nachrichtenfeed der Gruppe %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Nachrichtenfeed der Gruppe %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Postausgang von %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Mitglieder"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Kein)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Alle Mitglieder"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Erstellt"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3559,7 +3625,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3572,7 +3638,7 @@ msgstr ""
"Freien Software [StatusNet](http://status.net/). Seine Mitglieder erstellen "
"kurze Nachrichten über Ihr Leben und Interessen. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administratoren"
@@ -3604,14 +3670,14 @@ msgid " tagged %s"
msgstr "Nachrichten, die mit %s getagt sind"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%s blockierte Benutzerprofile, Seite %d"
+msgstr "%1$s, Seite %2$d"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Nachrichtenfeed der Gruppe %s"
+msgstr "Nachrichtenfeed für %1$s tagged %2$s (RSS 1.0)"
#: actions/showstream.php:129
#, php-format
@@ -3634,10 +3700,10 @@ msgid "FOAF for %s"
msgstr "FOAF von %s"
#: actions/showstream.php:200
-#, fuzzy, php-format
+#, 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 "
+"Dies ist die Zeitleiste für %1$s und Freunde aber bisher hat niemand etwas "
"gepostet."
#: actions/showstream.php:205
@@ -3645,16 +3711,17 @@ msgid ""
"Seen anything interesting recently? You haven't posted any notices yet, now "
"would be a good time to start :)"
msgstr ""
+"In letzter Zeit irgendwas interessantes erlebt? Du hast noch nichts "
+"geschrieben, jetzt wäre doch ein guter Zeitpunkt los zu legen :)"
#: actions/showstream.php:207
-#, fuzzy, php-format
+#, 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 ""
-"Du kannst [%s in seinem Profil einen Stups geben](../%s) oder [ihm etwas "
-"posten](%%%%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit "
-"zu erregen."
+"Du kannst %1$s in seinem Profil einen Stups geben oder [ihm etwas posten](%%%"
+"%action.newnotice%%%%?status_textarea=%s) um seine Aufmerksamkeit zu erregen."
#: actions/showstream.php:243
#, php-format
@@ -3690,150 +3757,136 @@ msgid "User is already silenced."
msgstr "Nutzer ist bereits ruhig gestellt."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr "Grundeinstellungen für diese StatusNet Seite."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Der Seiten Name darf nicht leer sein."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Du musst eine gültige E-Mail-Adresse haben."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Unbekannte Sprache „%s“"
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Minimale Textlänge ist 140 Zeichen."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
-msgstr ""
+msgstr "Duplikatlimit muss mehr als 1 Sekunde sein"
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
-msgstr ""
+msgstr "Allgemein"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Seitenname"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Der Name deiner Seite, sowas wie \"DeinUnternehmen Mircoblog\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
-msgstr ""
+msgstr "Erstellt von"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
+"Text der für den Credit-Link im Fußbereich auf jeder Seite benutzt wird"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
-msgstr ""
+msgstr "Erstellt von Adresse"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
+"Adresse die für den Credit-Link im Fußbereich auf jeder Seite benutzt wird"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Kontakt-E-Mail-Adresse für Deine Site."
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Lokale Ansichten"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
-msgstr ""
+msgstr "Standard Zeitzone"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
-msgstr ""
+msgstr "Standard Zeitzone für die Seite (meistens UTC)."
-#: actions/siteadminpanel.php:281
-#, fuzzy
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr "Bevorzugte Sprache"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr ""
+#: actions/siteadminpanel.php:271
+msgid "Limits"
+msgstr "Limit"
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr ""
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
+msgstr "Textlimit"
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
+msgstr "Maximale Anzahl von Zeichen pro Nachricht"
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frequenz"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
+msgstr "Wiederholungslimit"
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
+"Wie lange muss ein Benutzer warten bis er eine identische Nachricht "
+"abschicken kann (in Sekunden)."
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Seitenbenachrichtigung"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Neue Nachricht"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Konnte Seitenbenachrichtigung nicht speichern"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "Maximale Länge von Systembenachrichtigungen ist 255 Zeichen"
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "Seitenbenachrichtigung"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr "Systembenachrichtigung (max. 255 Zeichen; HTML erlaubt)"
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Systemnachricht speichern"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
msgstr "SMS-Einstellungen"
@@ -3863,7 +3916,6 @@ msgid "Enter the code you received on your phone."
msgstr "Gib den Code ein, den du auf deinem Handy via SMS bekommen hast."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
msgstr "SMS-Telefonnummer"
@@ -3896,7 +3948,6 @@ msgid "That phone number already belongs to another user."
msgstr "Diese Telefonnummer wird bereits von einem anderen Benutzer verwendet."
#: actions/smssettings.php:347
-#, fuzzy
msgid ""
"A confirmation code was sent to the phone number you added. Check your phone "
"for the code and instructions on how to use it."
@@ -3935,6 +3986,66 @@ msgstr ""
msgid "No code entered"
msgstr "Kein Code eingegeben"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Hauptnavigation"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Wann sollen Statistiken zum status.net Server geschickt werden"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frequenz"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL melden"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Site-Einstellungen speichern"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Du hast dieses Profil nicht abonniert."
@@ -3946,17 +4057,15 @@ msgstr "Konnte Abonnement nicht erstellen."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Diese Aktion nimmt nur POST-Requests"
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Datei nicht gefunden."
+msgstr "Profil nicht gefunden."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Du hast dieses Profil nicht abonniert."
+msgstr "Du hast dieses OMB 0.1 Profil nicht abonniert."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4045,30 +4154,29 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Mit %1$s gekennzeichnete Nachrichten, Seite %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Nachrichten Feed für Tag %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Nachrichten Feed für Tag %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Nachrichten Feed für Tag %s (Atom)"
#: actions/tagother.php:39
-#, fuzzy
msgid "No ID argument."
-msgstr "Kein id Argument."
+msgstr "Kein ID Argument."
#: actions/tagother.php:65
#, php-format
@@ -4093,8 +4201,8 @@ msgid ""
"Tags for this user (letters, numbers, -, ., and _), comma- or space- "
"separated"
msgstr ""
-"Tags für diesen Benutzer (Buchstaben, Nummer, -, ., und _), durch Komma oder "
-"Leerzeichen getrennt"
+"Stichwörter für diesen Benutzer (Buchstaben, Nummer, -, ., und _), durch "
+"Komma oder Leerzeichen getrennt"
#: actions/tagother.php:193
msgid ""
@@ -4105,7 +4213,7 @@ msgstr ""
#: actions/tagother.php:200
msgid "Could not save tags."
-msgstr "Konnte Tags nicht speichern."
+msgstr "Konnte Stichwörter nicht speichern."
#: actions/tagother.php:236
msgid "Use this form to add tags to your subscribers or subscriptions."
@@ -4115,9 +4223,9 @@ msgstr ""
#: actions/tagrss.php:35
msgid "No such tag."
-msgstr "Tag nicht vorhanden."
+msgstr "Stichwort nicht vorhanden."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API-Methode im Aufbau."
@@ -4126,9 +4234,8 @@ msgid "You haven't blocked that user."
msgstr "Du hast diesen Benutzer nicht blockiert."
#: actions/unsandbox.php:72
-#, fuzzy
msgid "User is not sandboxed."
-msgstr "Dieser Benutzer hat dich blockiert."
+msgstr "Benutzer ist nicht blockiert."
#: actions/unsilence.php:72
msgid "User is not silenced."
@@ -4142,78 +4249,79 @@ msgstr "Keine Profil-ID in der Anfrage."
msgid "Unsubscribed"
msgstr "Abbestellt"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
-#, fuzzy, php-format
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
+#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-"Die Nachrichtenlizenz '%s' ist nicht kompatibel mit der Lizenz der Seite '%"
-"s'."
+"Die Benutzerlizenz ‘%1$s’ ist nicht kompatibel mit der Lizenz der Seite ‘%2"
+"$s’."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Benutzer"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Nutzer Einstellungen dieser StatusNet Seite."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Das Zeichenlimit der Biografie muss numerisch sein!"
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Willkommens-Nachricht ungültig. Maximale Länge sind 255 Zeichen."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
-msgstr ""
+msgstr "Ungültiges Abonnement: '%1$s' ist kein Benutzer"
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
-msgstr ""
+msgstr "Bio Limit"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
-msgstr ""
+msgstr "Maximale Länge in Zeichen der Profil Bio."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Neue Nutzer"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
-msgstr ""
+msgstr "Neue Benutzer empfangen"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Willkommens-Nachricht für neue Nutzer (maximal 255 Zeichen)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Standard Abonnement"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Neue Nutzer abonnieren automatisch diesen Nutzer"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Einladungen"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Einladungen aktivieren"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Ist es Nutzern erlaubt neue Nutzer einzuladen."
@@ -4249,9 +4357,8 @@ msgid "Reject"
msgstr "Ablehnen"
#: actions/userauthorization.php:220
-#, fuzzy
msgid "Reject this subscription"
-msgstr "%s Abonnements"
+msgstr "Abonnement ablehnen"
#: actions/userauthorization.php:232
msgid "No authorization request!"
@@ -4262,29 +4369,27 @@ msgid "Subscription authorized"
msgstr "Abonnement autorisiert"
#: actions/userauthorization.php:256
-#, fuzzy
msgid ""
"The subscription has been authorized, but no callback URL was passed. Check "
"with the site’s instructions for details on how to authorize the "
"subscription. Your subscription token is:"
msgstr ""
-"Das Abonnement wurde bestätigt, aber es wurde keine Callback-URL "
-"zurückgegeben. Lies nochmal die Anweisungen der Site, wie Abonnements "
-"bestätigt werden. Dein Abonnement-Token ist:"
+"Das Abonnement wurde bestätigt, aber es wurde keine Antwort-URL angegeben. "
+"Lies nochmal die Anweisungen auf der Seite wie Abonnements bestätigt werden. "
+"Dein Abonnement-Token ist:"
#: actions/userauthorization.php:266
msgid "Subscription rejected"
msgstr "Abonnement abgelehnt"
#: actions/userauthorization.php:268
-#, fuzzy
msgid ""
"The subscription has been rejected, but no callback URL was passed. Check "
"with the site’s instructions for details on how to fully reject the "
"subscription."
msgstr ""
"Das Abonnement wurde abgelehnt, aber es wurde keine Callback-URL "
-"zurückgegeben. Lies nochmal die Anweisungen der Site, wie Abonnements "
+"zurückgegeben. Lies nochmal die Anweisungen der Seite, wie Abonnements "
"vollständig abgelehnt werden. Dein Abonnement-Token ist:"
#: actions/userauthorization.php:303
@@ -4305,7 +4410,7 @@ msgstr ""
#: actions/userauthorization.php:329
#, php-format
msgid "Profile URL ‘%s’ is for a local user."
-msgstr ""
+msgstr "Profiladresse '%s' ist für einen lokalen Benutzer."
#: actions/userauthorization.php:345
#, php-format
@@ -4331,34 +4436,43 @@ msgid ""
"Customize the way your profile looks with a background image and a colour "
"palette of your choice."
msgstr ""
+"Stelle ein wie deine Profilseite aussehen soll. Hintergrundbild und "
+"Farbpalette sind frei wählbar."
#: actions/userdesignsettings.php:282
msgid "Enjoy your hotdog!"
-msgstr ""
+msgstr "Hab Spaß!"
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "%s Gruppen-Mitglieder, Seite %d"
+msgstr "%1$s Gruppen, Seite %2$d"
#: actions/usergroups.php:130
msgid "Search for more groups"
msgstr "Suche nach weiteren Gruppen"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s ist in keiner Gruppe Mitglied."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+"Versuche [Gruppen zu finden](%%action.groupsearch%%) und diesen beizutreten."
+
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Aktualisierungen von %1$s auf %2$s!"
#: actions/version.php:73
-#, fuzzy, php-format
+#, php-format
msgid "StatusNet %s"
-msgstr "Statistiken"
+msgstr "StatusNet %s"
#: actions/version.php:153
#, php-format
@@ -4366,10 +4480,12 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
+"Die Seite wird mit %1$s Version %2$s betrieben. Copyright 2008-2010 "
+"StatusNet, Inc. und Mitarbeiter"
#: actions/version.php:161
msgid "Contributors"
-msgstr ""
+msgstr "Mitarbeiter"
#: actions/version.php:168
msgid ""
@@ -4378,6 +4494,10 @@ msgid ""
"Software Foundation, either version 3 of the License, or (at your option) "
"any later version. "
msgstr ""
+"StatusNet ist freie Software: Sie dürfen es weiter verteilen und/oder "
+"verändern unter Berücksichtigung der Regeln zur GNU General Public License "
+"wie veröffentlicht durch die Free Software Foundation, entweder Version 3 "
+"der Lizenz, oder jede höhere Version."
#: actions/version.php:174
msgid ""
@@ -4393,20 +4513,20 @@ msgid ""
"You should have received a copy of the GNU Affero General Public License "
"along with this program. If not, see %s."
msgstr ""
+"Du hast eine Kopie der GNU Affero General Public License zusammen mit diesem "
+"Programm erhalten. Wenn nicht, siehe %s."
#: actions/version.php:189
msgid "Plugins"
-msgstr ""
+msgstr "Erweiterungen"
-#: actions/version.php:196 lib/action.php:747
-#, fuzzy
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
-msgstr "Eigene"
+msgstr "Version"
#: actions/version.php:197
-#, fuzzy
msgid "Author(s)"
-msgstr "Autor"
+msgstr "Autor(en)"
#: classes/File.php:144
#, php-format
@@ -4414,31 +4534,36 @@ msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
+"Keine Datei darf größer als %d Bytes sein und die Datei die du verschicken "
+"wolltest ist %d Bytes groß. Bitte eine kleinere Datei hoch laden."
#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
-msgstr ""
+msgstr "Eine Datei dieser Größe überschreitet deine User Quota von %d Byte."
#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+"Eine Datei dieser Größe würde deine monatliche Quota von %d Byte "
+"überschreiten."
#: classes/Group_member.php:41
-#, fuzzy
msgid "Group join failed."
-msgstr "Gruppenprofil"
+msgstr "Konnte Gruppe nicht beitreten"
#: classes/Group_member.php:53
-#, fuzzy
msgid "Not part of group."
-msgstr "Konnte Gruppe nicht aktualisieren."
+msgstr "Nicht Mitglied der Gruppe"
#: classes/Group_member.php:60
-#, fuzzy
msgid "Group leave failed."
-msgstr "Gruppenprofil"
+msgstr "Konnte Gruppe nicht verlassen"
+
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Konnte Gruppe nicht aktualisieren."
#: classes/Login_token.php:76
#, fuzzy, php-format
@@ -4446,9 +4571,8 @@ msgid "Could not create login token for %s"
msgstr "Konnte keinen Favoriten erstellen."
#: classes/Message.php:45
-#, fuzzy
msgid "You are banned from sending direct messages."
-msgstr "Fehler beim Senden der Nachricht"
+msgstr "Direktes senden von Nachrichten wurde blockiert"
#: classes/Message.php:61
msgid "Could not insert message."
@@ -4458,28 +4582,27 @@ msgstr "Konnte Nachricht nicht einfügen."
msgid "Could not update message with new URI."
msgstr "Konnte Nachricht nicht mit neuer URI versehen."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Datenbankfehler beim Einfügen des Hashtags: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problem bei Speichern der Nachricht. Sie ist zu lang."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problem bei Speichern der Nachricht. Unbekannter Benutzer."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Zu schnell zu viele Nachrichten; atme kurz durch und schicke sie erneut in "
"ein paar Minuten ab."
-#: classes/Notice.php:237
-#, fuzzy
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4487,24 +4610,23 @@ msgstr ""
"Zu schnell zu viele Nachrichten; atme kurz durch und schicke sie erneut in "
"ein paar Minuten ab."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
"Du wurdest für das Schreiben von Nachrichten auf dieser Seite gesperrt."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problem bei Speichern der Nachricht."
-#: classes/Notice.php:882
-#, fuzzy
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problem bei Speichern der Nachricht."
-#: classes/Notice.php:1407
-#, fuzzy, php-format
+#: classes/Notice.php:1459
+#, php-format
msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
#: classes/Subscription.php:66 lib/oauthstore.php:465
msgid "You have been banned from subscribing."
@@ -4524,27 +4646,40 @@ msgid "Not subscribed!"
msgstr "Nicht abonniert!"
#: classes/Subscription.php:163
-#, fuzzy
msgid "Couldn't delete self-subscription."
msgstr "Konnte Abonnement nicht löschen."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Konnte OMB-Abonnement nicht löschen."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Konnte Abonnement nicht löschen."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Herzlich willkommen bei %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Konnte Gruppe nicht erstellen."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Konnte Gruppenmitgliedschaft nicht setzen."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Konnte Gruppenmitgliedschaft nicht setzen."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Konnte Abonnement nicht erstellen."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Ändern der Profileinstellungen"
@@ -4562,9 +4697,8 @@ msgid "Change email handling"
msgstr "Ändere die E-Mail-Verarbeitung"
#: lib/accountsettingsaction.php:124
-#, fuzzy
msgid "Design your profile"
-msgstr "Benutzerprofil"
+msgstr "Passe dein Profil an"
#: lib/accountsettingsaction.php:128
msgid "Other"
@@ -4575,135 +4709,178 @@ msgid "Other options"
msgstr "Sonstige Optionen"
#: lib/action.php:144
-#, fuzzy, php-format
+#, php-format
msgid "%1$s - %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "%1$s - %2$s"
#: lib/action.php:159
msgid "Untitled page"
msgstr "Seite ohne Titel"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Hauptnavigation"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Startseite"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Persönliches Profil und Freundes-Zeitleiste"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Eigene"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
-msgstr "Ändere deine E-Mail, dein Avatar, Passwort, Profil"
+msgstr "Ändere deine E-Mail, Avatar, Passwort und Profil"
+
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr "Zum Dienst verbinden"
-#: lib/action.php:444
+#: lib/action.php:443
msgid "Connect"
msgstr "Verbinden"
-#: lib/action.php:444
-#, fuzzy
-msgid "Connect to services"
-msgstr "Konnte nicht zum Server umleiten: %s"
-
-#: lib/action.php:448
-#, fuzzy
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
-msgstr "Hauptnavigation"
+msgstr "Seiteneinstellung ändern"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Einladen"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrator"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Lade Freunde und Kollegen ein dir auf %s zu folgen"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Abmelden"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Einladen"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Von der Seite abmelden"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Abmelden"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Neues Konto erstellen"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrieren"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Auf der Seite anmelden"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Hilfe"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Anmelden"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Hilf mir!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Suchen"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Hilfe"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Suche nach Leuten oder Text"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Suchen"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Seitennachricht"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Lokale Ansichten"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Neue Nachricht"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Unternavigation"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Hilfe"
+
+#: lib/action.php:754
msgid "About"
msgstr "Ãœber"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "AGB"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privatsphäre"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Quellcode"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
-#, fuzzy
+#: lib/action.php:771
msgid "Badge"
-msgstr "Stups"
+msgstr "Plakette"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet-Software-Lizenz"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4712,12 +4889,12 @@ msgstr ""
"**%%site.name%%** ist ein Microbloggingdienst von [%%site.broughtby%%](%%"
"site.broughtbyurl%%)."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** ist ein Microbloggingdienst."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4728,154 +4905,182 @@ msgstr ""
"(Version %s) betrieben, die unter der [GNU Affero General Public License]"
"(http://www.fsf.org/licensing/licenses/agpl-3.0.html) erhältlich ist."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "StatusNet-Software-Lizenz"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
+"Inhalt und Daten urheberrechtlich geschützt durch %1$s. Alle Rechte "
+"vorbehalten."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
-#, fuzzy
+#: lib/action.php:847
msgid "All "
msgstr "Alle "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "Lizenz."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Seitenerstellung"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Später"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Vorher"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Kann eingebundenen XML Inhalt nicht verarbeiten."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
-msgstr "Du kannst diesem Benutzer keine Nachricht schicken."
+msgstr "Du kannst keine Änderungen an dieser Seite vornehmen."
-#: lib/adminpanelaction.php:107
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
-msgstr "Registrierung nicht gestattet"
+msgstr "Änderungen an dieser Seite sind nicht erlaubt."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() noch nicht implementiert."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() noch nicht implementiert."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Konnte die Design Einstellungen nicht löschen."
-#: lib/adminpanelaction.php:312
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
-msgstr "Bestätigung der E-Mail-Adresse"
+msgstr "Basis Seiteneinstellungen"
-#: lib/adminpanelaction.php:317
-#, fuzzy
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Seite"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
-msgstr "SMS-Konfiguration"
+msgstr "Motiv-Konfiguration"
-#: lib/adminpanelaction.php:322
-#, fuzzy
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Design"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
-msgstr "SMS-Konfiguration"
+msgstr "Benutzereinstellung"
-#: lib/adminpanelaction.php:327
-#, fuzzy
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Benutzer"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
-msgstr "SMS-Konfiguration"
+msgstr "Zugangskonfiguration"
-#: lib/adminpanelaction.php:332
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
-msgstr "SMS-Konfiguration"
+msgstr "Pfadkonfiguration"
-#: lib/adminpanelaction.php:337
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
+msgstr "Sitzungseinstellungen"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Seitennachricht bearbeiten"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
msgstr "SMS-Konfiguration"
-#: lib/apiauth.php:95
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, 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 ""
+msgstr "Programm bearbeiten"
#: lib/applicationeditform.php:184
msgid "Icon for this application"
-msgstr ""
+msgstr "Programmsymbol"
#: lib/applicationeditform.php:204
-#, fuzzy, php-format
+#, php-format
msgid "Describe your application in %d characters"
-msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
+msgstr "Beschreibe dein Programm in %d Zeichen"
#: lib/applicationeditform.php:207
-#, fuzzy
msgid "Describe your application"
-msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
+msgstr "Beschreibe dein Programm"
#: lib/applicationeditform.php:216
-#, fuzzy
msgid "Source URL"
-msgstr "Quellcode"
+msgstr "Quelladresse"
#: lib/applicationeditform.php:218
-#, fuzzy
msgid "URL of the homepage of this application"
-msgstr "URL der Homepage oder Blogs der Gruppe oder des Themas"
+msgstr "Adresse der Homepage dieses Programms"
#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
msgstr ""
#: lib/applicationeditform.php:230
-#, fuzzy
msgid "URL for the homepage of the organization"
-msgstr "URL der Homepage oder Blogs der Gruppe oder des Themas"
+msgstr "Homepage der Gruppe oder des Themas"
#: lib/applicationeditform.php:236
msgid "URL to redirect to after authentication"
@@ -4883,30 +5088,31 @@ msgstr ""
#: lib/applicationeditform.php:258
msgid "Browser"
-msgstr ""
+msgstr "Browser"
#: lib/applicationeditform.php:274
msgid "Desktop"
-msgstr ""
+msgstr "Arbeitsfläche"
#: lib/applicationeditform.php:275
msgid "Type of application, browser or desktop"
-msgstr ""
+msgstr "Typ der Anwendung, Browser oder Arbeitsfläche"
#: lib/applicationeditform.php:297
msgid "Read-only"
-msgstr ""
+msgstr "Schreibgeschützt"
#: lib/applicationeditform.php:315
msgid "Read-write"
-msgstr ""
+msgstr "Lese/Schreibzugriff"
#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
msgstr ""
+"Standardeinstellung dieses Programms: Schreibgeschützt oder Lese/"
+"Schreibzugriff"
#: lib/applicationlist.php:154
-#, fuzzy
msgid "Revoke"
msgstr "Entfernen"
@@ -4928,17 +5134,15 @@ msgstr "Nachrichten in denen dieser Anhang erscheint"
#: lib/attachmenttagcloudsection.php:48
msgid "Tags for this attachment"
-msgstr "Tags für diesen Anhang"
+msgstr "Stichworte für diesen Anhang"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
-#, fuzzy
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
-msgstr "Passwort geändert"
+msgstr "Passwort konnte nicht geändert werden"
-#: lib/authenticationplugin.php:233
-#, fuzzy
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
-msgstr "Passwort geändert"
+msgstr "Passwort kann nicht geändert werden"
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
@@ -4963,12 +5167,12 @@ msgstr "Die bestätigte E-Mail-Adresse konnte nicht gespeichert werden."
#: lib/command.php:92
msgid "It does not make a lot of sense to nudge yourself!"
-msgstr ""
+msgstr "Es macht keinen Sinn dich selbst anzustupsen!"
#: lib/command.php:99
-#, fuzzy, php-format
+#, php-format
msgid "Nudge sent to %s"
-msgstr "Stups abgeschickt"
+msgstr "Stups an %s geschickt"
#: lib/command.php:126
#, php-format
@@ -4977,6 +5181,9 @@ msgid ""
"Subscribers: %2$s\n"
"Notices: %3$s"
msgstr ""
+"Abonnements: %1$s\n"
+"Abonnenten: %2$s\n"
+"Mitteilungen: %3$s"
#: lib/command.php:152 lib/command.php:390 lib/command.php:451
msgid "Notice with that id does not exist"
@@ -5020,12 +5227,12 @@ msgstr "%s hat die Gruppe %s verlassen"
msgid "Fullname: %s"
msgstr "Vollständiger Name: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Standort: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Homepage: %s"
@@ -5058,19 +5265,18 @@ msgid "Already repeated that notice"
msgstr "Nachricht bereits wiederholt"
#: lib/command.php:426
-#, fuzzy, php-format
+#, php-format
msgid "Notice from %s repeated"
-msgstr "Nachricht hinzugefügt"
+msgstr "Nachricht von %s wiederholt"
#: lib/command.php:428
-#, fuzzy
msgid "Error repeating notice."
-msgstr "Problem beim Speichern der Nachricht."
+msgstr "Fehler beim Wiederholen der Nachricht"
#: lib/command.php:482
-#, fuzzy, php-format
+#, php-format
msgid "Notice too long - maximum is %d characters, you sent %d"
-msgstr "Nachricht zu lange - maximal 140 Zeichen erlaubt, du hast %s gesendet"
+msgstr "Nachricht zu lange - maximal %d Zeichen erlaubt, du hast %d gesendet"
#: lib/command.php:491
#, php-format
@@ -5125,22 +5331,21 @@ msgstr "Konnte Benachrichtigung nicht aktivieren."
#: lib/command.php:654
msgid "Login command is disabled"
-msgstr ""
+msgstr "Anmeldung ist abgeschaltet"
#: lib/command.php:665
#, php-format
msgid "This link is useable only once, and is good for only 2 minutes: %s"
-msgstr ""
+msgstr "Der Link ist nur einmal benutzbar und für eine Dauer von 2 Minuten: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
msgstr "%s nicht mehr abonniert"
#: lib/command.php:709
-#, fuzzy
msgid "You are not subscribed to anyone."
-msgstr "Du hast dieses Profil nicht abonniert."
+msgstr "Du hast niemanden abonniert."
#: lib/command.php:711
msgid "You are subscribed to this person:"
@@ -5210,22 +5415,21 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Keine Konfigurationsdatei gefunden."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Ich habe an folgenden Stellen nach Konfigurationsdateien gesucht: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
-msgstr ""
+msgstr "Bitte die Installation erneut starten um das Problem zu beheben."
-#: lib/common.php:140
-#, fuzzy
+#: lib/common.php:152
msgid "Go to the installer."
-msgstr "Auf der Seite anmelden"
+msgstr "Zur Installation gehen."
#: lib/connectsettingsaction.php:110
msgid "IM"
@@ -5240,13 +5444,12 @@ msgid "Updates by SMS"
msgstr "Aktualisierungen via SMS"
#: lib/connectsettingsaction.php:120
-#, fuzzy
msgid "Connections"
-msgstr "Verbinden"
+msgstr "Verbindungen"
#: lib/connectsettingsaction.php:121
msgid "Authorized connected applications"
-msgstr ""
+msgstr "Programme mit Zugriffserlaubnis"
#: lib/dberroraction.php:60
msgid "Database error"
@@ -5265,15 +5468,13 @@ msgstr ""
#: lib/designsettings.php:418
msgid "Design defaults restored."
-msgstr ""
+msgstr "Standard Design wieder hergestellt."
#: lib/disfavorform.php:114 lib/disfavorform.php:140
-#, fuzzy
msgid "Disfavor this notice"
msgstr "Aus Favoriten entfernen"
#: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
msgid "Favor this notice"
msgstr "Zu den Favoriten hinzufügen"
@@ -5303,44 +5504,45 @@ msgstr "Daten exportieren"
#: lib/galleryaction.php:121
msgid "Filter tags"
-msgstr "Tags filtern"
+msgstr "Stichworte filtern"
#: lib/galleryaction.php:131
msgid "All"
msgstr "Alle"
#: lib/galleryaction.php:139
-#, fuzzy
msgid "Select tag to filter"
-msgstr "Wähle einen Netzanbieter"
+msgstr "Wähle ein Stichwort, um die Liste einzuschränken"
#: lib/galleryaction.php:140
msgid "Tag"
-msgstr "Tag"
+msgstr "Stichwort"
#: lib/galleryaction.php:141
-#, fuzzy
msgid "Choose a tag to narrow list"
-msgstr "Wähle einen Tag, um die Liste einzuschränken"
+msgstr "Wähle ein Stichwort, um die Liste einzuschränken"
#: lib/galleryaction.php:143
msgid "Go"
msgstr "Los geht's"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Teile dem Benutzer die \"%s\" Rolle zu"
+
#: lib/groupeditform.php:163
-#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
-msgstr "URL der Homepage oder Blogs der Gruppe oder des Themas"
+msgstr "Adresse der Homepage oder Blogs der Gruppe oder des Themas"
#: lib/groupeditform.php:168
-#, fuzzy
msgid "Describe the group or topic"
-msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
+msgstr "Beschreibe die Gruppe oder das Thema"
#: lib/groupeditform.php:170
-#, fuzzy, php-format
+#, php-format
msgid "Describe the group or topic in %d characters"
-msgstr "Beschreibe die Gruppe oder das Thema in 140 Zeichen"
+msgstr "Beschreibe die Gruppe oder das Thema in %d Zeichen"
#: lib/groupeditform.php:179
msgid ""
@@ -5396,7 +5598,7 @@ msgstr "Gruppen mit den meisten Beiträgen"
#: lib/grouptagcloudsection.php:56
#, php-format
msgid "Tags in %s group's notices"
-msgstr "Tags in den Nachrichten der Gruppe %s"
+msgstr "Stichworte in den Nachrichten der Gruppe %s"
#: lib/htmloutputter.php:103
msgid "This page is not available in a media type you accept"
@@ -5419,23 +5621,23 @@ msgstr "Systemfehler beim hochladen der Datei."
msgid "Not an image or corrupt file."
msgstr "Kein Bild oder defekte Datei."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Bildformat wird nicht unterstützt."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Daten verloren."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Unbekannter Dateityp"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5465,11 +5667,11 @@ msgstr "Mit Nutzernamen und Passwort anmelden"
msgid "Sign up for a new account"
msgstr "Registriere ein neues Nutzerkonto"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Bestätigung der E-Mail-Adresse"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5499,12 +5701,12 @@ msgstr ""
"Vielen Dank!\n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s hat deine Nachrichten auf %2$s abonniert."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5530,17 +5732,17 @@ msgstr ""
"Du kannst Deine E-Mail-Adresse und die Benachrichtigungseinstellungen auf %8"
"$s ändern.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Biografie: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Neue E-Mail-Adresse um auf %s zu schreiben"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5561,21 +5763,21 @@ msgstr ""
"Viele Grüße,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s Status"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS-Konfiguration"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Du wurdest von %s angestupst"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5602,12 +5804,12 @@ msgstr ""
"Mit freundlichen Grüßen,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Neue private Nachricht von %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5640,12 +5842,12 @@ msgstr ""
"Mit freundlichen Grüßen,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) hat deine Nachricht als Favorit gespeichert"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5666,12 +5868,13 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
+"%s (@%s) hat dir eine Nachricht gesendet um deine Aufmerksamkeit zu erlangen"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5762,11 +5965,11 @@ msgstr "Upload der Datei wurde wegen der Dateiendung gestoppt."
#: lib/mediafile.php:179 lib/mediafile.php:216
msgid "File exceeds user's quota."
-msgstr ""
+msgstr "Dateigröße liegt über dem Benutzerlimit"
#: lib/mediafile.php:196 lib/mediafile.php:233
msgid "File could not be moved to destination directory."
-msgstr ""
+msgstr "Datei konnte nicht in das Zielverzeichnis verschoben werden."
#: lib/mediafile.php:201 lib/mediafile.php:237
#, fuzzy
@@ -5776,12 +5979,12 @@ msgstr "Konnte öffentlichen Stream nicht abrufen."
#: lib/mediafile.php:270
#, php-format
msgid " Try using another %s format."
-msgstr ""
+msgstr "Versuche ein anderes %s Format."
#: lib/mediafile.php:275
#, php-format
msgid "%s is not a supported file type on this server."
-msgstr ""
+msgstr "%s ist kein unterstütztes Dateiformat auf diesem Server."
#: lib/messageform.php:120
msgid "Send a direct notice"
@@ -5795,6 +5998,11 @@ msgstr "An"
msgid "Available characters"
msgstr "Verfügbare Zeichen"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Senden"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Nachricht senden"
@@ -5806,11 +6014,11 @@ msgstr "Was ist los, %s?"
#: lib/noticeform.php:192
msgid "Attach"
-msgstr ""
+msgstr "Anhängen"
#: lib/noticeform.php:196
msgid "Attach a file"
-msgstr ""
+msgstr "Datei anhängen"
#: lib/noticeform.php:212
msgid "Share my location"
@@ -5825,6 +6033,8 @@ msgid ""
"Sorry, retrieving your geo location is taking longer than expected, please "
"try again later"
msgstr ""
+"Es tut uns Leid, aber die Abfrage deiner GPS Position hat zu lange gedauert. "
+"Bitte versuche es später wieder."
#: lib/noticelist.php:429
#, php-format
@@ -5849,25 +6059,25 @@ msgstr "W"
#: lib/noticelist.php:438
msgid "at"
-msgstr ""
+msgstr "in"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "im Zusammenhang"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Wiederholt von"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Auf diese Nachricht antworten"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Antworten"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Nachricht wiederholt"
@@ -5896,9 +6106,8 @@ msgid "Error inserting remote profile"
msgstr "Fehler beim Einfügen des entfernten Profils"
#: lib/oauthstore.php:345
-#, fuzzy
msgid "Duplicate notice"
-msgstr "Notiz löschen"
+msgstr "Doppelte Nachricht"
#: lib/oauthstore.php:490
msgid "Couldn't insert new subscription."
@@ -5935,14 +6144,13 @@ msgstr "Deine gesendeten Nachrichten"
#: lib/personaltagcloudsection.php:56
#, php-format
msgid "Tags in %s's notices"
-msgstr "Tags in %ss Nachrichten"
+msgstr "Stichworte in %ss Nachrichten"
#: lib/plugin.php:114
-#, fuzzy
msgid "Unknown"
msgstr "Unbekannter Befehl"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Abonnements"
@@ -5950,23 +6158,23 @@ msgstr "Abonnements"
msgid "All subscriptions"
msgstr "Alle Abonnements"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Abonnenten"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Alle Abonnenten"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "Nutzer ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Mitglied seit"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Alle Gruppen"
@@ -5977,7 +6185,7 @@ msgstr "Kein id Argument."
#: lib/profileformaction.php:137
msgid "Unimplemented method."
-msgstr ""
+msgstr "Nicht unterstützte Methode."
#: lib/publicgroupnav.php:78
msgid "Public"
@@ -5989,15 +6197,15 @@ msgstr "Benutzer-Gruppen"
#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
msgid "Recent tags"
-msgstr "Aktuelle Tags"
+msgstr "Aktuelle Stichworte"
#: lib/publicgroupnav.php:88
msgid "Featured"
-msgstr "Featured"
+msgstr "Beliebte Benutzer"
#: lib/publicgroupnav.php:92
msgid "Popular"
-msgstr "Beliebt"
+msgstr "Beliebte Beiträge"
#: lib/repeatform.php:107
msgid "Repeat this notice?"
@@ -6007,7 +6215,12 @@ msgstr "Diese Nachricht wiederholen?"
msgid "Repeat this notice"
msgstr "Diese Nachricht wiederholen"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Widerrufe die \"%s\" Rolle von diesem Benutzer"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6025,12 +6238,15 @@ msgstr "Site durchsuchen"
#: lib/searchaction.php:126
msgid "Keyword(s)"
-msgstr ""
+msgstr "Stichwort/Stichwörter"
+
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Suchen"
#: lib/searchaction.php:162
-#, fuzzy
msgid "Search help"
-msgstr "Suchen"
+msgstr "Hilfe suchen"
#: lib/searchgroupnav.php:80
msgid "People"
@@ -6054,7 +6270,7 @@ msgstr "Abschnitt ohne Titel"
#: lib/section.php:106
msgid "More..."
-msgstr ""
+msgstr "Mehr..."
#: lib/silenceform.php:67
msgid "Silence"
@@ -6079,6 +6295,15 @@ msgstr "Leute, die %s abonniert haben"
msgid "Groups %s is a member of"
msgstr "Gruppen in denen %s Mitglied ist"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Einladen"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Lade Freunde und Kollegen ein dir auf %s zu folgen"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6149,47 +6374,61 @@ msgstr "Nachricht"
msgid "Moderate"
msgstr "Moderieren"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Benutzerrolle"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administrator"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderator"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "vor wenigen Sekunden"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "vor einer Minute"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "vor %d Minuten"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "vor einer Stunde"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "vor %d Stunden"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "vor einem Tag"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "vor %d Tagen"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "vor einem Monat"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "vor %d Monaten"
-#: lib/util.php:970
+#: lib/util.php:1033
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 6ff718d45..0ebe84fe7 100644
--- a/locale/el/LC_MESSAGES/statusnet.po
+++ b/locale/el/LC_MESSAGES/statusnet.po
@@ -9,78 +9,85 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:24+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:37+0000\n"
"Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "ΠÏόσβαση"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Ρυθμίσεις OpenID"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "ΠεÏιγÏαφή"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr ""
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
+msgctxt "LABEL"
+msgid "Private"
msgstr ""
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:173
-msgid "Closed"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
msgstr ""
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
msgstr ""
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Ρυθμίσεις OpenID"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "ΑποχώÏηση"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Δεν υπάÏχει τέτοια σελίδα"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -94,72 +101,82 @@ msgstr "Δεν υπάÏχει τέτοια σελίδα"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Κανένας τέτοιος χÏήστης."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s και οι φίλοι του/της"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s και οι φίλοι του/της"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Ροή φίλων του/της %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Ροή φίλων του/της %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Ροή φίλων του/της %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Εσείς και οι φίλοι σας"
@@ -177,20 +194,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Η μέθοδος του ΑΡΙ δε βÏέθηκε!"
@@ -224,8 +241,9 @@ msgstr "Απέτυχε η ενημέÏωση του χÏήστη."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr ""
@@ -250,7 +268,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -366,68 +384,68 @@ msgstr "Απέτυχε η ενημέÏωση του χÏήστη."
msgid "Could not find target user."
msgstr "Απέτυχε η εÏÏεση οποιασδήποτε κατάστασης."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Το ψευδώνυμο Ï€Ïέπει να έχει μόνο πεζοÏÏ‚ χαÏακτήÏες και χωÏίς κενά."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Το ψευδώνυμο είναι ήδη σε χÏήση. Δοκιμάστε κάποιο άλλο."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr ""
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Η αÏχική σελίδα δεν είναι έγκυÏο URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Το ονοματεπώνυμο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ (μέγιστο 255 χαÏακτ.)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Η πεÏιγÏαφή είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· (μέγιστο %d χαÏακτ.)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Η τοποθεσία είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î· (μέγιστο 255 χαÏακτ.)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr ""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Το ψευδώνυμο είναι ήδη σε χÏήση. Δοκιμάστε κάποιο άλλο."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -438,15 +456,15 @@ msgstr ""
msgid "Group not found!"
msgstr "Η ομάδα δεν βÏέθηκε!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr ""
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏιών του Ï€Ïοφίλ"
@@ -455,7 +473,7 @@ msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏÎ
msgid "You are not a member of this group."
msgstr ""
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
@@ -487,7 +505,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -530,7 +548,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -553,13 +571,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "ΛογαÏιασμός"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -642,18 +660,6 @@ msgstr ""
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr ""
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "χÏονοδιάγÏαμμα του χÏήστη %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -664,12 +670,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -684,12 +690,12 @@ msgstr ""
msgid "Repeats of %s"
msgstr ""
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr ""
@@ -705,8 +711,7 @@ msgstr ""
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr ""
@@ -718,7 +723,7 @@ msgstr ""
msgid "Invalid size."
msgstr ""
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr ""
@@ -730,35 +735,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Ρυθμίσεις του άβαταÏ"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "ΔιαγÏαφή"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr ""
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -766,7 +771,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -800,23 +805,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Όχι"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Îαι"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr ""
@@ -824,40 +829,44 @@ msgstr ""
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s και οι φίλοι του/της"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr ""
@@ -914,7 +923,7 @@ msgid "Conversation"
msgstr "Συζήτηση"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr ""
@@ -936,7 +945,7 @@ msgstr "Ομάδες με τα πεÏισσότεÏα μέλη"
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -962,12 +971,13 @@ msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος
msgid "Delete this application"
msgstr "ΠεÏιγÏάψτε την ομάδα ή το θέμα"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr ""
@@ -996,7 +1006,7 @@ msgstr "Είσαι σίγουÏος ότι θες να διαγÏάψεις αυ
msgid "Do not delete this notice"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr ""
@@ -1013,18 +1023,18 @@ msgstr ""
msgid "Delete user"
msgstr "ΔιαγÏαφή χÏήστη"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "ΔιαγÏάψτε αυτόν τον χÏήστη"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1128,6 +1138,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr ""
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1227,31 +1249,31 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr ""
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr ""
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "Το βιογÏαφικό είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ (μέγιστο 140 χαÏακτ.)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr ""
@@ -1372,7 +1394,7 @@ msgid "Cannot normalize that email address"
msgstr "Αδυναμία κανονικοποίησης αυτής της email διεÏθυνσης"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr ""
@@ -1564,6 +1586,24 @@ msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
msgid "Cannot read file."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Μήνυμα"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Ομάδες με τα πεÏισσότεÏα μέλη"
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr ""
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1593,7 +1633,7 @@ msgstr ""
msgid "User is not a member of group."
msgstr ""
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr ""
@@ -1625,95 +1665,101 @@ msgstr ""
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Απέτυχε η ενημέÏωση του χÏήστη."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "Οι Ï€Ïοτιμήσεις αποθηκεÏτηκαν"
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr ""
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr ""
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "ΑποσÏνδεση"
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr ""
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "ΔιαχειÏιστής"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
#, fuzzy
msgid "Make Admin"
msgstr "ΔιαχειÏιστής"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "χÏονοδιάγÏαμμα του χÏήστη %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr ""
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr ""
@@ -1953,16 +1999,18 @@ msgstr ""
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr ""
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1997,7 +2045,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Μήνυμα"
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -2006,11 +2059,11 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr ""
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr ""
@@ -2027,8 +2080,7 @@ msgstr "Λάθος όνομα χÏήστη ή κωδικός"
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "ΣÏνδεση"
@@ -2276,8 +2328,8 @@ msgstr "ΣÏνδεση"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2423,7 +2475,8 @@ msgstr "ΑδÏνατη η αποθήκευση του νέου κωδικοÏ"
msgid "Password saved."
msgstr "Ο κωδικός αποθηκεÏτηκε."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2456,7 +2509,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2549,7 +2601,7 @@ msgstr ""
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "ΑποχώÏηση"
@@ -2604,11 +2656,11 @@ msgstr ""
msgid "Users self-tagged with %1$s - page %2$d"
msgstr ""
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr ""
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2631,7 +2683,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 μικÏά γÏάμματα ή αÏιθμοί, χωÏίς σημεία στίξης ή κενά"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Ονοματεπώνυμο"
@@ -2660,7 +2712,7 @@ msgid "Bio"
msgstr "ΒιογÏαφικό"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2685,7 +2737,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr ""
@@ -2714,7 +2766,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Το βιογÏαφικό είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ (μέγιστο 140 χαÏακτ.)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2745,7 +2797,8 @@ msgstr "Απέτυχε η αποθήκευση του Ï€Ïοφίλ."
msgid "Couldn't save tags."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr ""
@@ -2758,46 +2811,46 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr ""
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Δημόσια Ïοή %s"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2806,7 +2859,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2977,8 +3030,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -3017,7 +3069,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
@@ -3122,7 +3174,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr ""
@@ -3161,7 +3213,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "ΔημιουÏγία"
@@ -3171,47 +3223,47 @@ msgstr "ΔημιουÏγία"
msgid "Repeated!"
msgstr "ΔημιουÏγία"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr ""
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr ""
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Ροή φίλων του/της %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Ροή φίλων του/της %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Ροή φίλων του/της %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3223,6 +3275,15 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Απέτυχε η ενημέÏωση του χÏήστη."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr ""
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3236,8 +3297,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3261,8 +3323,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Ρυθμίσεις OpenID"
@@ -3295,8 +3357,8 @@ msgstr "ΠÏοσκλήσεις"
msgid "Description"
msgstr "ΠεÏιγÏαφή"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr ""
@@ -3357,35 +3419,35 @@ msgstr "%s και οι φίλοι του/της"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Ροή φίλων του/της %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Ροή φίλων του/της %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Ροή φίλων του/της %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3393,7 +3455,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3407,68 +3469,68 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏιών του Ï€Ïοφίλ"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr ""
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Μέλη"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "ΔημιουÏγημένος"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3478,7 +3540,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3487,7 +3549,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "ΔιαχειÏιστές"
@@ -3598,147 +3660,134 @@ msgid "User is already silenced."
msgstr ""
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Αδυναμία κανονικοποίησης αυτής της email διεÏθυνσης"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr ""
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Η διεÏθυνση του εισεÏχόμενου email αφαιÏέθηκε."
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Τοπικός"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr ""
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "ΔιαγÏαφή μηνÏματος"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
msgstr ""
-#: actions/siteadminpanel.php:315
-msgid "Limits"
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "ΔιαγÏαφή μηνÏματος"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Ρυθμίσεις OpenID"
#: actions/smssettings.php:58
#, fuzzy
@@ -3838,6 +3887,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Επιβεβαίωση διεÏθυνσης email"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Ρυθμίσεις OpenID"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3944,22 +4053,22 @@ msgstr ""
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr ""
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Ροή φίλων του/της %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -4010,7 +4119,7 @@ msgstr ""
msgid "No such tag."
msgstr ""
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Η μέθοδος του ΑΡΙ είναι υπό κατασκευή."
@@ -4035,80 +4144,81 @@ msgstr ""
msgid "Unsubscribed"
msgstr ""
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Îέοι χÏήστες"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Όλες οι συνδÏομές"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr ""
"Αυτόματα γίνε συνδÏομητής σε όσους γίνονται συνδÏομητές σε μένα (χÏήση "
"κυÏίως από λογισμικό και όχι ανθÏώπους)"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "ΠÏοσκλήσεις"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4229,16 +4339,22 @@ msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏÎ
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4282,7 +4398,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "ΠÏοσωπικά"
@@ -4323,6 +4439,11 @@ msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
msgid "Group leave failed."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4340,43 +4461,43 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Σφάλμα στη βάση δεδομένων κατά την εισαγωγή hashtag: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr ""
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr ""
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4403,24 +4524,39 @@ msgstr "Απέτυχε η συνδÏομή."
msgid "Couldn't delete self-subscription."
msgstr "Απέτυχε η διαγÏαφή συνδÏομής."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Απέτυχε η διαγÏαφή συνδÏομής."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Απέτυχε η διαγÏαφή συνδÏομής."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Δεν ήταν δυνατή η δημιουÏγία ομάδας."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏιών του Ï€Ïοφίλ"
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏιών του Ï€Ïοφίλ"
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "ΑδÏνατη η αποθήκευση των νέων πληÏοφοÏιών του Ï€Ïοφίλ"
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Αλλάξτε τις Ïυθμίσεις του Ï€Ïοφίλ σας"
@@ -4458,125 +4594,182 @@ msgstr ""
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "ΑÏχή"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr ""
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "ΠÏοσωπικά"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "ΣÏνδεση"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "Αλλάξτε τον κωδικό σας"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Αδυναμία ανακατεÏθηνσης στο διακομιστή: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "ΣÏνδεση"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
-msgstr ""
+msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr ""
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "ΔιαχειÏιστής"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "ΠÏοσκάλεσε φίλους και συναδέλφους σου να γίνουν μέλη στο %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "ΑποσÏνδεση"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Μήνυμα"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "ΑποσÏνδεση"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "ΔημιουÏγία ενός λογαÏιασμοÏ"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "ΠεÏιγÏαφή"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Βοήθεια"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "ΣÏνδεση"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Βοηθήστε με!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr ""
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Βοήθεια"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr ""
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr ""
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr ""
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Βοήθεια"
+
+#: lib/action.php:754
msgid "About"
msgstr "ΠεÏί"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Συχνές εÏωτήσεις"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr ""
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr ""
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Επικοινωνία"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, fuzzy, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4585,13 +4778,13 @@ msgstr ""
"To **%%site.name%%** είναι μία υπηÏεσία microblogging (μικÏο-ιστολογίου) που "
"έφεÏε κοντά σας το [%%site.broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, fuzzy, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
"Το **%%site.name%%** είναι μία υπηÏεσία microblogging (μικÏο-ιστολογίου). "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4599,111 +4792,152 @@ msgid ""
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr ""
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr ""
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr ""
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "ΠÏοσωπικά"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "ΔιαγÏαφή μηνÏματος"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Επιβεβαίωση διεÏθυνσης email"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4794,12 +5028,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Ο κωδικός αποθηκεÏτηκε."
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Ο κωδικός αποθηκεÏτηκε."
@@ -4885,12 +5119,12 @@ msgstr "ομάδες των χÏηστών %s"
msgid "Fullname: %s"
msgstr "Ονοματεπώνυμο"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -5078,20 +5312,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Ο κωδικός επιβεβαίωσης δεν βÏέθηκε."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5190,6 +5424,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5279,24 +5518,24 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr ""
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "ΑδÏνατη η αποθήκευση του Ï€Ïοφίλ."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr ""
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5326,11 +5565,11 @@ msgstr "ΣÏνδεση με όνομα χÏήστη και κωδικό"
msgid "Sign up for a new account"
msgstr "ΕγγÏαφή για ένα νέο λογαÏιασμό"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Επιβεβαίωση διεÏθυνσης email"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5347,12 +5586,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr ""
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5367,19 +5606,19 @@ msgid ""
"Change your email address or notification options at %8$s\n"
msgstr ""
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"ΒιογÏαφικό: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5392,21 +5631,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Κατάσταση του/της %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5422,12 +5661,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5446,12 +5685,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr ""
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5472,12 +5711,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5592,6 +5831,11 @@ msgstr ""
msgid "Available characters"
msgstr "Διαθέσιμοι χαÏακτήÏες"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr ""
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr ""
@@ -5650,23 +5894,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr ""
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Επαναλαμβάνεται από"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Ρυθμίσεις OpenID"
@@ -5741,7 +5985,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr ""
@@ -5749,23 +5993,23 @@ msgstr ""
msgid "All subscriptions"
msgstr "Όλες οι συνδÏομές"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr ""
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr ""
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Μέλος από"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr ""
@@ -5807,7 +6051,12 @@ msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος
msgid "Repeat this notice"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr ""
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5828,6 +6077,10 @@ msgstr ""
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr ""
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr ""
@@ -5880,6 +6133,15 @@ msgstr ""
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr ""
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "ΠÏοσκάλεσε φίλους και συναδέλφους σου να γίνουν μέλη στο %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5952,47 +6214,63 @@ msgstr "Μήνυμα"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "ΠÏοφίλ χÏήστη"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "ΔιαχειÏιστές"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr ""
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr ""
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:970
+#: lib/util.php:1033
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 98e7790f2..8d846c4e2 100644
--- a/locale/en_GB/LC_MESSAGES/statusnet.po
+++ b/locale/en_GB/LC_MESSAGES/statusnet.po
@@ -2,7 +2,7 @@
#
# Author@translatewiki.net: Bruce89
# Author@translatewiki.net: CiaranG
-# Author@translatewiki.net: Lockal
+# Author@translatewiki.net: Reedy
# --
# This file is distributed under the same license as the StatusNet package.
#
@@ -10,75 +10,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:27+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:40+0000\n"
"Language-Team: British English\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Access"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Site access settings"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registration"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Private"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Invite only"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Private"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Make registration invitation only."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Closed"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Invite only"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
msgstr "Disable new registrations."
-#: 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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Closed"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Save access settings"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Save"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "No such page"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -92,52 +100,60 @@ msgstr "No such page"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "No such user."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s and friends, page %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s and friends"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Feed for friends of %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Feed for friends of %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Feed for friends of %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
"This is the timeline for %s and friends but no one has posted anything yet."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -146,7 +162,8 @@ msgstr ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -155,7 +172,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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -164,7 +181,8 @@ msgstr ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "You and friends"
@@ -182,20 +200,20 @@ msgstr "Updates from %1$s and friends on %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API method not found."
@@ -230,8 +248,9 @@ msgstr "Couldn't update user."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "User has no profile."
@@ -258,7 +277,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -368,68 +387,68 @@ msgstr "Could not determine source user."
msgid "Could not find target user."
msgstr "Could not find target user."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Nickname must have only lowercase letters and numbers, and no spaces."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Nickname already in use. Try another one."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Not a valid nickname."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Homepage is not a valid URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Full name is too long (max 255 chars)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Location is too long (max 255 chars)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Too many aliases! Maximum %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Invalid alias: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Alias \"%s\" already in use. Try another one."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias can't be the same as nickname."
@@ -440,15 +459,15 @@ msgstr "Alias can't be the same as nickname."
msgid "Group not found!"
msgstr "Group not found!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "You are already a member of that group."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "You have been blocked from that group by the admin."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Could not join user %1$s to group %2$s."
@@ -457,7 +476,7 @@ msgstr "Could not join user %1$s to group %2$s."
msgid "You are not a member of this group."
msgstr "You are not a member of this group."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Could not remove user %1$s to group %2$s."
@@ -488,7 +507,7 @@ msgstr "Invalid token."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -531,7 +550,7 @@ msgstr "The request token %s has been denied and revoked."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -557,13 +576,13 @@ msgstr ""
"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."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Account"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -644,18 +663,6 @@ msgstr "%1$s / Favourites from %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s updates favourited by %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s timeline"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Updates from %1$s on %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -666,12 +673,12 @@ msgstr "%1$s / Updates mentioning %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s updates that reply to updates from %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s public timeline"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s updates from everyone!"
@@ -686,12 +693,12 @@ msgstr "Repeated to %s"
msgid "Repeats of %s"
msgstr "Repeats of %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Notices tagged with %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Updates tagged with %1$s on %2$s!"
@@ -707,8 +714,7 @@ msgstr "No such attachment."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "No nickname."
@@ -720,7 +726,7 @@ msgstr "No size."
msgid "Invalid size."
msgstr "Invalid size."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -732,35 +738,35 @@ msgstr "You can upload your personal avatar. The maximum file size is %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "User without matching profile"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Avatar settings"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Preview"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Delete"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Upload"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Crop"
@@ -768,7 +774,7 @@ msgstr "Crop"
msgid "Pick a square area of the image to be your avatar"
msgstr "Pick a square area of the image to be your avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Lost our file data."
@@ -803,22 +809,22 @@ msgstr ""
"will not be notified of any @-replies from them."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Do not block this user"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Yes"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Block this user"
@@ -826,39 +832,43 @@ msgstr "Block this user"
msgid "Failed to save block information."
msgstr "Failed to save block information."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "No such group."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s blocked profiles"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s blocked profiles, page %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "A list of the users blocked from joining this group."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Unblock user from group"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Unblock"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Unblock this user"
@@ -914,7 +924,7 @@ msgid "Conversation"
msgstr "Conversation"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Notices"
@@ -933,7 +943,7 @@ msgstr "You are not the owner of this application."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "There was a problem with your session token."
@@ -959,12 +969,13 @@ msgstr "Do not delete this application"
msgid "Delete this application"
msgstr "Delete this application"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Not logged in."
@@ -993,7 +1004,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Delete this notice"
@@ -1009,7 +1020,7 @@ msgstr "You can only delete local users."
msgid "Delete user"
msgstr "Delete user"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1017,12 +1028,12 @@ msgstr ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Delete this user"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Design"
@@ -1125,6 +1136,18 @@ msgstr "Restore default designs"
msgid "Reset back to default"
msgstr "Reset back to default"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Save"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Save design"
@@ -1216,29 +1239,29 @@ msgstr "Edit %s group"
msgid "You must be logged in to create a group."
msgstr "You must be logged in to create a group."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "You must be an admin to edit the group."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Use this form to edit the group."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "description is too long (max %d chars)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Could not update group."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Could not create aliases"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Options saved."
@@ -1356,7 +1379,7 @@ msgid "Cannot normalize that email address"
msgstr "Cannot normalise that e-mail address"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Not a valid e-mail address."
@@ -1532,23 +1555,39 @@ msgid "Could not convert request token to access token."
msgstr "Couldn't convert request tokens to access tokens."
#: actions/finishremotesubscribe.php:118
-#, fuzzy
msgid "Remote service uses unknown version of OMB protocol."
-msgstr "Unknown version of OMB protocol."
+msgstr "Remote service uses unknown version of OMB protocol."
#: actions/finishremotesubscribe.php:138 lib/oauthstore.php:306
msgid "Error updating remote profile"
msgstr "Error updating remote profile."
#: actions/getfile.php:79
-#, fuzzy
msgid "No such file."
-msgstr "No such notice."
+msgstr "No such file."
#: actions/getfile.php:83
-#, fuzzy
msgid "Cannot read file."
-msgstr "Lost our file."
+msgstr "Cannot read file."
+
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Invalid token."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "You cannot sandbox users on this site."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "User is already silenced."
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
@@ -1564,9 +1603,8 @@ msgstr "No profile with that ID."
#: actions/groupblock.php:81 actions/groupunblock.php:81
#: actions/makeadmin.php:81
-#, fuzzy
msgid "No group specified."
-msgstr "No profile specified."
+msgstr "No group specified."
#: actions/groupblock.php:91
msgid "Only an admin can block group members."
@@ -1580,10 +1618,9 @@ msgstr "User is already blocked from group."
msgid "User is not a member of group."
msgstr "User is not a member of group."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
-#, fuzzy
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
-msgstr "Block user"
+msgstr "Block user from group"
#: actions/groupblock.php:162
#, php-format
@@ -1609,21 +1646,18 @@ msgid "Database error blocking user from group."
msgstr "Database error blocking user from group."
#: actions/groupbyid.php:74 actions/userbyid.php:70
-#, fuzzy
msgid "No ID."
-msgstr "No ID"
+msgstr "No ID."
#: actions/groupdesignsettings.php:68
-#, fuzzy
msgid "You must be logged in to edit a group."
-msgstr "You must be logged in to create a group."
+msgstr "You must be logged in to edit a group."
-#: actions/groupdesignsettings.php:141
-#, fuzzy
+#: actions/groupdesignsettings.php:144
msgid "Group design"
-msgstr "Groups"
+msgstr "Group design"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1631,87 +1665,88 @@ msgstr ""
"Customise the way your group looks with a background image and a colour "
"palette of your choice."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
-#, fuzzy
msgid "Couldn't update your design."
-msgstr "Couldn't update user."
+msgstr "Couldn't update your design."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
-#, fuzzy
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
-msgstr "Sync preferences saved."
+msgstr "Design preferences saved."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Group logo"
-#: actions/grouplogo.php:150
-#, fuzzy, php-format
+#: actions/grouplogo.php:153
+#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
-msgstr "You can upload a logo image for your group."
+msgstr ""
+"You can upload a logo image for your group. The maximum file size is %s."
-#: actions/grouplogo.php:178
-#, fuzzy
+#: actions/grouplogo.php:181
msgid "User without matching profile."
-msgstr "User without matching profile"
+msgstr "User without matching profile."
-#: actions/grouplogo.php:362
-#, fuzzy
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
-msgstr "Pick a square area of the image to be your avatar"
+msgstr "Pick a square area of the image to be the logo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo updated."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Failed updating logo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s group members"
-#: actions/groupmembers.php:96
-#, fuzzy, php-format
+#: actions/groupmembers.php:103
+#, php-format
msgid "%1$s group members, page %2$d"
-msgstr "%s group members, page %d"
+msgstr "%1$s group members, page %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "A list of the users in this group."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Admin"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Block"
-#: actions/groupmembers.php:443
-#, fuzzy
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
-msgstr "You must be an admin to edit the group"
+msgstr "Make user an admin of the group"
-#: actions/groupmembers.php:475
-#, fuzzy
+#: actions/groupmembers.php:482
msgid "Make Admin"
-msgstr "Admin"
+msgstr "Make admin"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
-msgstr ""
+msgstr "Make this user an admin"
-#: actions/grouprss.php:133
-#, fuzzy, php-format
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s timeline"
+
+#: actions/grouprss.php:140
+#, php-format
msgid "Updates from members of %1$s on %2$s!"
-msgstr "Updates from %1$s on %2$s!"
+msgstr "Updates from members of %1$s on %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Groups"
@@ -1741,12 +1776,12 @@ msgid "Create a new group"
msgstr "Create a new group"
#: actions/groupsearch.php:52
-#, fuzzy, php-format
+#, php-format
msgid ""
"Search for groups on %%site.name%% by their name, location, or description. "
"Separate the terms by spaces; they must be 3 characters or more."
msgstr ""
-"Search for people on %%site.name%% by their name, location, or interests. "
+"Search for groups on %%site.name%% by their name, location, or description. "
"Separate the terms by spaces; they must be 3 characters or more."
#: actions/groupsearch.php:58
@@ -1755,9 +1790,8 @@ msgstr "Group search"
#: actions/groupsearch.php:79 actions/noticesearch.php:117
#: actions/peoplesearch.php:83
-#, fuzzy
msgid "No results."
-msgstr "No results"
+msgstr "No results."
#: actions/groupsearch.php:82
#, php-format
@@ -1786,9 +1820,8 @@ msgid "Error removing the block."
msgstr "Error removing the block."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
-msgstr "I.M. Settings"
+msgstr "IM settings"
#: actions/imsettings.php:70
#, php-format
@@ -1880,9 +1913,9 @@ msgid "That is not your Jabber ID."
msgstr "That is not your Jabber ID."
#: actions/inbox.php:59
-#, fuzzy, php-format
+#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Inbox for %s"
+msgstr "Inbox for %1$s - page %2$d"
#: actions/inbox.php:62
#, php-format
@@ -1964,16 +1997,19 @@ msgstr "Personal message"
msgid "Optionally add a personal message to the invitation."
msgstr "Optionally add a personal message to the invitation."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Send"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s has invited you to join them on %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2034,23 +2070,27 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "You must be logged in to join a group."
-#: actions/joingroup.php:131
-#, fuzzy, php-format
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "No nickname or ID."
+
+#: actions/joingroup.php:141
+#, php-format
msgid "%1$s joined group %2$s"
-msgstr "%s joined group %s"
+msgstr "%1$s joined group %2$s"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
msgstr "You must be logged in to leave a group."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "You are not a member of that group."
-#: actions/leavegroup.php:127
-#, fuzzy, php-format
+#: actions/leavegroup.php:137
+#, php-format
msgid "%1$s left group %2$s"
-msgstr "%s left group %s"
+msgstr "%1$s left group %2$s"
#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
@@ -2064,8 +2104,7 @@ msgstr "Incorrect username or password."
msgid "Error setting user. You are probably not authorized."
msgstr "Error setting user. You are probably not authorised."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Login"
@@ -2107,47 +2146,43 @@ msgid "Only an admin can make another user an admin."
msgstr ""
#: actions/makeadmin.php:96
-#, fuzzy, php-format
+#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
-msgstr "User is already blocked from group."
+msgstr "%1$s is already an admin for group \"%2$s\"."
#: actions/makeadmin.php:133
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
-msgstr "Could not remove user %s to group %s"
+msgstr "Can't get membership record for %1$s in group %2$s."
#: actions/makeadmin.php:146
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "You must be an admin to edit the group"
+msgstr "Can't make %1$s an admin for group %2$s."
#: actions/microsummary.php:69
msgid "No current status"
msgstr "No current status"
#: actions/newapplication.php:52
-#, fuzzy
msgid "New Application"
-msgstr "No such notice."
+msgstr "New Application"
#: actions/newapplication.php:64
-#, fuzzy
msgid "You must be logged in to register an application."
-msgstr "You must be logged in to create a group."
+msgstr "You must be logged in to register an application."
#: actions/newapplication.php:143
-#, fuzzy
msgid "Use this form to register a new application."
-msgstr "Use this form to create a new group."
+msgstr "Use this form to register a new application."
#: actions/newapplication.php:176
msgid "Source URL is required."
-msgstr ""
+msgstr "Source URL is required."
#: actions/newapplication.php:258 actions/newapplication.php:267
-#, fuzzy
msgid "Could not create application."
-msgstr "Could not create aliases"
+msgstr "Could not create application."
#: actions/newgroup.php:53
msgid "New group"
@@ -2185,9 +2220,9 @@ msgid "Message sent"
msgstr "Message sent"
#: actions/newmessage.php:185
-#, fuzzy, php-format
+#, php-format
msgid "Direct message to %s sent."
-msgstr "Direct message to %s sent"
+msgstr "Could not create application."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -2215,9 +2250,9 @@ msgid "Text search"
msgstr "Text search"
#: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
msgid "Search results for \"%1$s\" on %2$s"
-msgstr "Search results for \"%s\" on %s"
+msgstr "Search results for \"%1$s\" on %2$s"
#: actions/noticesearch.php:121
#, php-format
@@ -2225,6 +2260,8 @@ msgid ""
"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
"status_textarea=%s)!"
msgstr ""
+"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
#: actions/noticesearch.php:124
#, php-format
@@ -2260,14 +2297,12 @@ msgid "Nudge sent!"
msgstr "Nudge sent!"
#: actions/oauthappssettings.php:59
-#, fuzzy
msgid "You must be logged in to list your applications."
-msgstr "You must be logged in to create a group."
+msgstr "You must be logged in to list your applications."
#: actions/oauthappssettings.php:74
-#, fuzzy
msgid "OAuth applications"
-msgstr "Other options"
+msgstr "OAuth applications"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
@@ -2287,9 +2322,8 @@ msgid "You have allowed the following applications to access you account."
msgstr ""
#: actions/oauthconnectionssettings.php:175
-#, fuzzy
msgid "You are not a user of that application."
-msgstr "You are not a member of that group."
+msgstr "You are not a user of that application."
#: actions/oauthconnectionssettings.php:186
msgid "Unable to revoke access for app: "
@@ -2314,16 +2348,15 @@ msgid "%1$s's status on %2$s"
msgstr "%1$s's status on %2$s"
#: actions/oembed.php:157
-#, fuzzy
msgid "content type "
-msgstr "Connect"
+msgstr "content type "
#: actions/oembed.php:160
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Not a supported data format."
@@ -2336,9 +2369,8 @@ msgid "Notice Search"
msgstr "Notice Search"
#: actions/othersettings.php:60
-#, fuzzy
msgid "Other settings"
-msgstr "Other Settings"
+msgstr "Other settings"
#: actions/othersettings.php:71
msgid "Manage various other options."
@@ -2357,9 +2389,8 @@ msgid "Automatic shortening service to use."
msgstr "Automatic shortening service to use."
#: actions/othersettings.php:122
-#, fuzzy
msgid "View profile designs"
-msgstr "Profile settings"
+msgstr "View profile designs"
#: actions/othersettings.php:123
msgid "Show or hide profile designs."
@@ -2370,34 +2401,29 @@ msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL shortening service is too long (max 50 chars)."
#: actions/otp.php:69
-#, fuzzy
msgid "No user ID specified."
-msgstr "No profile specified."
+msgstr "No user ID specified."
#: actions/otp.php:83
-#, fuzzy
msgid "No login token specified."
-msgstr "No profile specified."
+msgstr "No login token specified."
#: actions/otp.php:90
-#, fuzzy
msgid "No login token requested."
-msgstr "No profile id in request."
+msgstr "No login token requested."
#: actions/otp.php:95
-#, fuzzy
msgid "Invalid login token specified."
-msgstr "Invalid notice content"
+msgstr "Invalid login token specified."
#: actions/otp.php:104
-#, fuzzy
msgid "Login token expired."
-msgstr "Login to site"
+msgstr "Login token expired."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Outbox for %s"
+msgstr "Outbox for %1$s - page %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2469,7 +2495,8 @@ msgstr "Can't save new password."
msgid "Password saved."
msgstr "Password saved."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2502,10 +2529,8 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
-#, fuzzy
msgid "Site"
-msgstr "Invite"
+msgstr "Site"
#: actions/pathsadminpanel.php:238
msgid "Server"
@@ -2556,24 +2581,20 @@ msgid "Theme directory"
msgstr ""
#: actions/pathsadminpanel.php:279
-#, fuzzy
msgid "Avatars"
-msgstr "Avatar"
+msgstr "Avatars"
#: actions/pathsadminpanel.php:284
-#, fuzzy
msgid "Avatar server"
-msgstr "Avatar settings"
+msgstr "Avatar server"
#: actions/pathsadminpanel.php:288
-#, fuzzy
msgid "Avatar path"
-msgstr "Avatar updated."
+msgstr "Avatar path"
#: actions/pathsadminpanel.php:292
-#, fuzzy
msgid "Avatar directory"
-msgstr "Avatar updated."
+msgstr "Avatar directory"
#: actions/pathsadminpanel.php:301
msgid "Backgrounds"
@@ -2595,7 +2616,7 @@ msgstr ""
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Never"
@@ -2616,9 +2637,8 @@ msgid "When to use SSL"
msgstr ""
#: actions/pathsadminpanel.php:335
-#, fuzzy
msgid "SSL server"
-msgstr "Server"
+msgstr "SSL server"
#: actions/pathsadminpanel.php:336
msgid "Server to direct SSL requests to"
@@ -2647,15 +2667,15 @@ msgid "Not a valid people tag: %s"
msgstr "Not a valid people tag: %s"
#: actions/peopletag.php:144
-#, fuzzy, php-format
+#, php-format
msgid "Users self-tagged with %1$s - page %2$d"
-msgstr "Users self-tagged with %s - page %d"
+msgstr "Users self-tagged with %1$s - page %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Invalid notice content"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr "Notice licence ‘1%$s’ is not compatible with site licence ‘%2$s’."
@@ -2679,7 +2699,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Full name"
@@ -2707,7 +2727,7 @@ msgid "Bio"
msgstr "Bio"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2733,7 +2753,7 @@ msgid ""
msgstr ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Language"
@@ -2760,7 +2780,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Bio is too long (max %d chars)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Timezone not selected."
@@ -2778,9 +2798,8 @@ msgid "Couldn't update user for autosubscribe."
msgstr "Couldn't update user for autosubscribe."
#: actions/profilesettings.php:363
-#, fuzzy
msgid "Couldn't save location prefs."
-msgstr "Couldn't save tags."
+msgstr "Couldn't save location prefs."
#: actions/profilesettings.php:375
msgid "Couldn't save profile."
@@ -2790,7 +2809,8 @@ msgstr "Couldn't save profile."
msgid "Couldn't save tags."
msgstr "Couldn't save tags."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Settings saved."
@@ -2803,48 +2823,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Could not retrieve public stream."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Public timeline, page %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Public timeline"
-#: actions/public.php:159
-#, fuzzy
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
-msgstr "Public Stream Feed"
+msgstr "Public Stream Feed (RSS 1.0)"
-#: actions/public.php:163
-#, fuzzy
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
-msgstr "Public Stream Feed"
+msgstr "Public Stream Feed (RSS 2.0)"
-#: actions/public.php:167
-#, fuzzy
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
-msgstr "Public Stream Feed"
+msgstr "Public Stream Feed (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2857,7 +2874,7 @@ msgstr ""
"tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3026,16 +3043,14 @@ msgid "Sorry, only invited people can register."
msgstr "Sorry, only invited people can register."
#: actions/register.php:92
-#, fuzzy
msgid "Sorry, invalid invitation code."
-msgstr "Error with confirmation code."
+msgstr "Sorry, invalid invitation code."
#: actions/register.php:112
msgid "Registration successful"
msgstr "Registration successful"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Register"
@@ -3074,7 +3089,7 @@ msgid "Same as password above. Required."
msgstr "Same as password above. Required."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
@@ -3095,12 +3110,11 @@ msgid "Creative Commons Attribution 3.0"
msgstr ""
#: actions/register.php:497
-#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-" except this private data: password, e-mail address, IM address, phone "
+" except this private data: password, email address, IM address, and phone "
"number."
#: actions/register.php:538
@@ -3160,9 +3174,8 @@ msgid "Remote subscribe"
msgstr "Remote subscribe"
#: actions/remotesubscribe.php:124
-#, fuzzy
msgid "Subscribe to a remote user"
-msgstr "Subscribe to this user"
+msgstr "Subscribe to a remote user"
#: actions/remotesubscribe.php:129
msgid "User nickname"
@@ -3181,7 +3194,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL of your profile on another compatible microblogging service"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Subscribe"
@@ -3190,108 +3203,110 @@ msgid "Invalid profile URL (bad format)"
msgstr "Invalid profile URL (bad format)"
#: actions/remotesubscribe.php:168
-#, fuzzy
msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
-msgstr "Not a valid profile URL (no YADIS document)."
+msgstr "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
#: actions/remotesubscribe.php:176
-#, fuzzy
msgid "That’s a local profile! Login to subscribe."
-msgstr "That's a local profile! Login to subscribe."
+msgstr "That’s a local profile! Login to subscribe."
#: actions/remotesubscribe.php:183
-#, fuzzy
msgid "Couldn’t get a request token."
-msgstr "Couldn't get a request token."
+msgstr "Couldn’t get a request token."
#: actions/repeat.php:57
-#, fuzzy
msgid "Only logged-in users can repeat notices."
-msgstr "Only the user can read their own mailboxes."
+msgstr "Only logged-in users can repeat notices."
#: actions/repeat.php:64 actions/repeat.php:71
-#, fuzzy
msgid "No notice specified."
-msgstr "No profile specified."
+msgstr "No notice specified."
#: actions/repeat.php:76
msgid "You can't repeat your own notice."
msgstr "You can't repeat your own notice."
#: actions/repeat.php:90
-#, fuzzy
msgid "You already repeated that notice."
-msgstr "You have already blocked this user."
+msgstr "You already repeated that notice."
-#: actions/repeat.php:114 lib/noticelist.php:656
-#, fuzzy
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
-msgstr "Created"
+msgstr "Repeated"
#: actions/repeat.php:119
-#, fuzzy
msgid "Repeated!"
-msgstr "Created"
+msgstr "Repeated!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Replies to %s"
-#: actions/replies.php:127
-#, fuzzy, php-format
+#: actions/replies.php:128
+#, php-format
msgid "Replies to %1$s, page %2$d"
-msgstr "Replies to %1$s on %2$s!"
+msgstr "Replies to %1$s, page %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Replies feed for %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Replies feed for %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Notice feed for %s"
-#: actions/replies.php:198
-#, fuzzy, php-format
+#: actions/replies.php:199
+#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-"This is the timeline for %s and friends but no one has posted anything yet."
+"This is the timeline showing replies to %1$s but %2$s hasn't received a "
+"notice to his attention yet."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
-#, fuzzy, php-format
+#: actions/replies.php:206
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"You can try to [nudge %s](../%s) from his profile or [post something to his "
-"or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
+"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
+"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
#: actions/repliesrss.php:72
#, php-format
msgid "Replies to %1$s on %2$s!"
msgstr "Replies to %1$s on %2$s!"
-#: actions/rsd.php:146 actions/version.php:157
+#: actions/revokerole.php:75
#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "You cannot silence users on this site."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "User without matching profile."
+
+#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
-msgstr "Status deleted."
+msgstr "StatusNet"
#: actions/sandbox.php:65 actions/unsandbox.php:65
msgid "You cannot sandbox users on this site."
@@ -3301,15 +3316,15 @@ msgstr "You cannot sandbox users on this site."
msgid "User is already sandboxed."
msgstr "User is already sandboxed."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
#: actions/sessionsadminpanel.php:65
-#, fuzzy
msgid "Session settings for this StatusNet site."
-msgstr "Design settings for this StausNet site."
+msgstr "Session settings for this StatusNet site."
#: actions/sessionsadminpanel.php:175
msgid "Handle sessions"
@@ -3327,20 +3342,18 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Save site settings"
#: actions/showapplication.php:82
-#, fuzzy
msgid "You must be logged in to view an application."
-msgstr "You must be logged in to leave a group."
+msgstr "You must be logged in to view an application."
#: actions/showapplication.php:157
-#, fuzzy
msgid "Application profile"
-msgstr "Notice has no profile"
+msgstr "Application profile"
#: actions/showapplication.php:159 lib/applicationeditform.php:180
msgid "Icon"
@@ -3348,22 +3361,20 @@ msgstr ""
#: actions/showapplication.php:169 actions/version.php:195
#: lib/applicationeditform.php:195
-#, fuzzy
msgid "Name"
-msgstr "Nickname"
+msgstr "Name"
#: actions/showapplication.php:178 lib/applicationeditform.php:222
-#, fuzzy
msgid "Organization"
-msgstr "Pagination"
+msgstr "Organization"
#: actions/showapplication.php:187 actions/version.php:198
#: lib/applicationeditform.php:209 lib/groupeditform.php:172
msgid "Description"
msgstr "Description"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistics"
@@ -3411,35 +3422,34 @@ msgid ""
msgstr ""
#: actions/showapplication.php:309
-#, fuzzy
msgid "Are you sure you want to reset your consumer key and secret?"
-msgstr "Are you sure you want to delete this notice?"
+msgstr "Are you sure you want to reset your consumer key and secret?"
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "%s's favourite notices"
+msgstr "%1$s's favorite notices, page %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
msgstr "Could not retrieve favourite notices."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed for friends of %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed for friends of %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed for friends of %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3447,7 +3457,7 @@ msgstr ""
"You haven't chosen any favourite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3456,7 +3466,7 @@ msgstr ""
"%s hasn't added any notices to his favourites yet. Post something "
"interesting they would add to their favourites :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3467,7 +3477,7 @@ msgstr ""
"account](%%%%action.register%%%%) and then post something interesting they "
"would add to their favourites :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3477,71 +3487,71 @@ msgid "%s group"
msgstr "%s group"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "%s group members, page %d"
+msgstr "%1$s group, page %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Group profile"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Note"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Group actions"
-#: actions/showgroup.php:328
-#, fuzzy, php-format
+#: actions/showgroup.php:337
+#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
-msgstr "Notice feed for %s group"
+msgstr "Notice feed for %s group (RSS 1.0)"
-#: actions/showgroup.php:334
-#, fuzzy, php-format
+#: actions/showgroup.php:343
+#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
-msgstr "Notice feed for %s group"
+msgstr "Notice feed for %s group (RSS 2.0)"
-#: actions/showgroup.php:340
-#, fuzzy, php-format
+#: actions/showgroup.php:349
+#, php-format
msgid "Notice feed for %s group (Atom)"
-msgstr "Notice feed for %s group"
+msgstr "Notice feed for %s group (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Outbox for %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Members"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(None)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "All members"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Created"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3556,8 +3566,8 @@ msgstr ""
"their life and interests. [Join now](%%%%action.register%%%%) to become part "
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
-#, fuzzy, php-format
+#: actions/showgroup.php:463
+#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
@@ -3565,12 +3575,13 @@ msgid ""
"their life and interests. "
msgstr ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
-"wikipedia.org/wiki/Micro-blogging) service "
+"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
+"[StatusNet](http://status.net/) tool. Its members share short messages about "
+"their life and interests. "
-#: actions/showgroup.php:482
-#, fuzzy
+#: actions/showgroup.php:491
msgid "Admins"
-msgstr "Admin"
+msgstr "Admins"
#: actions/showmessage.php:81
msgid "No such message."
@@ -3600,29 +3611,29 @@ msgid " tagged %s"
msgstr " tagged %s"
#: actions/showstream.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s, page %2$d"
-msgstr "%1$s and friends, page %2$d"
+msgstr "%1$s, page %2$d"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Notice feed for %s tagged %s (RSS 1.0)"
+msgstr "Notice feed for %1$s tagged %2$s (RSS 1.0)"
#: actions/showstream.php:129
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (RSS 1.0)"
-msgstr "Notice feed for %s"
+msgstr "Notice feed for %s (RSS 1.0)"
#: actions/showstream.php:136
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (RSS 2.0)"
-msgstr "Notice feed for %s"
+msgstr "Notice feed for %s (RSS 2.0)"
#: actions/showstream.php:143
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (Atom)"
-msgstr "Notice feed for %s"
+msgstr "Notice feed for %s (Atom)"
#: actions/showstream.php:148
#, php-format
@@ -3630,10 +3641,9 @@ msgid "FOAF for %s"
msgstr "FOAF for %s"
#: actions/showstream.php:200
-#, fuzzy, php-format
+#, 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."
+msgstr "This is the timeline for %1$s but %2$s hasn't posted anything yet."
#: actions/showstream.php:205
msgid ""
@@ -3642,13 +3652,13 @@ msgid ""
msgstr ""
#: actions/showstream.php:207
-#, fuzzy, php-format
+#, 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 ""
-"You can try to [nudge %s](../%s) from his profile or [post something to his "
-"or her attention](%%%%action.newnotice%%%%?status_textarea=%s)."
+"You can try to nudge %1$s or [post something to his or her attention](%%%%"
+"action.newnotice%%%%?status_textarea=%2$s)."
#: actions/showstream.php:243
#, php-format
@@ -3671,167 +3681,153 @@ msgstr ""
"[StatusNet](http://status.net/) tool. "
#: actions/showstream.php:305
-#, fuzzy, php-format
+#, php-format
msgid "Repeat of %s"
-msgstr "Replies to %s"
+msgstr "Repeat of %s"
#: actions/silence.php:65 actions/unsilence.php:65
-#, fuzzy
msgid "You cannot silence users on this site."
-msgstr "You can't send a message to this user."
+msgstr "You cannot silence users on this site."
#: actions/silence.php:72
-#, fuzzy
msgid "User is already silenced."
-msgstr "User is already blocked from group."
+msgstr "User is already silenced."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr ""
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
+msgstr "Design settings for this StausNet site."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
-#, fuzzy
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
-msgstr "Not a valid e-mail address."
+msgstr "You must have a valid contact email address."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Minimum text limit is 140 characters."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Site name"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Contact e-mail address for your site"
-#: actions/siteadminpanel.php:263
-#, fuzzy
+#: actions/siteadminpanel.php:245
msgid "Local"
-msgstr "Local views"
+msgstr "Local"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Default site language"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Site notice"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "New message"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Unable to save your design settings!"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Site notice"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Site notice"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
-msgstr "SMS Settings"
+msgstr "SMS settings"
#: actions/smssettings.php:69
#, php-format
@@ -3860,16 +3856,14 @@ msgid "Enter the code you received on your phone."
msgstr "Enter the code you received on your phone."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
-msgstr "SMS Phone number"
+msgstr "SMS phone number"
#: actions/smssettings.php:140
msgid "Phone number, no punctuation or spaces, with area code"
msgstr "Phone number, no punctuation or spaces, with area code"
#: actions/smssettings.php:174
-#, fuzzy
msgid ""
"Send me notices through SMS; I understand I may incur exorbitant charges "
"from my carrier."
@@ -3882,7 +3876,6 @@ msgid "No phone number."
msgstr "No phone number."
#: actions/smssettings.php:311
-#, fuzzy
msgid "No carrier selected."
msgstr "No carrier selected."
@@ -3895,13 +3888,12 @@ msgid "That phone number already belongs to another user."
msgstr "That phone number already belongs to another user."
#: actions/smssettings.php:347
-#, fuzzy
msgid ""
"A confirmation code was sent to the phone number you added. Check your phone "
"for the code and instructions on how to use it."
msgstr ""
-"A confirmation code was sent to the phone number you added. Check your inbox "
-"(and spam box!) for the code and instructions on how to use it."
+"A confirmation code was sent to the phone number you added. Check your phone "
+"for the code and instructions on how to use it."
#: actions/smssettings.php:374
msgid "That is the wrong confirmation number."
@@ -3912,28 +3904,86 @@ msgid "That is not your phone number."
msgstr "That is not your phone number."
#: actions/smssettings.php:465
-#, fuzzy
msgid "Mobile carrier"
msgstr "Mobile carrier"
#: actions/smssettings.php:469
-#, fuzzy
msgid "Select a carrier"
msgstr "Select a carrier"
#: actions/smssettings.php:476
-#, fuzzy, php-format
+#, php-format
msgid ""
"Mobile carrier for your phone. If you know a carrier that accepts SMS over "
"email but isn't listed here, send email to let us know at %s."
msgstr ""
-"Mobile carrier for your phone. If you know a carrier that accepts SMS over e-"
-"mail but isn't listed here, send e-mail to let us know at %s."
+"Mobile carrier for your phone. If you know a carrier that accepts SMS over "
+"email but isn't listed here, send email to let us know at %s."
#: actions/smssettings.php:498
msgid "No code entered"
msgstr "No code entered"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Change site configuration"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Save site settings"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "You are not subscribed to that profile."
@@ -3948,14 +3998,12 @@ msgid "This action only accepts POST requests."
msgstr ""
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "No such notice."
+msgstr "No such profile."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "You are not subscribed to that profile."
+msgstr "You cannot subscribe to an OMB 0.1 remote profile with this action."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -3967,9 +4015,9 @@ msgid "%s subscribers"
msgstr "%s subscribers"
#: actions/subscribers.php:52
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscribers, page %2$d"
-msgstr "%s subscribers, page %d"
+msgstr "%1$s subscribers, page %2$d"
#: actions/subscribers.php:63
msgid "These are the people who listen to your notices."
@@ -4004,9 +4052,9 @@ msgid "%s subscriptions"
msgstr "%s subscriptions"
#: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscriptions, page %2$d"
-msgstr "%s subscriptions, page %d"
+msgstr "%1$s subscriptions, page %2$d"
#: actions/subscriptions.php:65
msgid "These are the people whose notices you listen to."
@@ -4040,30 +4088,29 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
-#, fuzzy, php-format
+#: actions/tag.php:69
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Users self-tagged with %s - page %d"
+msgstr "Notices tagged with %1$s, page %2$d"
-#: actions/tag.php:86
-#, fuzzy, php-format
+#: actions/tag.php:87
+#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "Notice feed for %s"
+msgstr "Notice feed for tag %s (RSS 1.0)"
-#: actions/tag.php:92
-#, fuzzy, php-format
+#: actions/tag.php:93
+#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "Notice feed for %s"
+msgstr "Notice feed for tag %s (RSS 2.0)"
-#: actions/tag.php:98
-#, fuzzy, php-format
+#: actions/tag.php:99
+#, php-format
msgid "Notice feed for tag %s (Atom)"
-msgstr "Notice feed for %s"
+msgstr "Notice feed for tag %s (Atom)"
#: actions/tagother.php:39
-#, fuzzy
msgid "No ID argument."
-msgstr "No id argument."
+msgstr "No ID argument."
#: actions/tagother.php:65
#, php-format
@@ -4109,24 +4156,21 @@ msgstr "Use this form to add tags to your subscribers or subscriptions."
msgid "No such tag."
msgstr "No such tag."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API method under construction."
#: actions/unblock.php:59
-#, fuzzy
msgid "You haven't blocked that user."
-msgstr "You have already blocked this user."
+msgstr "You haven't blocked that user."
#: actions/unsandbox.php:72
-#, fuzzy
msgid "User is not sandboxed."
-msgstr "User has blocked you."
+msgstr "User is not sandboxed."
#: actions/unsilence.php:72
-#, fuzzy
msgid "User is not silenced."
-msgstr "User has no profile."
+msgstr "User is not silenced."
#: actions/unsubscribe.php:77
msgid "No profile id in request."
@@ -4136,80 +4180,79 @@ msgstr "No profile id in request."
msgid "Unsubscribed"
msgstr "Unsubscribed"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
-#, fuzzy, php-format
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
+#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
-msgstr "Notice licence ‘%s’ is not compatible with site licence ‘%s’."
+msgstr ""
+"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "User"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profile"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "New users"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Default subscription"
-#: actions/useradminpanel.php:241
-#, fuzzy
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
-msgstr ""
-"Automatically subscribe to whoever subscribes to me (best for non-humans)"
+msgstr "Automatically subscribe new users to this user."
-#: actions/useradminpanel.php:250
-#, fuzzy
+#: actions/useradminpanel.php:251
msgid "Invitations"
-msgstr "Invitation(s) sent"
+msgstr "Invitations"
-#: actions/useradminpanel.php:255
-#, fuzzy
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
-msgstr "Invitation(s) sent"
+msgstr "Invitations enabled"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4218,15 +4261,14 @@ msgid "Authorize subscription"
msgstr "Authorise subscription"
#: actions/userauthorization.php:110
-#, fuzzy
msgid ""
"Please check these details to make sure that you want to subscribe to this "
"user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
"click “Rejectâ€."
msgstr ""
"Please check these details to make sure that you want to subscribe to this "
-"user's notices. If you didn't just ask to subscribe to someone's notices, "
-"click \"Cancel\"."
+"user’s notices. If you didn’t just ask to subscribe to someone’s notices, "
+"click “Rejectâ€."
#: actions/userauthorization.php:196 actions/version.php:165
msgid "License"
@@ -4258,14 +4300,13 @@ msgid "Subscription authorized"
msgstr "Subscription authorised"
#: actions/userauthorization.php:256
-#, fuzzy
msgid ""
"The subscription has been authorized, but no callback URL was passed. Check "
"with the site’s instructions for details on how to authorize the "
"subscription. Your subscription token is:"
msgstr ""
-"The subscription has been authorised, but no callback URL was passed. Check "
-"with the site's instructions for details on how to authorise the "
+"The subscription has been authorized, but no callback URL was passed. Check "
+"with the site’s instructions for details on how to authorize the "
"subscription. Your subscription token is:"
#: actions/userauthorization.php:266
@@ -4273,14 +4314,13 @@ msgid "Subscription rejected"
msgstr "Subscription rejected"
#: actions/userauthorization.php:268
-#, fuzzy
msgid ""
"The subscription has been rejected, but no callback URL was passed. Check "
"with the site’s instructions for details on how to fully reject the "
"subscription."
msgstr ""
"The subscription has been rejected, but no callback URL was passed. Check "
-"with the site's instructions for details on how to fully reject the "
+"with the site’s instructions for details on how to fully reject the "
"subscription."
#: actions/userauthorization.php:303
@@ -4309,54 +4349,60 @@ msgid "Avatar URL ‘%s’ is not valid."
msgstr ""
#: actions/userauthorization.php:350
-#, fuzzy, php-format
+#, php-format
msgid "Can’t read avatar URL ‘%s’."
-msgstr "Can't read avatar URL '%s'"
+msgstr "Can’t read avatar URL ‘%s’."
#: actions/userauthorization.php:355
-#, fuzzy, php-format
+#, php-format
msgid "Wrong image type for avatar URL ‘%s’."
-msgstr "Wrong image type for '%s'"
+msgstr "Wrong image type for avatar URL ‘%s’."
#: actions/userdesignsettings.php:76 lib/designsettings.php:65
-#, fuzzy
msgid "Profile design"
-msgstr "Profile settings"
+msgstr "Profile design"
#: actions/userdesignsettings.php:87 lib/designsettings.php:76
msgid ""
"Customize the way your profile looks with a background image and a colour "
"palette of your choice."
msgstr ""
+"Customise the way your profile looks with a background image and a colour "
+"palette of your choice."
#: actions/userdesignsettings.php:282
msgid "Enjoy your hotdog!"
msgstr ""
#: actions/usergroups.php:64
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "%s group members, page %d"
+msgstr "%1$s groups, page %2$d"
#: actions/usergroups.php:130
-#, fuzzy
msgid "Search for more groups"
-msgstr "Search for people or text"
+msgstr "Search for more groups"
-#: actions/usergroups.php:153
-#, fuzzy, php-format
+#: actions/usergroups.php:157
+#, php-format
msgid "%s is not a member of any group."
-msgstr "You are not a member of that group."
+msgstr "%s is not a member of any group."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Updates from %1$s on %2$s!"
+
#: actions/version.php:73
-#, fuzzy, php-format
+#, php-format
msgid "StatusNet %s"
-msgstr "Statistics"
+msgstr "StatusNet %s"
#: actions/version.php:153
#, php-format
@@ -4406,10 +4452,9 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
-#, fuzzy
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
-msgstr "Personal"
+msgstr "Version"
#: actions/version.php:197
msgid "Author(s)"
@@ -4433,29 +4478,29 @@ msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
#: classes/Group_member.php:41
-#, fuzzy
msgid "Group join failed."
-msgstr "Group profile"
+msgstr "Group join failed."
#: classes/Group_member.php:53
-#, fuzzy
msgid "Not part of group."
-msgstr "Could not update group."
+msgstr "Not part of group."
#: classes/Group_member.php:60
-#, fuzzy
msgid "Group leave failed."
-msgstr "Group profile"
+msgstr "Group leave failed."
+
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Could not update local group."
#: classes/Login_token.php:76
-#, fuzzy, php-format
+#, php-format
msgid "Could not create login token for %s"
-msgstr "Could not create aliases"
+msgstr "Could not create login token for %s"
#: classes/Message.php:45
-#, fuzzy
msgid "You are banned from sending direct messages."
-msgstr "Error sending direct message."
+msgstr "You are banned from sending direct messages."
#: classes/Message.php:61
msgid "Could not insert message."
@@ -4465,51 +4510,49 @@ msgstr "Could not insert message."
msgid "Could not update message with new URI."
msgstr "Could not update message with new URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "DB error inserting hashtag: %s"
-#: classes/Notice.php:222
-#, fuzzy
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
-msgstr "Problem saving notice."
+msgstr "Problem saving notice. Too long."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problem saving notice. Unknown user."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Too many notices too fast; take a breather and post again in a few minutes."
-#: classes/Notice.php:237
-#, fuzzy
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-"Too many notices too fast; take a breather and post again in a few minutes."
+"Too many duplicate messages too quickly; take a breather and post again in a "
+"few minutes."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "You are banned from posting notices on this site."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problem saving notice."
-#: classes/Notice.php:882
-#, fuzzy
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
-msgstr "Problem saving notice."
+msgstr "Problem saving group inbox."
-#: classes/Notice.php:1407
-#, fuzzy, php-format
+#: classes/Notice.php:1459
+#, php-format
msgid "RT @%1$s %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "RT @%1$s %2$s"
#: classes/Subscription.php:66 lib/oauthstore.php:465
msgid "You have been banned from subscribing."
@@ -4529,27 +4572,39 @@ msgid "Not subscribed!"
msgstr "Not subscribed!"
#: classes/Subscription.php:163
-#, fuzzy
msgid "Couldn't delete self-subscription."
+msgstr "Couldn't delete self-subscription."
+
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
msgstr "Couldn't delete subscription."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Couldn't delete subscription."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Welcome to %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Could not create group."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Could not set group URI."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Could not set group membership."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Could not save local group info."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Change your profile settings"
@@ -4579,134 +4634,195 @@ msgid "Other options"
msgstr "Other options"
#: lib/action.php:144
-#, fuzzy, php-format
+#, php-format
msgid "%1$s - %2$s"
-msgstr "%1$s (%2$s)"
+msgstr "%1$s - %2$s"
#: lib/action.php:159
msgid "Untitled page"
msgstr "Untitled page"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Primary site navigation"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Home"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Personal profile and friends timeline"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Change your e-mail, avatar, password, profile"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Connect"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
-msgstr "Could not redirect to server: %s"
+msgstr "Connect to services"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Connect"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
-msgstr "Primary site navigation"
+msgstr "Change site configuration"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Invite"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Admin"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Invite friends and colleagues to join you on %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Logout"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invite"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Logout from the site"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Logout"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Create an account"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Register"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Login to the site"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Help"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Login"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Help me!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Search"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Help"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Search for people or text"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Search"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Site notice"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Local views"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Page notice"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Secondary site navigation"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Help"
+
+#: lib/action.php:754
msgid "About"
msgstr "About"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "F.A.Q."
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacy"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Source"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contact"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Badge"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet software licence"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4715,12 +4831,12 @@ msgstr ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%)."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** is a microblogging service."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4731,115 +4847,147 @@ msgstr ""
"s, available under the [GNU Affero General Public Licence](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Site content license"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "All "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licence."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Pagination"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "After"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Before"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
-msgstr "You can't send a message to this user."
+msgstr "You cannot make changes to this site."
-#: lib/adminpanelaction.php:107
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
-msgstr "Registration not allowed."
+msgstr "Changes to that panel are not allowed."
-#: lib/adminpanelaction.php:206
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
-msgstr "Command not yet implemented."
+msgstr "showForm() not implemented."
-#: lib/adminpanelaction.php:235
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
-msgstr "Command not yet implemented."
+msgstr "saveSettings() not implemented."
-#: lib/adminpanelaction.php:258
-#, fuzzy
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
-msgstr "Unable to save your design settings!"
+msgstr "Unable to delete design setting."
-#: lib/adminpanelaction.php:312
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
-msgstr "E-mail address confirmation"
+msgstr "Basic site configuration"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Design configuration"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Design"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
-msgstr "SMS confirmation"
+msgstr "User configuration"
-#: lib/adminpanelaction.php:327
-#, fuzzy
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "User"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
-msgstr "Design configuration"
+msgstr "Access configuration"
-#: lib/adminpanelaction.php:332
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
-msgstr "SMS confirmation"
+msgstr "Paths configuration"
-#: lib/adminpanelaction.php:337
-#, fuzzy
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
-msgstr "Design configuration"
+msgstr "Sessions configuration"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Site notice"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Paths configuration"
-#: lib/apiauth.php:95
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4853,24 +5001,21 @@ msgid "Icon for this application"
msgstr ""
#: lib/applicationeditform.php:204
-#, fuzzy, php-format
+#, php-format
msgid "Describe your application in %d characters"
-msgstr "Describe the group or topic in %d characters"
+msgstr "Describe your application in %d characters"
#: lib/applicationeditform.php:207
-#, fuzzy
msgid "Describe your application"
-msgstr "Describe the group or topic"
+msgstr "Describe your application"
#: lib/applicationeditform.php:216
-#, fuzzy
msgid "Source URL"
-msgstr "Source"
+msgstr "Source URL"
#: 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"
+msgstr "URL of the homepage of this application"
#: lib/applicationeditform.php:224
msgid "Organization responsible for this application"
@@ -4909,9 +5054,8 @@ msgid "Default access for this application: read-only, or read-write"
msgstr ""
#: lib/applicationlist.php:154
-#, fuzzy
msgid "Revoke"
-msgstr "Remove"
+msgstr "Revoke"
#: lib/attachmentlist.php:87
msgid "Attachments"
@@ -4922,9 +5066,8 @@ msgid "Author"
msgstr ""
#: lib/attachmentlist.php:278
-#, fuzzy
msgid "Provider"
-msgstr "Profile"
+msgstr "Provider"
#: lib/attachmentnoticesection.php:67
msgid "Notices where this attachment appears"
@@ -4934,15 +5077,13 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
-#, fuzzy
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
-msgstr "Password change"
+msgstr "Password changing failed"
-#: lib/authenticationplugin.php:233
-#, fuzzy
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
-msgstr "Password change"
+msgstr "Password changing is not allowed"
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
@@ -4983,9 +5124,8 @@ msgid ""
msgstr ""
#: lib/command.php:152 lib/command.php:390 lib/command.php:451
-#, fuzzy
msgid "Notice with that id does not exist"
-msgstr "No profile with that id."
+msgstr "Notice with that id does not exist"
#: lib/command.php:168 lib/command.php:406 lib/command.php:467
#: lib/command.php:523
@@ -5025,12 +5165,12 @@ msgstr "%s left group %s"
msgid "Fullname: %s"
msgstr "Fullname: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Location: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Homepage: %s"
@@ -5063,14 +5203,13 @@ msgid "Already repeated that notice"
msgstr "Already repeated that notice."
#: lib/command.php:426
-#, fuzzy, php-format
+#, php-format
msgid "Notice from %s repeated"
-msgstr "Notice posted"
+msgstr "Notice from %s repeated"
#: lib/command.php:428
-#, fuzzy
msgid "Error repeating notice."
-msgstr "Error saving notice."
+msgstr "Error repeating notice."
#: lib/command.php:482
#, php-format
@@ -5138,14 +5277,13 @@ msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "Unsubscribed from %s"
+msgstr "Unsubscribed %s"
#: lib/command.php:709
-#, fuzzy
msgid "You are not subscribed to anyone."
-msgstr "You are not subscribed to that profile."
+msgstr "You are not subscribed to anyone."
#: lib/command.php:711
msgid "You are subscribed to this person:"
@@ -5154,9 +5292,8 @@ msgstr[0] "You are already subscribed to these users:"
msgstr[1] "You are already subscribed to these users:"
#: lib/command.php:731
-#, fuzzy
msgid "No one is subscribed to you."
-msgstr "Could not subscribe other to you."
+msgstr "No one is subscribed to you."
#: lib/command.php:733
msgid "This person is subscribed to you:"
@@ -5165,9 +5302,8 @@ msgstr[0] "Could not subscribe other to you."
msgstr[1] "Could not subscribe other to you."
#: lib/command.php:753
-#, fuzzy
msgid "You are not a member of any groups."
-msgstr "You are not a member of that group."
+msgstr "You are not a member of any groups."
#: lib/command.php:755
msgid "You are a member of this group:"
@@ -5217,19 +5353,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "No configuration file found"
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Go to the installer."
@@ -5246,9 +5382,8 @@ msgid "Updates by SMS"
msgstr "Updates by SMS"
#: lib/connectsettingsaction.php:120
-#, fuzzy
msgid "Connections"
-msgstr "Connect"
+msgstr "Connections"
#: lib/connectsettingsaction.php:121
msgid "Authorized connected applications"
@@ -5259,15 +5394,14 @@ msgid "Database error"
msgstr ""
#: lib/designsettings.php:105
-#, fuzzy
msgid "Upload file"
-msgstr "Upload"
+msgstr "Upload file"
#: lib/designsettings.php:109
-#, fuzzy
msgid ""
"You can upload your personal background image. The maximum file size is 2MB."
-msgstr "You can upload your personal avatar. The maximum file size is %s."
+msgstr ""
+"You can upload your personal background image. The maximum file size is 2MB."
#: lib/designsettings.php:418
msgid "Design defaults restored."
@@ -5329,6 +5463,11 @@ msgstr "Choose a tag to narrow list"
msgid "Go"
msgstr "Go"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL of the homepage or blog of the group or topic"
@@ -5419,23 +5558,23 @@ msgstr "System error uploading file."
msgid "Not an image or corrupt file."
msgstr "Not an image or corrupt file."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Unsupported image file format."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Lost our file."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Unknown file type"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5465,11 +5604,11 @@ msgstr "Login with a username and password"
msgid "Sign up for a new account"
msgstr "Sign up for a new account"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "E-mail address confirmation"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5486,12 +5625,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s is now listening to your notices on %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5516,19 +5655,17 @@ msgstr ""
"----\n"
"Change your email address or notification options at %8$s\n"
-#: lib/mail.php:258
-#, fuzzy, php-format
+#: lib/mail.php:262
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"Bio: %s\n"
-"\n"
+msgstr "Bio: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "New e-mail address for posting to %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5549,21 +5686,21 @@ msgstr ""
"Faithfully yours,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s status"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS confirmation"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "You've been nudged by %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5579,12 +5716,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "New private message from %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5603,12 +5740,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) added your notice as a favorite"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5629,12 +5766,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5660,7 +5797,6 @@ msgid ""
msgstr ""
#: lib/mailbox.php:227 lib/noticelist.php:482
-#, fuzzy
msgid "from"
msgstr "from"
@@ -5681,9 +5817,9 @@ msgid "Sorry, no incoming email allowed."
msgstr "Sorry, no incoming e-mail allowed."
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Unsupported image file format."
+msgstr "Unsupported message type: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5724,9 +5860,8 @@ msgid "File could not be moved to destination directory."
msgstr ""
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
-msgstr "Could not retrieve public stream."
+msgstr "Could not determine file's MIME type."
#: lib/mediafile.php:270
#, php-format
@@ -5750,6 +5885,11 @@ msgstr "To"
msgid "Available characters"
msgstr "Available characters"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Send"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Send a notice"
@@ -5768,14 +5908,12 @@ msgid "Attach a file"
msgstr ""
#: lib/noticeform.php:212
-#, fuzzy
msgid "Share my location"
-msgstr "Couldn't save tags."
+msgstr "Share my location"
#: lib/noticeform.php:215
-#, fuzzy
msgid "Do not share my location"
-msgstr "Couldn't save tags."
+msgstr "Do not share my location"
#: lib/noticeform.php:216
msgid ""
@@ -5789,9 +5927,8 @@ msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgstr ""
#: lib/noticelist.php:430
-#, fuzzy
msgid "N"
-msgstr "No"
+msgstr "N"
#: lib/noticelist.php:430
msgid "S"
@@ -5809,27 +5946,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "in context"
-#: lib/noticelist.php:583
-#, fuzzy
+#: lib/noticelist.php:601
msgid "Repeated by"
-msgstr "Created"
+msgstr "Repeated by"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Reply to this notice"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Reply"
-#: lib/noticelist.php:655
-#, fuzzy
+#: lib/noticelist.php:673
msgid "Notice repeated"
-msgstr "Notice deleted."
+msgstr "Notice repeated"
#: lib/nudgeform.php:116
msgid "Nudge this user"
@@ -5897,11 +6032,10 @@ msgid "Tags in %s's notices"
msgstr "Tags in %s's notices"
#: lib/plugin.php:114
-#, fuzzy
msgid "Unknown"
-msgstr "Unknown action"
+msgstr "Unknown"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Subscriptions"
@@ -5909,30 +6043,29 @@ msgstr "Subscriptions"
msgid "All subscriptions"
msgstr "All subscriptions"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Subscribers"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "All subscribers"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "User ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Member since"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "All groups"
#: lib/profileformaction.php:123
-#, fuzzy
msgid "No return-to arguments."
-msgstr "No id argument."
+msgstr "No return-to arguments."
#: lib/profileformaction.php:137
msgid "Unimplemented method."
@@ -5959,16 +6092,19 @@ msgid "Popular"
msgstr "Popular"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Reply to this notice"
+msgstr "Repeat this notice?"
#: lib/repeatform.php:132
-#, fuzzy
msgid "Repeat this notice"
-msgstr "Reply to this notice"
+msgstr "Repeat this notice"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Block this user from this group"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5981,14 +6117,17 @@ msgid "Sandbox this user"
msgstr "Sandbox this user"
#: lib/searchaction.php:120
-#, fuzzy
msgid "Search site"
-msgstr "Search"
+msgstr "Search site"
#: lib/searchaction.php:126
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Search"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Search help"
@@ -6040,6 +6179,15 @@ msgstr "People subscribed to %s"
msgid "Groups %s is a member of"
msgstr "Groups %s is a member of"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Invite"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Invite friends and colleagues to join you on %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6110,47 +6258,63 @@ msgstr "Message"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "User profile"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Admins"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "a few seconds ago"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "about a minute ago"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "about %d minutes ago"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "about an hour ago"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "about %d hours ago"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "about a day ago"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "about %d days ago"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "about a month ago"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "about %d months ago"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "about a year ago"
@@ -6165,6 +6329,6 @@ msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s is not a valid colour! Use 3 or 6 hex chars."
#: lib/xmppmanager.php:402
-#, fuzzy, php-format
+#, php-format
msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Message too long - maximum is %d characters, you sent %d"
+msgstr "Message too long - maximum is %1$d characters, you sent %2$d."
diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po
index b5e0469b6..cdc0184e4 100644
--- a/locale/es/LC_MESSAGES/statusnet.po
+++ b/locale/es/LC_MESSAGES/statusnet.po
@@ -3,6 +3,7 @@
# Author@translatewiki.net: Brion
# Author@translatewiki.net: Crazymadlover
# Author@translatewiki.net: McDutchie
+# Author@translatewiki.net: PerroVerd
# Author@translatewiki.net: Peter17
# Author@translatewiki.net: Translationista
# --
@@ -12,75 +13,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:30+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:43+0000\n"
"Language-Team: Spanish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Acceder"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Configuración de acceso de la web"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registro"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privado"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "¿Prohibir a los usuarios anónimos (no conectados) ver el sitio?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Invitar sólo"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privado"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Haz que el registro sea sólo con invitaciones."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Cerrado"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Invitar sólo"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Cerrado"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
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
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Guardar"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "No existe tal página"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -94,45 +103,53 @@ msgstr "No existe tal página"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "No existe ese usuario."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s y amigos, página %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s y amigos"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Feed de los amigos de %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Feed de los amigos de %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Feed de los amigos de %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -140,7 +157,7 @@ msgstr ""
"Esta es la línea temporal de %s y amistades, pero nadie ha publicado nada "
"todavía."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -149,7 +166,8 @@ msgstr ""
"Esta es la línea temporal de %s y amistades, pero nadie ha publicado nada "
"todavía."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -158,7 +176,7 @@ msgstr ""
"Trata de suscribirte a más personas, [unirte a un grupo] (%%action.groups%%) "
"o publicar algo."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -167,7 +185,8 @@ msgstr ""
"Puede intentar [guiñar a %1$s](../%2$s) desde su perfil o [publicar algo a "
"su atención ](%%%%action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Tú y amigos"
@@ -185,20 +204,20 @@ msgstr "¡Actualizaciones de %1$s y amigos en %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Método de API no encontrado."
@@ -232,8 +251,9 @@ msgstr "No se pudo actualizar el usuario."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "El usuario no tiene un perfil."
@@ -259,7 +279,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -369,7 +389,7 @@ msgstr "No se pudo determinar el usuario fuente."
msgid "Could not find target user."
msgstr "No se pudo encontrar ningún usuario de destino."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -377,62 +397,62 @@ msgstr ""
"El usuario debe tener solamente letras minúsculas y números y no puede tener "
"espacios."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "El usuario ya existe. Prueba con otro."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Usuario inválido"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "La página de inicio no es un URL válido."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Tu nombre es demasiado largo (max. 255 carac.)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "La ubicación es demasiado larga (máx. 255 caracteres)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "¡Muchos seudónimos! El máximo es %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Alias inválido: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "El alias \"%s\" ya está en uso. Intenta usar otro."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "El alias no puede ser el mismo que el usuario."
@@ -443,15 +463,15 @@ msgstr "El alias no puede ser el mismo que el usuario."
msgid "Group not found!"
msgstr "¡No se ha encontrado el grupo!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Ya eres miembro de ese grupo"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Has sido bloqueado de ese grupo por el administrador."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "No se pudo unir el usuario %s al grupo %s"
@@ -460,7 +480,7 @@ msgstr "No se pudo unir el usuario %s al grupo %s"
msgid "You are not a member of this group."
msgstr "No eres miembro de este grupo."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "No se pudo eliminar al usuario %1$s del grupo %2$s."
@@ -491,7 +511,7 @@ msgstr "Token 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -537,7 +557,7 @@ msgstr "El token de solicitud %2 ha sido denegado y revocado."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -563,13 +583,13 @@ msgstr ""
"permiso para <strong>%3$s</strong> la información de tu cuenta %4$s. Sólo "
"debes dar acceso a tu cuenta %4$s a terceras partes en las que confíes."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Cuenta"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -652,18 +672,6 @@ msgstr "%1$s / Favoritos de %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s actualizaciones favoritas de %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "línea temporal de %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "¡Actualizaciones de %1$s en %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -674,12 +682,12 @@ msgstr "%1$s / Actualizaciones que mencionan %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "actualizaciones de %1$s en respuesta a las de %2$s / %3$s"
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "línea temporal pública de %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "¡Actualizaciones de todos en %s!"
@@ -694,12 +702,12 @@ msgstr "Repetido a %s"
msgid "Repeats of %s"
msgstr "Repeticiones de %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Avisos marcados con %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Actualizaciones etiquetadas con %1$s en %2$s!"
@@ -715,8 +723,7 @@ msgstr "No existe tal archivo adjunto."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ningún apodo."
@@ -728,7 +735,7 @@ msgstr "Ningún tamaño."
msgid "Invalid size."
msgstr "Tamaño inválido."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -740,35 +747,35 @@ msgstr "Puedes subir tu imagen personal. El tamaño máximo de archivo es %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Usuario sin perfil equivalente"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Configuración de Avatar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Vista previa"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Borrar"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Cargar"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Cortar"
@@ -776,7 +783,7 @@ msgstr "Cortar"
msgid "Pick a square area of the image to be your avatar"
msgstr "Elige un área cuadrada de la imagen para que sea tu avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Se perdió nuestros datos de archivo."
@@ -811,22 +818,22 @@ msgstr ""
"te notificará de ninguna de sus respuestas @."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "No bloquear a este usuario"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sí"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Bloquear este usuario."
@@ -834,40 +841,44 @@ msgstr "Bloquear este usuario."
msgid "Failed to save block information."
msgstr "No se guardó información de bloqueo."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "No existe ese grupo."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s perfiles bloqueados"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s perfiles bloqueados, página %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
"Una lista de los usuarios que han sido bloqueados para unirse a este grupo."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Desbloquear usuario de grupo"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Desbloquear"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Desbloquear este usuario"
@@ -923,7 +934,7 @@ msgid "Conversation"
msgstr "Conversación"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Avisos"
@@ -942,7 +953,7 @@ msgstr "No eres el propietario de esta aplicación."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Hubo problemas con tu clave de sesión."
@@ -968,12 +979,13 @@ msgstr "No eliminar esta aplicación"
msgid "Delete this application"
msgstr "Borrar esta aplicación"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "No conectado."
@@ -1002,7 +1014,7 @@ msgstr "¿Estás seguro de que quieres eliminar este aviso?"
msgid "Do not delete this notice"
msgstr "No eliminar este mensaje"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Borrar este aviso"
@@ -1018,7 +1030,7 @@ msgstr "Sólo puedes eliminar usuarios locales."
msgid "Delete user"
msgstr "Borrar usuario"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1026,12 +1038,12 @@ msgstr ""
"¿Realmente deseas eliminar este usuario? Esto borrará de la base de datos "
"todos los datos sobre el usuario, sin dejar una copia de seguridad."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Borrar este usuario"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Diseño"
@@ -1134,6 +1146,18 @@ msgstr "Restaurar los diseños predeterminados"
msgid "Reset back to default"
msgstr "Volver a los valores predeterminados"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Guardar"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Guardar el diseño"
@@ -1225,29 +1249,29 @@ msgstr "Editar grupo %s"
msgid "You must be logged in to create a group."
msgstr "Debes estar conectado para crear un grupo"
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Para editar el grupo debes ser administrador."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Usa este formulario para editar el grupo."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "La descripción es muy larga (máx. %d caracteres)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "No se pudo actualizar el grupo."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "No fue posible crear alias."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Se guardó Opciones."
@@ -1368,7 +1392,7 @@ msgid "Cannot normalize that email address"
msgstr "No se puede normalizar esta dirección de correo electrónico."
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Correo electrónico no válido"
@@ -1561,6 +1585,25 @@ msgstr "No existe tal archivo."
msgid "Cannot read file."
msgstr "No se puede leer archivo."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Token inválido."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "No puedes enviar mensaje a este usuario."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "El usuario te ha bloqueado."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1590,7 +1633,7 @@ msgstr "Usuario ya está bloqueado del grupo."
msgid "User is not a member of group."
msgstr "Usuario no es miembro del grupo"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Bloquear usuario de grupo"
@@ -1627,11 +1670,11 @@ msgstr "Sin ID."
msgid "You must be logged in to edit a group."
msgstr "Debes estar conectado para editar un grupo."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Diseño de grupo"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1639,20 +1682,20 @@ msgstr ""
"Personaliza el aspecto de tu grupo con una imagen de fondo y la paleta de "
"colores que prefieras."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "No fue posible actualizar tu diseño."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Preferencias de diseño guardadas."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo de grupo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1660,62 +1703,68 @@ msgstr ""
"Puedes subir una imagen de logo para tu grupo. El tamaño máximo del archivo "
"debe ser %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Usuario sin perfil coincidente."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Elige un área cuadrada de la imagen para que sea tu logo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo actualizado."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Error al actualizar el logo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Miembros del grupo %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s miembros de grupo, página %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Lista de los usuarios en este grupo."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Admin"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Bloquear"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Convertir al usuario en administrador del grupo"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Convertir en administrador"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Convertir a este usuario en administrador"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "línea temporal de %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "¡Actualizaciones de miembros de %1$s en %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupos"
@@ -1974,16 +2023,19 @@ msgstr "Mensaje Personal"
msgid "Optionally add a personal message to the invitation."
msgstr "Opcionalmente añada un mensaje personalizado a su invitación."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Enviar"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s te ha invitado a que te unas con el/ellos en %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2044,7 +2096,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Debes estar conectado para unirte a un grupo."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Ningún apodo."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s se ha unido al grupo %2$"
@@ -2053,11 +2110,11 @@ msgstr "%1$s se ha unido al grupo %2$"
msgid "You must be logged in to leave a group."
msgstr "Debes estar conectado para dejar un grupo."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "No eres miembro de este grupo."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ha dejado el grupo %2$s"
@@ -2074,8 +2131,7 @@ msgstr "Nombre de usuario o contraseña incorrectos."
msgid "Error setting user. You are probably not authorized."
msgstr "Error al configurar el usuario. Posiblemente no tengas autorización."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Inicio de sesión"
@@ -2333,8 +2389,8 @@ msgstr "tipo de contenido "
msgid "Only "
msgstr "Sólo "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "No es un formato de dato soportado"
@@ -2474,9 +2530,10 @@ msgstr "No se puede guardar la nueva contraseña."
msgid "Password saved."
msgstr "Se guardó Contraseña."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
-msgstr ""
+msgstr "Rutas"
#: actions/pathsadminpanel.php:70
msgid "Path and server settings for this StatusNet site."
@@ -2507,7 +2564,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Servidor SSL no válido. La longitud máxima es de 255 caracteres."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Sitio"
@@ -2521,7 +2577,7 @@ msgstr ""
#: actions/pathsadminpanel.php:242
msgid "Path"
-msgstr ""
+msgstr "Ruta"
#: actions/pathsadminpanel.php:242
#, fuzzy
@@ -2597,7 +2653,7 @@ msgstr "Directorio del fondo"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nunca"
@@ -2653,11 +2709,11 @@ msgstr "No es una etiqueta válida para personas: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Usuarios auto marcados con %s - página %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "El contenido del aviso es inválido"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2683,7 +2739,7 @@ msgstr ""
"1-64 letras en minúscula o números, sin signos de puntuación o espacios"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nombre completo"
@@ -2711,7 +2767,7 @@ msgid "Bio"
msgstr "Biografía"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2736,7 +2792,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr "Tags para ti (letras, números, -, ., y _), coma - o espacio - separado"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Idioma"
@@ -2764,7 +2820,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "La biografía es muy larga (máx. %d caracteres)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Zona horaria no seleccionada"
@@ -2793,7 +2849,8 @@ msgstr "No se pudo guardar el perfil."
msgid "Couldn't save tags."
msgstr "No se pudo guardar las etiquetas."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Se guardó configuración."
@@ -2806,31 +2863,31 @@ msgstr "Más allá del límite de páginas (%s)"
msgid "Could not retrieve public stream."
msgstr "No se pudo acceder a corriente pública."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Línea temporal pública, página %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Línea temporal pública"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Feed del flujo público"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Feed del flujo público"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Feed del flujo público"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2839,17 +2896,17 @@ msgstr ""
"Esta es la línea temporal pública de %%site.name%%, pero aún no se ha "
"publicado nada."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "¡Sé la primera persona en publicar algo!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2858,7 +2915,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3039,8 +3096,7 @@ msgstr "El código de invitación no es válido."
msgid "Registration successful"
msgstr "Registro exitoso."
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrarse"
@@ -3081,7 +3137,7 @@ msgid "Same as password above. Required."
msgstr "Igual a la contraseña de arriba. Requerida"
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correo electrónico"
@@ -3188,7 +3244,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "El URL de tu perfil en otro servicio de microblogueo compatible"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Suscribirse"
@@ -3226,7 +3282,7 @@ msgstr "No puedes repetir tus propios mensajes."
msgid "You already repeated that notice."
msgstr "Ya has repetido este mensaje."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Repetido"
@@ -3234,47 +3290,47 @@ msgstr "Repetido"
msgid "Repeated!"
msgstr "¡Repetido!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Respuestas a %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Respuestas a %1$s, página %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Feed de avisos de %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Feed de avisos de %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Feed de avisos de %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3286,6 +3342,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respuestas a %1$s en %2$s!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "No puedes enviar mensaje a este usuario."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Usuario sin perfil coincidente."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3300,8 +3366,9 @@ msgstr "No puedes enviar mensaje a este usuario."
msgid "User is already sandboxed."
msgstr "El usuario te ha bloqueado."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sesiones"
@@ -3325,8 +3392,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Guardar la configuración del sitio"
@@ -3357,8 +3424,8 @@ msgstr "Organización"
msgid "Description"
msgstr "Descripción"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Estadísticas"
@@ -3419,35 +3486,35 @@ msgstr "Avisos favoritos de %s"
msgid "Could not retrieve favorite notices."
msgstr "No se pudo recibir avisos favoritos."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed de los amigos de %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed de los amigos de %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed de los amigos de %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3455,7 +3522,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3469,68 +3536,68 @@ msgstr "Grupo %s"
msgid "%1$s group, page %2$d"
msgstr "Miembros del grupo %s, página %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Perfil del grupo"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Nota"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Alias"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Acciones del grupo"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Feed de avisos de grupo %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Feed de avisos de grupo %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Feed de avisos de grupo %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Bandeja de salida para %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "Miembros"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Ninguno)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Todos los miembros"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Creado"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3540,7 +3607,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3551,7 +3618,7 @@ msgstr ""
"**%s** es un grupo de usuarios en %%%%site.name%%%%, un servicio [micro-"
"blogging](http://en.wikipedia.org/wiki/Micro-blogging) "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administradores"
@@ -3666,149 +3733,140 @@ msgid "User is already silenced."
msgstr "El usuario te ha bloqueado."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "Configuración básica de este sitio StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "No es una dirección de correo electrónico válida"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Idioma desconocido \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "La frecuencia de captura debe ser un número."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "General"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nombre del sitio"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Nueva dirección de correo para postear a %s"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Vistas locales"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Zona horaria predeterminada"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Zona horaria predeterminada del sitio; generalmente UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Idioma predeterminado del sitio"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Capturas"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "En un trabajo programado"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Capturas de datos"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frecuencia"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Las capturas se enviarán a este URL"
-
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Límites"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Límite de texto"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Cantidad máxima de caracteres para los mensajes."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr "Cuántos segundos es necesario esperar para publicar lo mismo de nuevo."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Aviso de sitio"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nuevo Mensaje "
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "No se pudo grabar tu configuración de diseño."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Aviso de sitio"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Aviso de sitio"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Configuración de SMS"
@@ -3911,6 +3969,66 @@ msgstr ""
msgid "No code entered"
msgstr "No ingresó código"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Capturas"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Cambiar la configuración del sitio"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "La frecuencia de captura debe ser un número."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "En un trabajo programado"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Capturas de datos"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frecuencia"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Las capturas se enviarán a este URL"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Guardar la configuración del sitio"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "No te has suscrito a ese perfil."
@@ -4017,22 +4135,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Usuarios auto marcados con %s - página %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Feed de avisos de %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Feed de avisos de %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Feed de avisos de %s"
@@ -4087,7 +4205,7 @@ msgstr ""
msgid "No such tag."
msgstr "No existe ese tag."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Método API en construcción."
@@ -4113,76 +4231,78 @@ msgstr "No hay id de perfil solicitado."
msgid "Unsubscribed"
msgstr "Desuscrito"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Usuario"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Configuración de usuarios en este sitio StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Límite para la bio inválido: Debe ser numérico."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Texto de bienvenida inválido. La longitud máx. es de 255 caracteres."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Suscripción predeterminada inválida : '%1$s' no es un usuario"
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Límite de la bio"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Longitud máxima de bio de perfil en caracteres."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nuevos usuarios"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Bienvenida a nuevos usuarios"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Texto de bienvenida para nuevos usuarios (máx. 255 caracteres)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Suscripción predeterminada"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Suscribir automáticamente nuevos usuarios a este usuario."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Invitaciones"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Invitaciones habilitadas"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4313,16 +4433,22 @@ msgstr "Miembros del grupo %s, página %d"
msgid "Search for more groups"
msgstr "Buscar más grupos"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "No eres miembro de ese grupo"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "¡Actualizaciones de %1$s en %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4368,7 +4494,7 @@ msgstr ""
msgid "Plugins"
msgstr "Complementos"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Sesiones"
@@ -4408,6 +4534,11 @@ msgstr "No es parte del grupo."
msgid "Group leave failed."
msgstr "Perfil de grupo"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "No se pudo actualizar el grupo."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4425,27 +4556,27 @@ msgstr "No se pudo insertar mensaje."
msgid "Could not update message with new URI."
msgstr "No se pudo actualizar mensaje con nuevo URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Error de la BD al insertar la etiqueta clave: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Ha habido un problema al guardar el mensaje. Es muy largo."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Ha habido un problema al guardar el mensaje. Usuario desconocido."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Demasiados avisos demasiado rápido; para y publicar nuevamente en unos "
"minutos."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
@@ -4454,20 +4585,20 @@ msgstr ""
"Demasiados avisos demasiado rápido; para y publicar nuevamente en unos "
"minutos."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Tienes prohibido publicar avisos en este sitio."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Hubo un problema al guardar el aviso."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Hubo un problema al guardar el aviso."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4494,24 +4625,39 @@ msgstr "¡No estás suscrito!"
msgid "Couldn't delete self-subscription."
msgstr "No se pudo eliminar la suscripción."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "No se pudo eliminar la suscripción."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "No se pudo eliminar la suscripción."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Bienvenido a %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "No se pudo crear grupo."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "No se pudo configurar miembros de grupo."
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "No se pudo configurar miembros de grupo."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "No se ha podido guardar la suscripción."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Cambia tus opciones de perfil"
@@ -4549,124 +4695,187 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Página sin título"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navegación de sitio primario"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Inicio"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Perfil personal y línea de tiempo de amigos"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Cambia tu correo electrónico, avatar, contraseña, perfil"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Conectarse"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Conectar a los servicios"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Conectarse"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Cambiar la configuración del sitio"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Invitar"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Admin"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Invita a amigos y colegas a unirse a %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Salir"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invitar"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Salir de sitio"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Salir"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Crear una cuenta"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrarse"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Ingresar a sitio"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Ayuda"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Inicio de sesión"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Ayúdame!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Buscar"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Ayuda"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Buscar personas o texto"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Buscar"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Aviso de sitio"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Vistas locales"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Aviso de página"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Navegación de sitio secundario"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Ayuda"
+
+#: lib/action.php:754
msgid "About"
msgstr "Acerca de"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Preguntas Frecuentes"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacidad"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Fuente"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Ponerse en contacto"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Insignia"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licencia de software de StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4675,12 +4884,12 @@ msgstr ""
"**%%site.name%%** es un servicio de microblogueo de [%%site.broughtby%%**](%%"
"site.broughtbyurl%%)."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** es un servicio de microblogueo."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4691,112 +4900,154 @@ msgstr ""
"disponible bajo la [GNU Affero General Public License](http://www.fsf.org/"
"licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licencia de contenido del sitio"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"Derechos de autor de contenido y datos por los colaboradores. Todos los "
"derechos reservados."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Todo"
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "Licencia."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginación"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Después"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Antes"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "No puedes hacer cambios a este sitio."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Registro de usuario no permitido."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Todavía no se implementa comando."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Todavía no se implementa comando."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "¡No se pudo guardar tu configuración de Twitter!"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configuración básica del sitio"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Sitio"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configuración del diseño"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Diseño"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Configuración de usuario"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Usuario"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Configuración de acceso"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS confirmación"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Configuración de sesiones"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Aviso de sitio"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS confirmación"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4889,11 +5140,11 @@ msgstr "Mensajes donde aparece este adjunto"
msgid "Tags for this attachment"
msgstr "Etiquetas de este archivo adjunto"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "El cambio de contraseña ha fallado"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Cambio de contraseña "
@@ -4979,12 +5230,12 @@ msgstr "%s dejó grupo %s"
msgid "Fullname: %s"
msgstr "Nombre completo: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Lugar: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Página de inicio: %s"
@@ -5171,19 +5422,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Ningún archivo de configuración encontrado. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Ir al instalador."
@@ -5283,6 +5534,11 @@ msgstr "Elegir tag para reducir lista"
msgid "Go"
msgstr "Ir"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5375,23 +5631,23 @@ msgstr "Error del sistema al cargar el archivo."
msgid "Not an image or corrupt file."
msgstr "No es una imagen o es un fichero corrupto."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Formato de imagen no soportado."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Se perdió nuestro archivo."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Tipo de archivo desconocido"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5421,11 +5677,11 @@ msgstr "Ingresar con un nombre de usuario y contraseña."
msgid "Sign up for a new account"
msgstr "Registrarse para una nueva cuenta"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmación de correo electrónico"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5442,12 +5698,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s ahora está escuchando tus avisos en %2$s"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5468,19 +5724,19 @@ msgstr ""
"Atentamente,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"Bio: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nueva dirección de correo para postear a %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5501,21 +5757,21 @@ msgstr ""
"Attentamente, \n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "estado de %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS confirmación"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s te mandó un zumbido "
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5531,12 +5787,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nuevo mensaje privado de %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5555,12 +5811,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) agregó tu aviso como un favorito"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5581,12 +5837,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5702,6 +5958,12 @@ msgstr "Para"
msgid "Available characters"
msgstr "Caracteres disponibles"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Enviar"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5761,24 +6023,24 @@ msgstr ""
msgid "at"
msgstr "en"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "en contexto"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Crear"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Responder este aviso."
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Aviso borrado"
@@ -5853,7 +6115,7 @@ msgstr "Tags en avisos de %s"
msgid "Unknown"
msgstr "Acción desconocida"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Suscripciones"
@@ -5861,24 +6123,24 @@ msgstr "Suscripciones"
msgid "All subscriptions"
msgstr "Todas las suscripciones"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Suscriptores"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "Todos los suscriptores"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID de usuario"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Miembro desde"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Todos los grupos"
@@ -5921,7 +6183,12 @@ msgstr "Responder este aviso."
msgid "Repeat this notice"
msgstr "Responder este aviso."
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Bloquear este usuario de este grupo"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5944,6 +6211,10 @@ msgstr "Buscar"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Buscar"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Buscar ayuda"
@@ -5997,6 +6268,15 @@ msgstr "Personas suscritas a %s"
msgid "Groups %s is a member of"
msgstr "%s es miembro de los grupos"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Invitar"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Invita a amigos y colegas a unirse a %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6069,47 +6349,64 @@ msgstr "Mensaje"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Perfil de usuario"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administradores"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderar"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "hace unos segundos"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "hace un minuto"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "hace %d minutos"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "hace una hora"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "hace %d horas"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "hace un día"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "hace %d días"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "hace un mes"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "hace %d meses"
-#: lib/util.php:970
+#: lib/util.php:1033
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 600323e43..955efd243 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-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:38+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:48+0000\n"
"Last-Translator: Ahmad Sufi Mahmudi\n"
"Language-Team: Persian\n"
"MIME-Version: 1.0\n"
@@ -20,70 +20,78 @@ msgstr ""
"X-Language-Code: fa\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); Translate extension (2010-01-16)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "دسترسی"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "تنظیمات دیگر"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "ثبت نام"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "خصوصی"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Ùقط دعوت کردن"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "خصوصی"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "تنها آماده کردن دعوت نامه های ثبت نام."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "مسدود"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Ùقط دعوت کردن"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "ذخیره‌کردن"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "مسدود"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "تنظیمات چهره"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "ذخیره‌کردن"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "چنین صÙحه‌ای وجود ندارد"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -97,51 +105,59 @@ msgstr "چنین صÙحه‌ای وجود ندارد"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "چنین کاربری وجود ندارد."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s کاربران مسدود شده، صÙحه‌ی %d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s و دوستان"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "خوراک دوستان %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "خوراک دوستان %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "خوراک دوستان %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "این خط‌زمانی %s و دوستانش است، اما هیچ‌یک تاکنون چیزی پست نکرده‌اند."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -150,7 +166,8 @@ msgstr ""
"پیگیری اÙراد بیش‌تری بشوید [به یک گروه بپیوندید](%%action.groups%%) یا خودتان "
"چیزی را ارسال کنید."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, fuzzy, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -159,7 +176,7 @@ msgstr ""
"اولین کسی باشید که در [این موضوع](%%%%action.newnotice%%%%?status_textarea=%"
"s) پیام می‌Ùرستد."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -168,7 +185,8 @@ msgstr ""
"چرا [ثبت نام](%%%%action.register%%%%) نمی‌کنید Ùˆ سپس با Ùرستادن پیام توجه %s "
"را جلب کنید."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "شما و دوستان"
@@ -186,20 +204,20 @@ msgstr "به روز رسانی از %1$ و دوستان در %2$"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "رابط مورد نظر پیدا نشد."
@@ -231,8 +249,9 @@ msgstr "نمی‌توان کاربر را به‌هنگام‌سازی کرد."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "کاربر هیچ شناس‌نامه‌ای ندارد."
@@ -257,7 +276,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -370,68 +389,68 @@ msgstr "نمی‌توان کاربر منبع را تعیین کرد."
msgid "Could not find target user."
msgstr "نمی‌توان کاربر هد٠را پیدا کرد."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "لقب باید شامل حرو٠کوچک Ùˆ اعداد Ùˆ بدون Ùاصله باشد."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "این لقب در حال حاضر ثبت شده است. لطÙا یکی دیگر انتخاب کنید."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "لقب نا معتبر."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "برگهٔ آغازین یک نشانی معتبر نیست."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "نام کامل طولانی است (۲۵۵ حر٠در حالت بیشینه(."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "توصی٠بسیار زیاد است (حداکثر %d حرÙ)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "مکان طولانی است (حداکثر Û²ÛµÛµ حرÙ)"
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "نام‌های مستعار بسیار زیاد هستند! حداکثر %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "نام‌مستعار غیر مجاز: «%s»"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "نام‌مستعار «%s» ازپیش گرÙته‌شده‌است. یکی دیگر را امتحان کنید."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "نام و نام مستعار شما نمی تواند یکی باشد ."
@@ -442,15 +461,15 @@ msgstr "نام و نام مستعار شما نمی تواند یکی باشد .
msgid "Group not found!"
msgstr "گروه یاÙت نشد!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "شما از پیش یک عضو این گروه هستید."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "دسترسی شما به گروه توسط مدیر آن محدود شده است."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "عضویت %s در گروه %s نا موÙÙ‚ بود."
@@ -459,7 +478,7 @@ msgstr "عضویت %s در گروه %s نا موÙÙ‚ بود."
msgid "You are not a member of this group."
msgstr "شما یک عضو این گروه نیستید."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "خارج شدن %s از گروه %s نا موÙÙ‚ بود"
@@ -491,7 +510,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -533,7 +552,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -556,13 +575,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "حساب کاربری"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -645,18 +664,6 @@ msgstr "%s / دوست داشتنی از %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s به روز رسانی های دوست داشتنی %s / %s"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "خط زمانی %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "به روز رسانی‌های %1$s در %2$s"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -667,12 +674,12 @@ msgstr "%$1s / به روز رسانی های شامل %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s به روز رسانی هایی که در پاسخ به $2$s / %3$s"
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s خط‌زمانی عمومی"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s به روز رسانی های عموم"
@@ -687,12 +694,12 @@ msgstr ""
msgid "Repeats of %s"
msgstr "تکرار %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "پیام‌هایی که با %s نشانه گزاری شده اند."
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "پیام‌های نشانه گزاری شده با %1$s در %2$s"
@@ -708,8 +715,7 @@ msgstr "چنین پیوستی وجود ندارد."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "بدون لقب."
@@ -721,7 +727,7 @@ msgstr "بدون اندازه."
msgid "Invalid size."
msgstr "اندازه‌ی نادرست"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "چهره"
@@ -734,35 +740,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "کاربر بدون مشخصات"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "تنظیمات چهره"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "اصلی"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "پیش‌نمایش"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "حذÙ"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "پایین‌گذاری"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "برش"
@@ -770,7 +776,7 @@ msgstr "برش"
msgid "Pick a square area of the image to be your avatar"
msgstr "یک مربع از عکس خود را انتخاب کنید تا چهره‌ی شما باشد."
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Ùایل اطلاعات خود را Ú¯Ù… کرده ایم."
@@ -806,22 +812,22 @@ msgstr ""
"نخواهید شد"
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "خیر"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "کاربر را مسدود نکن"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "بله"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "کاربر را مسدود کن"
@@ -829,39 +835,43 @@ msgstr "کاربر را مسدود کن"
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "چنین گروهی وجود ندارد."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s کاربران مسدود شده"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s کاربران مسدود شده، صÙحه‌ی %d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Ùهرستی از اÙراد مسدود شده در پیوستن به این گروه."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "آزاد کردن کاربر در پیوستن به گروه"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "آزاد سازی"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "آزاد سازی کاربر"
@@ -918,7 +928,7 @@ msgid "Conversation"
msgstr "مکالمه"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "پیام‌ها"
@@ -940,7 +950,7 @@ msgstr "شما یک عضو این گروه نیستید."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -969,12 +979,13 @@ msgstr "این پیام را پاک نکن"
msgid "Delete this application"
msgstr "این پیام را پاک کن"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "شما به سیستم وارد نشده اید."
@@ -1003,7 +1014,7 @@ msgstr "آیا اطمینان دارید Ú©Ù‡ می‌خواهید این پیاÙ
msgid "Do not delete this notice"
msgstr "این پیام را پاک نکن"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "این پیام را پاک کن"
@@ -1019,7 +1030,7 @@ msgstr "شما Ùقط می‌توانید کاربران محلی را پاک Ú©
msgid "Delete user"
msgstr "حذ٠کاربر"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1027,12 +1038,12 @@ msgstr ""
"آیا مطمئن هستید که می‌خواهید این کاربر را پاک کنید؟ با این کار تمام اطلاعات "
"پاک و بدون برگشت خواهند بود."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "حذ٠این کاربر"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "طرح"
@@ -1135,6 +1146,18 @@ msgstr "بازگرداندن طرح‌های پیش‌Ùرض"
msgid "Reset back to default"
msgstr "برگشت به حالت پیش گزیده"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "ذخیره‌کردن"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "ذخیره‌کردن طرح"
@@ -1235,30 +1258,30 @@ msgstr "ویرایش گروه %s"
msgid "You must be logged in to create a group."
msgstr "برای ساخت یک گروه، باید وارد شده باشید."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "برای ویرایش گروه، باید یک مدیر باشید."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "از این روش برای ویرایش گروه استÙاده کنید."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "توصی٠بسیار زیاد است (حداکثر %d حرÙ)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "نمی‌توان نام‌های مستعار را ساخت."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "گزینه‌ها ذخیره شدند."
@@ -1377,7 +1400,7 @@ msgid "Cannot normalize that email address"
msgstr "نمی‌توان نشانی را قانونی کرد"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "یک آدرس ایمیل معتبر نیست."
@@ -1567,6 +1590,25 @@ msgstr "چنین پرونده‌ای وجود ندارد."
msgid "Cannot read file."
msgstr "نمی‌توان پرونده را خواند."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "اندازه‌ی نادرست"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "شما نمی توانید کاربری را در این سایت ساکت کنید."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "کاربر قبلا ساکت شده است."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1596,7 +1638,7 @@ msgstr "هم اکنون دسترسی کاربر به گروه مسدود شده
msgid "User is not a member of group."
msgstr "کاربر عضو گروه نیست."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "دسترسی کاربر به گروه را مسدود کن"
@@ -1628,92 +1670,98 @@ msgstr ""
msgid "You must be logged in to edit a group."
msgstr "برای ویرایش گروه باید وارد شوید."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "ظاهر گروه"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr "ظاهر گروه را تغییر دهید تا شما را راضی کند."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "نمی‌توان ظاهر را به روز کرد."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "ترجیحات طرح ذخیره شد."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "نشان گروه"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "شما می‌توانید یک نشان برای گروه خود با بیشینه حجم %s بÙرستید."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "کاربر بدون مشخصات"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "یک ناحیه‌ی مربع از تصویر را انتخاب کنید تا به عنوان نشان باشد."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "نشان به‌هنگام‌سازی شد."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "اشکال در ارسال نشان."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "اعضای گروه %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "اعضای گروه %sØŒ صÙحهٔ %d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "یک Ùهرست از کاربران در این گروه"
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "مدیر"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "بازداشتن"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "کاربر یک مدیر گروه شود"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "مدیر شود"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "این کاربر یک مدیر شود"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "خط زمانی %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "به روز رسانی کابران %1$s در %2$s"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "گروه‌ها"
@@ -1967,16 +2015,19 @@ msgstr "پیام خصوصی"
msgid "Optionally add a personal message to the invitation."
msgstr "اگر دوست دارید می‌توانید یک پیام به همراه دعوت نامه ارسال کنید."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Ùرستادن"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s شما را دعوت کرده است که در %2$s به آن‌ها بپیوندید."
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2011,7 +2062,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "برای پیوستن به یک گروه، باید وارد شده باشید."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "بدون لقب."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "ملحق شدن به گروه"
@@ -2020,11 +2076,11 @@ msgstr "ملحق شدن به گروه"
msgid "You must be logged in to leave a group."
msgstr "برای ترک یک گروه، شما باید وارد شده باشید."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "شما یک کاربر این گروه نیستید."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s گروه %s را ترک کرد."
@@ -2041,8 +2097,7 @@ msgstr "نام کاربری یا رمز عبور نادرست."
msgid "Error setting user. You are probably not authorized."
msgstr "خطا در تنظیم کاربر. شما احتمالا اجازه ی این کار را ندارید."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "ورود"
@@ -2300,8 +2355,8 @@ msgstr "نوع محتوا "
msgid "Only "
msgstr " Ùقط"
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست."
@@ -2447,7 +2502,8 @@ msgstr "نمی‌توان گذرواژه جدید را ذخیره کرد."
msgid "Password saved."
msgstr "گذرواژه ذخیره شد."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "مسیر ها"
@@ -2480,7 +2536,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "سایت"
@@ -2568,7 +2623,7 @@ msgstr "شاخهٔ تصاویر پیش‌زمینه"
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "هیچ وقت"
@@ -2624,11 +2679,11 @@ msgstr "یک برچسب کاربری معتبر نیست: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "کاربران خود برچسب‌گذاری شده با %s - صÙحهٔ %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "محتوای آگهی نامعتبر"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2653,7 +2708,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "Û±-Û¶Û´ کاراکتر Ú©ÙˆÚ†Ú© یا اعداد، بدون نقطه گذاری یا Ùاصله"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "نام‌کامل"
@@ -2681,7 +2736,7 @@ msgid "Bio"
msgstr "شرح‌حال"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2706,7 +2761,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "زبان"
@@ -2732,7 +2787,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr ""
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "منطقه‌ی زمانی انتخاب نشده است."
@@ -2761,7 +2816,8 @@ msgstr "نمی‌توان شناسه را ذخیره کرد."
msgid "Couldn't save tags."
msgstr "نمی‌توان نشان را ذخیره کرد."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "تنظیمات ذخیره شد."
@@ -2774,45 +2830,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "خط زمانی عمومی، صÙحه‌ی %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "خط زمانی عمومی"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "اولین کسی باشید Ú©Ù‡ پیام می‌Ùرستد!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr "چرا [ثبت نام](%%action.register%%) نمی‌کنید Ùˆ اولین پیام را نمی‌Ùرستید؟"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2821,7 +2877,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2994,8 +3050,7 @@ msgstr "با عرض تاسÙØŒ کد دعوت نا معتبر است."
msgid "Registration successful"
msgstr "ثبت نام با موÙقیت انجام شد."
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "ثبت نام"
@@ -3034,7 +3089,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "پست الکترونیکی"
@@ -3122,7 +3177,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr ""
@@ -3158,7 +3213,7 @@ msgstr "شما نمی توانید Ø¢Ú¯Ù‡ÛŒ خودتان را تکرار Ú©Ù†ÛŒØ
msgid "You already repeated that notice."
msgstr "شما قبلا آن آگهی را تکرار کردید."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr ""
@@ -3166,47 +3221,47 @@ msgstr ""
msgid "Repeated!"
msgstr ""
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "پاسخ‌های به %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "پاسخ‌های به %s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "خوراک پاسخ‌ها برای %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "خوراک پاسخ‌ها برای %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "خوراک پاسخ‌ها برای %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, fuzzy, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr "این خط‌زمانی %s و دوستانش است، اما هیچ‌یک تاکنون چیزی پست نکرده‌اند."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, fuzzy, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3220,6 +3275,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "شما نمی توانید کاربری را در این سایت ساکت کنید."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "کاربر بدون مشخصات"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3233,8 +3298,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3259,8 +3325,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr ""
@@ -3294,8 +3360,8 @@ msgstr "صÙحه بندى"
msgid "Description"
msgstr ""
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "آمار"
@@ -3357,35 +3423,35 @@ msgstr "دوست داشتنی های %s"
msgid "Could not retrieve favorite notices."
msgstr "ناتوان در بازیابی آگهی های محبوب."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr ""
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr ""
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr ""
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3393,7 +3459,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "این یک راه است برای به اشتراک گذاشتن آنچه که دوست دارید."
@@ -3407,67 +3473,67 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "اعضای گروه %sØŒ صÙحهٔ %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr ""
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr ""
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "نام های مستعار"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr ""
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "اعضا"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "هیچ"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "همه ی اعضا"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "ساخته شد"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3477,7 +3543,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3486,7 +3552,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3600,149 +3666,140 @@ msgid "User is already silenced."
msgstr "کاربر قبلا ساکت شده است."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "تنظیمات پایه ای برای این سایت StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "نام سایت باید طولی غیر صÙر داشته باشد."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "شما باید یک آدرس ایمیل قابل قبول برای ارتباط داشته باشید"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "نام وب‌گاه"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "نام وب‌گاه شما، مانند «میکروبلاگ شرکت شما»"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "أورده شده به وسیله ی"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr ""
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "محلی"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "منطقه ÛŒ زمانی پیش Ùرض"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "منظقه ÛŒ زمانی پیش Ùرض برای سایت؛ معمولا UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "زبان پیش Ùرض سایت"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr ""
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr ""
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "محدودیت ها"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "محدودیت متن"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "بیشینهٔ تعداد حرو٠برای آگهی‌ها"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"چه مدت کاربران باید منتظر بمانند ( به ثانیه ) تا همان چیز را مجددا ارسال "
"کنند."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "خبر سایت"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "پیام جدید"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "نمی‌توان تنظیمات طرح‌تان را ذخیره کرد."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "خبر سایت"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "خبر سایت"
+
#: actions/smssettings.php:58
#, fuzzy
msgid "SMS settings"
@@ -3839,6 +3896,66 @@ msgstr ""
msgid "No code entered"
msgstr "کدی وارد نشد"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "تغییر پیکربندی سایت"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "تنظیمات چهره"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "شما به این پروÙيل متعهد نشدید"
@@ -3945,22 +4062,22 @@ msgstr ""
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "کاربران خود برچسب‌گذاری شده با %s - صÙحهٔ %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr ""
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -4010,7 +4127,7 @@ msgstr ""
msgid "No such tag."
msgstr ""
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "روش API در دست ساخت."
@@ -4034,76 +4151,78 @@ msgstr ""
msgid "Unsubscribed"
msgstr ""
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "کاربر"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "حداکثر طول یک زندگی نامه(در پروÙایل) بر حسب کاراکتر."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "خوشامدگویی کاربر جدید"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "پیام خوشامدگویی برای کاربران جدید( حداکثر 255 کاراکتر)"
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "دعوت نامه ها"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "دعوت نامه ها Ùعال شدند"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "خواه به کاربران اجازه ی دعوت کردن کاربران جدید داده شود."
@@ -4223,16 +4342,22 @@ msgstr "اعضای گروه %sØŒ صÙحهٔ %d"
msgid "Search for more groups"
msgstr "جستجو برای گروه های بیشتر"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "به روز رسانی‌های %1$s در %2$s"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4276,7 +4401,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "شخصی"
@@ -4316,6 +4441,11 @@ msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
msgid "Group leave failed."
msgstr ""
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "نمی‌توان گروه را به‌هنگام‌سازی کرد."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4333,27 +4463,27 @@ msgstr "پیغام نمی تواند درج گردد"
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "مشکل در ذخیره کردن پیام. بسیار طولانی."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "مشکل در ذخیره کردن پیام. کاربر نا شناخته."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"تعداد خیلی زیاد آگهی و بسیار سریع؛ استراحت کنید و مجددا دقایقی دیگر ارسال "
"کنید."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4361,20 +4491,20 @@ msgstr ""
"تعداد زیاد پیام های دو نسخه ای و بسرعت؛ استراحت کنید و دقایقی دیگر مجددا "
"ارسال کنید."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "شما از Ùرستادن پست در این سایت مردود شدید ."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "مشکل در ذخیره کردن آگهی."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "مشکل در ذخیره کردن آگهی."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4399,23 +4529,38 @@ msgstr "تایید نشده!"
msgid "Couldn't delete self-subscription."
msgstr ""
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "نمی‌توان تصدیق پست الکترونیک را پاک کرد."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr ""
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "خوش امدید به %1$s , @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "نمیتوان گروه را تشکیل داد"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "نمیتوان گروه را تشکیل داد"
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr ""
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "نمی‌توان شناس‌نامه را ذخیره کرد."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "تنضبمات پروÙيلتان را تغیر دهید"
@@ -4453,136 +4598,198 @@ msgstr "%s گروه %s را ترک کرد."
msgid "Untitled page"
msgstr "صÙحه ÛŒ بدون عنوان"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "خانه"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "شخصی"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "آدرس ایمیل، آواتار، کلمه ÛŒ عبور، پروÙایل خود را تغییر دهید"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "وصل‌شدن"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "متصل شدن به خدمات"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "وصل‌شدن"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "تغییر پیکربندی سایت"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "دعوت‌کردن"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "مدیر"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr " به شما ملحق شوند %s دوستان و همکاران را دعوت کنید تا در"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "خروج"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "دعوت‌کردن"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "خارج شدن از سایت ."
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "خروج"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "یک حساب کاربری بسازید"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "ثبت نام"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "ورود به وب‌گاه"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Ú©Ù…Ú©"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "ورود"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "به من کمک کنید!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "جست‌وجو"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Ú©Ù…Ú©"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "جستجو برای شخص با متن"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "جست‌وجو"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "خبر سایت"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "دید محلی"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "خبر صÙحه"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Ú©Ù…Ú©"
+
+#: lib/action.php:754
msgid "About"
msgstr "دربارهٔ"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "سوال‌های رایج"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "خصوصی"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "منبع"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "تماس"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet مجوز نرم اÙزار"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
msgstr ""
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4590,109 +4797,151 @@ msgid ""
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "مجوز محتویات سایت"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "همه "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "مجوز."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "صÙحه بندى"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "بعد از"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "قبل از"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "شما نمی توانید در این سایت تغیری ایجاد کنید"
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "اجازه‌ی ثبت نام داده نشده است."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "نمی توان تنظیمات طراحی شده را پاک کرد ."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "پیکره بندی اصلی سایت"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "سایت"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr ""
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "طرح"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "پیکره بندی اصلی سایت"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "کاربر"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "پیکره بندی اصلی سایت"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr ""
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "پیکره بندی اصلی سایت"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "خبر سایت"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "پیکره بندی اصلی سایت"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4784,12 +5033,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "تغییر گذرواژه"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "تغییر گذرواژه"
@@ -4877,12 +5126,12 @@ msgstr "%s گروه %s را ترک کرد."
msgid "Fullname: %s"
msgstr "نام کامل : %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "موقعیت : %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "صÙحه خانگی : %s"
@@ -5067,19 +5316,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "شما ممکن است بخواهید نصاب را اجرا کنید تا این را تعمیر کند."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "برو به نصاب."
@@ -5177,6 +5426,11 @@ msgstr ""
msgid "Go"
msgstr "برو"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5267,23 +5521,23 @@ msgstr "خطای سیستم ارسال Ùایل."
msgid "Not an image or corrupt file."
msgstr "تصویر یا Ùایل خرابی نیست"
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Ùرمت(Ùایل) عکس پشتیبانی نشده."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Ùایلمان Ú¯Ù… شده"
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "نوع Ùایل پشتیبانی نشده"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "مگابایت"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "کیلوبایت"
@@ -5313,11 +5567,11 @@ msgstr "وارد شدن با یک نام کاربری و کلمه ی عبور"
msgid "Sign up for a new account"
msgstr "عضویت برای حساب کاربری جدید"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "تاییدیه ی آدرس ایمیل"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5334,12 +5588,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%2$s از حالا به خبر های شما گوش میده %1$s"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5354,17 +5608,17 @@ msgid ""
"Change your email address or notification options at %8$s\n"
msgstr ""
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "موقعیت : %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "%s ادرس ایمیل جدید برای"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5383,21 +5637,21 @@ msgstr ""
", ازروی ÙˆÙاداری خود شما \n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "وضعیت %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "تایید پیامک"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5413,12 +5667,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5437,12 +5691,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr " خبر شما را به علایق خود اضاÙÙ‡ کرد %s (@%s)"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5463,12 +5717,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "به توجه شما یک خبر Ùرستاده شده %s (@%s)"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5584,6 +5838,12 @@ msgstr "به"
msgid "Available characters"
msgstr "کاراکترهای موجود"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Ùرستادن"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "یک Ø¢Ú¯Ù‡ÛŒ بÙرستید"
@@ -5642,23 +5902,23 @@ msgstr ""
msgid "at"
msgstr "در"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "در زمینه"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "تکرار از"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "به این آگهی جواب دهید"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "جواب دادن"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "آگهی تکرار شد"
@@ -5731,7 +5991,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "اشتراک‌ها"
@@ -5739,23 +5999,23 @@ msgstr "اشتراک‌ها"
msgid "All subscriptions"
msgstr "تمام اشتراک‌ها"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "مشترک‌ها"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "تمام مشترک‌ها"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "شناسه کاربر"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "عضو شده از"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "تمام گروه‌ها"
@@ -5796,7 +6056,12 @@ msgstr "به این آگهی جواب دهید"
msgid "Repeat this notice"
msgstr ""
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "دسترسی کاربر را به گروه مسدود کن"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5816,6 +6081,10 @@ msgstr "جست‌وجوی وب‌گاه"
msgid "Keyword(s)"
msgstr "کلمه(های) کلیدی"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "جست‌وجو"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "راهنمای جستجو"
@@ -5867,6 +6136,15 @@ msgstr ""
msgid "Groups %s is a member of"
msgstr "هست عضو %s گروه"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "دعوت‌کردن"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr " به شما ملحق شوند %s دوستان و همکاران را دعوت کنید تا در"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5937,47 +6215,62 @@ msgstr "پیام"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "پروÙایل کاربر"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "چند ثانیه پیش"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "حدود یک دقیقه پیش"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "حدود %d دقیقه پیش"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "حدود یک ساعت پیش"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "حدود %d ساعت پیش"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "حدود یک روز پیش"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "حدود %d روز پیش"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "حدود یک ماه پیش"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "حدود %d ماه پیش"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "حدود یک سال پیش"
diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po
index b92edf111..68a63537b 100644
--- a/locale/fi/LC_MESSAGES/statusnet.po
+++ b/locale/fi/LC_MESSAGES/statusnet.po
@@ -10,82 +10,89 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:33+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:46+0000\n"
"Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Hyväksy"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Profiilikuva-asetukset"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Rekisteröidy"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Yksityisyys"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "Kutsu"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "Estä"
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Profiilikuva-asetukset"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Tallenna"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Sivua ei ole."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -99,45 +106,53 @@ msgstr "Sivua ei ole."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Käyttäjää ei ole."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s ja kaverit, sivu %d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s ja kaverit"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Käyttäjän %s kavereiden syöte (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Käyttäjän %s kavereiden syöte (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Käyttäjän %s kavereiden syöte (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -145,7 +160,7 @@ msgstr ""
"Tämä on käyttäjän %s ja kavereiden aikajana, mutta kukaan ei ole lähettyänyt "
"vielä mitään."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -154,7 +169,8 @@ msgstr ""
"Kokeile useamman käyttäjän tilaamista, [liity ryhmään] (%%action.groups%%) "
"tai lähetä päivitys itse."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, fuzzy, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -163,14 +179,15 @@ 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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Sinä ja kaverit"
@@ -188,20 +205,20 @@ msgstr "Käyttäjän %1$s ja kavereiden päivitykset palvelussa %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "API-metodia ei löytynyt!"
@@ -235,8 +252,9 @@ msgstr "Ei voitu päivittää käyttäjää."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Käyttäjällä ei ole profiilia."
@@ -261,7 +279,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -380,7 +398,7 @@ msgstr "Julkista päivitysvirtaa ei saatu."
msgid "Could not find target user."
msgstr "Ei löytynyt yhtään päivitystä."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -388,62 +406,62 @@ msgstr ""
"Käyttäjätunnuksessa voi olla ainoastaan pieniä kirjaimia ja numeroita ilman "
"välilyöntiä."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Tunnus on jo käytössä. Yritä toista tunnusta."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Tuo ei ole kelvollinen tunnus."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Kotisivun verkko-osoite ei ole toimiva."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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ä)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Kotipaikka on liian pitkä (max 255 merkkiä)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Liikaa aliaksia. Maksimimäärä on %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Virheellinen alias: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Alias \"%s\" on jo käytössä. Yritä toista aliasta."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias ei voi olla sama kuin ryhmätunnus."
@@ -454,15 +472,15 @@ msgstr "Alias ei voi olla sama kuin ryhmätunnus."
msgid "Group not found!"
msgstr "Ryhmää ei löytynyt!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Sinä kuulut jo tähän ryhmään."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Sinut on estetty osallistumasta tähän ryhmään ylläpitäjän toimesta."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Käyttäjä %s ei voinut liittyä ryhmään %s."
@@ -471,7 +489,7 @@ msgstr "Käyttäjä %s ei voinut liittyä ryhmään %s."
msgid "You are not a member of this group."
msgstr "Sinä et kuulu tähän ryhmään."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Ei voitu poistaa käyttäjää %s ryhmästä %s"
@@ -503,7 +521,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -549,7 +567,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -572,13 +590,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Käyttäjätili"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -663,18 +681,6 @@ msgstr "%s / Käyttäjän %s suosikit"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr " Palvelun %s päivitykset, jotka %s / %s on merkinnyt suosikikseen."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s aikajana"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Käyttäjän %1$s päivitykset palvelussa %2$s!"
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -686,12 +692,12 @@ msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
"%1$s -päivitykset, jotka on vastauksia käyttäjän %2$s / %3$s päivityksiin."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s julkinen aikajana"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s päivitykset kaikilta!"
@@ -706,12 +712,12 @@ msgstr "Vastaukset käyttäjälle %s"
msgid "Repeats of %s"
msgstr "Vastaukset käyttäjälle %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Päivitykset joilla on tagi %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Käyttäjän %1$s päivitykset palvelussa %2$s!"
@@ -727,8 +733,7 @@ msgstr "Liitettä ei ole."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Tunnusta ei ole."
@@ -740,7 +745,7 @@ msgstr "Kokoa ei ole."
msgid "Invalid size."
msgstr "Koko ei kelpaa."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Kuva"
@@ -752,35 +757,35 @@ msgstr "Voit ladata oman profiilikuvasi. Maksimikoko on %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Käyttäjälle ei löydy profiilia"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Profiilikuva-asetukset"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Alkuperäinen"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Esikatselu"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Poista"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Lataa"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Rajaa"
@@ -788,7 +793,7 @@ msgstr "Rajaa"
msgid "Pick a square area of the image to be your avatar"
msgstr "Valitse neliön muotoinen alue kuvasta profiilikuvaksi"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Tiedoston data hävisi."
@@ -821,22 +826,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Ei"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Älä estä tätä käyttäjää"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Kyllä"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Estä tämä käyttäjä"
@@ -844,39 +849,43 @@ msgstr "Estä tämä käyttäjä"
msgid "Failed to save block information."
msgstr "Käyttäjän estotiedon tallennus epäonnistui."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Tuota ryhmää ei ole."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "Käyttäjän profiili"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s ja kaverit, sivu %d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Lista käyttäjistä, jotka ovat estetty liittymästä tähän ryhmään."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Poista käyttäjän esto ryhmästä"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Poista esto"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Poista esto tältä käyttäjältä"
@@ -934,7 +943,7 @@ msgid "Conversation"
msgstr "Keskustelu"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Päivitykset"
@@ -957,7 +966,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Istuntoavaimesi kanssa oli ongelma."
@@ -983,12 +992,13 @@ msgstr "Älä poista tätä päivitystä"
msgid "Delete this application"
msgstr "Poista tämä päivitys"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Et ole kirjautunut sisään."
@@ -1017,7 +1027,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Poista tämä päivitys"
@@ -1034,19 +1044,19 @@ msgstr "Et voi poistaa toisen käyttäjän päivitystä."
msgid "Delete user"
msgstr "Poista käyttäjä"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "Poista tämä päivitys"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Ulkoasu"
@@ -1154,6 +1164,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Tallenna"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1257,30 +1279,30 @@ msgstr "Muokkaa ryhmää %s"
msgid "You must be logged in to create a group."
msgstr "Sinun pitää olla kirjautunut sisään jotta voit luoda ryhmän."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Sinun pitää olla ylläpitäjä, jotta voit muokata ryhmää"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Käytä tätä lomaketta muokataksesi ryhmää."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "kuvaus on liian pitkä (max %d merkkiä)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Ei voitu päivittää ryhmää."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Ei voitu lisätä aliasta."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Asetukset tallennettu."
@@ -1403,7 +1425,7 @@ msgid "Cannot normalize that email address"
msgstr "Ei voida normalisoida sähköpostiosoitetta"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Tuo ei ole kelvollinen sähköpostiosoite."
@@ -1597,6 +1619,25 @@ msgstr "Tiedostoa ei ole."
msgid "Cannot read file."
msgstr "Tiedostoa ei voi lukea."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Koko ei kelpaa."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Et voi lähettää viestiä tälle käyttäjälle."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Käyttäjä on asettanut eston sinulle."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1627,7 +1668,7 @@ msgstr "Käyttäjä on asettanut eston sinulle."
msgid "User is not a member of group."
msgstr "Käyttäjä ei kuulu tähän ryhmään."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Estä käyttäjä ryhmästä"
@@ -1661,92 +1702,98 @@ msgid "You must be logged in to edit a group."
msgstr ""
"Sinun pitää olla kirjautunut sisään, jotta voit muuttaa ryhmän tietoja."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Ryhmän ulkoasu"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Ei voitu päivittää sinun sivusi ulkoasua."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Ulkoasuasetukset tallennettu."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Ryhmän logo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "Voit ladata ryhmälle logokuvan. Maksimikoko on %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Käyttäjälle ei löydy profiilia"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Valitse neliön muotoinen alue kuvasta logokuvaksi"
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo päivitetty."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Logon päivittäminen epäonnistui."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Ryhmän %s jäsenet"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "Ryhmän %s jäsenet, sivu %d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Lista ryhmän käyttäjistä."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Ylläpito"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Estä"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Tee tästä käyttäjästä ylläpitäjä"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Tee ylläpitäjäksi"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Tee tästä käyttäjästä ylläpitäjä"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s aikajana"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Ryhmän %1$s käyttäjien päivitykset palvelussa %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Ryhmät"
@@ -2002,16 +2049,19 @@ msgstr "Henkilökohtainen viesti"
msgid "Optionally add a personal message to the invitation."
msgstr "Voit myös lisätä oman viestisi kutsuun"
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Lähetä"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s on kutsunut sinut liittymään palveluun %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2071,7 +2121,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Sinun pitää olla kirjautunut sisään, jos haluat liittyä ryhmään."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Tunnusta ei ole."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s liittyi ryhmään %s"
@@ -2080,11 +2135,11 @@ msgstr "%s liittyi ryhmään %s"
msgid "You must be logged in to leave a group."
msgstr "Sinun pitää olla kirjautunut sisään, jotta voit erota ryhmästä."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Sinä et kuulu tähän ryhmään."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s erosi ryhmästä %s"
@@ -2102,8 +2157,7 @@ msgstr "Väärä käyttäjätunnus tai salasana"
msgid "Error setting user. You are probably not authorized."
msgstr "Sinulla ei ole valtuutusta tähän."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Kirjaudu sisään"
@@ -2364,8 +2418,8 @@ msgstr "Yhdistä"
msgid "Only "
msgstr "Vain "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Tuo ei ole tuettu tietomuoto."
@@ -2511,7 +2565,8 @@ msgstr "Uutta salasanaa ei voida tallentaa."
msgid "Password saved."
msgstr "Salasana tallennettu."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Polut"
@@ -2544,7 +2599,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "Kutsu"
@@ -2640,7 +2694,7 @@ msgstr "Taustakuvan hakemisto"
msgid "SSL"
msgstr "SMS"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Palauta"
@@ -2701,11 +2755,11 @@ msgstr "Ei sallittu henkilötagi: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Käyttäjät joilla henkilötagi %s - sivu %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Päivityksen sisältö ei kelpaa"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2732,7 +2786,7 @@ msgstr ""
"välilyöntejä"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Koko nimi"
@@ -2760,7 +2814,7 @@ msgid "Bio"
msgstr "Tietoja"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2787,7 +2841,7 @@ msgstr ""
"Kuvaa itseäsi henkilötageilla (sanoja joissa voi olla muita kirjaimia kuin "
"ääkköset, numeroita, -, ., ja _), pilkulla tai välilyönnillä erotettuna"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Kieli"
@@ -2815,7 +2869,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "\"Tietoja\" on liian pitkä (max 140 merkkiä)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Aikavyöhykettä ei ole valittu."
@@ -2845,7 +2899,8 @@ msgstr "Ei voitu tallentaa profiilia."
msgid "Couldn't save tags."
msgstr "Tageja ei voitu tallentaa."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Asetukset tallennettu."
@@ -2858,45 +2913,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Julkista päivitysvirtaa ei saatu."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Julkinen aikajana, sivu %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Julkinen aikajana"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Julkinen syöte (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Julkisen Aikajanan Syöte (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Julkinen syöte (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Ole ensimmäinen joka lähettää päivityksen!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2905,7 +2960,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3082,8 +3137,7 @@ msgstr "Virheellinen kutsukoodin."
msgid "Registration successful"
msgstr "Rekisteröityminen onnistui"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Rekisteröidy"
@@ -3124,7 +3178,7 @@ msgid "Same as password above. Required."
msgstr "Sama kuin ylläoleva salasana. Pakollinen."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Sähköposti"
@@ -3234,7 +3288,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "Profiilisi URL-osoite toisessa yhteensopivassa mikroblogauspalvelussa"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Tilaa"
@@ -3278,7 +3332,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "Luotu"
@@ -3288,33 +3342,33 @@ msgstr "Luotu"
msgid "Repeated!"
msgstr "Luotu"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Vastaukset käyttäjälle %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Viesti käyttäjälle %1$s, %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Päivityksien syöte käyttäjälle %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Päivityksien syöte käyttäjälle %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Päivityksien syöte käyttäjälle %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, fuzzy, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3323,14 +3377,14 @@ msgstr ""
"Tämä on käyttäjän %s aikajana, mutta %s ei ole lähettänyt vielä yhtään "
"päivitystä."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, fuzzy, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3344,6 +3398,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Viesti käyttäjälle %1$s, %2$s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Et voi lähettää viestiä tälle käyttäjälle."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Käyttäjälle ei löydy profiilia"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3359,8 +3423,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3385,8 +3450,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Profiilikuva-asetukset"
@@ -3421,8 +3486,8 @@ msgstr "Sivutus"
msgid "Description"
msgstr "Kuvaus"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Tilastot"
@@ -3483,35 +3548,35 @@ msgstr "Käyttäjän %s suosikkipäivitykset"
msgid "Could not retrieve favorite notices."
msgstr "Ei saatu haettua suosikkipäivityksiä."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Käyttäjän %s kavereiden syöte (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Käyttäjän %s kavereiden syöte (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Käyttäjän %s kavereiden syöte (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3519,7 +3584,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3533,67 +3598,67 @@ msgstr "Ryhmä %s"
msgid "%1$s group, page %2$d"
msgstr "Ryhmän %s jäsenet, sivu %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Ryhmän profiili"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Huomaa"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Aliakset"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Ryhmän toiminnot"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Syöte ryhmän %s päivityksille (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Syöte ryhmän %s päivityksille (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Syöte ryhmän %s päivityksille (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Käyttäjän %s lähetetyt viestit"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Jäsenet"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Tyhjä)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Kaikki jäsenet"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Luotu"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3603,7 +3668,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3614,7 +3679,7 @@ msgstr ""
"**%s** on ryhmä palvelussa %%%%site.name%%%%, joka on [mikroblogauspalvelu]"
"(http://en.wikipedia.org/wiki/Micro-blogging)"
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Ylläpitäjät"
@@ -3732,150 +3797,140 @@ msgid "User is already silenced."
msgstr "Käyttäjä on asettanut eston sinulle."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr ""
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
+msgstr "Ulkoasuasetukset tälle StatusNet palvelulle."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Tuo ei ole kelvollinen sähköpostiosoite"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Palvelun ilmoitus"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Uusi sähköpostiosoite päivityksien lähettämiseen palveluun %s"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Paikalliset näkymät"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "Ensisijainen kieli"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Palvelun ilmoitus"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Uusi viesti"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Twitter-asetuksia ei voitu tallentaa!"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Palvelun ilmoitus"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Palvelun ilmoitus"
#: actions/smssettings.php:58
#, fuzzy
@@ -3979,6 +4034,66 @@ msgstr ""
msgid "No code entered"
msgstr "Koodia ei ole syötetty."
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Ensisijainen sivunavigointi"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Profiilikuva-asetukset"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
@@ -4085,22 +4200,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Käyttäjät joilla henkilötagi %s - sivu %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Päivityksien syöte käyttäjälle %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Päivityksien syöte käyttäjälle %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Päivityksien syöte käyttäjälle %s"
@@ -4157,7 +4272,7 @@ msgstr ""
msgid "No such tag."
msgstr "Tuota tagia ei ole."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API-metodi on työn alla!"
@@ -4184,83 +4299,85 @@ msgstr "Ei profiili id:tä kyselyssä."
msgid "Unsubscribed"
msgstr "Tilaus lopetettu"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Käyttäjä"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profiili"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "Kutsu uusia käyttäjiä"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Kaikki tilaukset"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, 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:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Kutsu(t) lähetettiin"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "Kutsu(t) lähetettiin"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4393,16 +4510,22 @@ msgstr "Ryhmän %s jäsenet, sivu %d"
msgid "Search for more groups"
msgstr "Hae lisää ryhmiä"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "Sinä et kuulu tähän ryhmään."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Käyttäjän %1$s päivitykset palvelussa %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4446,7 +4569,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Omat"
@@ -4487,6 +4610,11 @@ msgstr "Ei voitu päivittää ryhmää."
msgid "Group leave failed."
msgstr "Ryhmän profiili"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Ei voitu päivittää ryhmää."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4505,28 +4633,28 @@ msgstr "Viestin tallennus ei onnistunut."
msgid "Could not update message with new URI."
msgstr "Viestin päivittäminen uudella URI-osoitteella ei onnistunut."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Tietokantavirhe tallennettaessa risutagiä: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Ongelma päivityksen tallentamisessa."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Virhe tapahtui päivityksen tallennuksessa. Tuntematon käyttäjä."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka "
"päivityksien lähettämista muutaman minuutin päästä."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4534,20 +4662,20 @@ msgstr ""
"Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka "
"päivityksien lähettämista muutaman minuutin päästä."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Päivityksesi tähän palveluun on estetty."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Ongelma päivityksen tallentamisessa."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Ongelma päivityksen tallentamisessa."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4575,23 +4703,38 @@ msgstr "Ei ole tilattu!."
msgid "Couldn't delete self-subscription."
msgstr "Ei voitu poistaa tilausta."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Ei voitu poistaa tilausta."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Ei voitu poistaa tilausta."
-#: classes/User.php:372
+#: classes/User.php:373
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Viesti käyttäjälle %1$s, %2$s"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Ryhmän luonti ei onnistunut."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Ryhmän jäsenyystietoja ei voitu asettaa."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Ryhmän jäsenyystietoja ei voitu asettaa."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Tilausta ei onnistuttu tallentamaan."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Vaihda profiiliasetuksesi"
@@ -4630,127 +4773,188 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "Nimetön sivu"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Ensisijainen sivunavigointi"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Koti"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Henkilökohtainen profiili ja kavereiden aikajana"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Omat"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Muuta sähköpostiosoitettasi, kuvaasi, salasanaasi, profiiliasi"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Yhdistä"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Ei voitu uudelleenohjata palvelimelle: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Yhdistä"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Ensisijainen sivunavigointi"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Kutsu"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Ylläpito"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Kutsu kavereita ja työkavereita liittymään palveluun %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Kirjaudu ulos"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Kutsu"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Kirjaudu ulos palvelusta"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Kirjaudu ulos"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Luo uusi käyttäjätili"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Rekisteröidy"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Kirjaudu sisään palveluun"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Ohjeet"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Kirjaudu sisään"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Auta minua!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Haku"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Ohjeet"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Hae ihmisiä tai tekstiä"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Haku"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Palvelun ilmoitus"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Paikalliset näkymät"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Sivuilmoitus"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Toissijainen sivunavigointi"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Ohjeet"
+
+#: lib/action.php:754
msgid "About"
msgstr "Tietoa"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "UKK"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Yksityisyys"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Lähdekoodi"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Ota yhteyttä"
-#: lib/action.php:751
+#: lib/action.php:771
#, fuzzy
msgid "Badge"
msgstr "Tönäise"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet-ohjelmiston lisenssi"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4759,12 +4963,12 @@ msgstr ""
"**%%site.name%%** on mikroblogipalvelu, jonka tarjoaa [%%site.broughtby%%](%%"
"site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** on mikroblogipalvelu. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4775,117 +4979,159 @@ msgstr ""
"versio %s, saatavilla lisenssillä [GNU Affero General Public License](http://"
"www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "StatusNet-ohjelmiston lisenssi"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Kaikki "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "lisenssi."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Sivutus"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Myöhemmin"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Aiemmin"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "Et voi lähettää viestiä tälle käyttäjälle."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Rekisteröityminen ei ole sallittu."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Komentoa ei ole vielä toteutettu."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Komentoa ei ole vielä toteutettu."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "Twitter-asetuksia ei voitu tallentaa!"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Sähköpostiosoitteen vahvistus"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Kutsu"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "SMS vahvistus"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Ulkoasu"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "SMS vahvistus"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Käyttäjä"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS vahvistus"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS vahvistus"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "SMS vahvistus"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Palvelun ilmoitus"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS vahvistus"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4981,12 +5227,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Salasanan vaihto"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Salasanan vaihto"
@@ -5072,12 +5318,12 @@ msgstr "%s erosi ryhmästä %s"
msgid "Fullname: %s"
msgstr "Koko nimi: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Kotipaikka: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Kotisivu: %s"
@@ -5267,20 +5513,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Varmistuskoodia ei ole annettu."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
#, fuzzy
msgid "Go to the installer."
msgstr "Kirjaudu sisään palveluun"
@@ -5382,6 +5628,11 @@ msgstr "Valitse tagi lyhentääksesi listaa"
msgid "Go"
msgstr "Mene"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "Ryhmän tai aiheen kotisivun tai blogin osoite"
@@ -5475,23 +5726,23 @@ msgstr "Tiedoston lähetyksessä tapahtui järjestelmävirhe."
msgid "Not an image or corrupt file."
msgstr "Tuo ei ole kelvollinen kuva tai tiedosto on rikkoutunut."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Kuvatiedoston formaattia ei ole tuettu."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Tiedosto hävisi."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Tunnistamaton tiedoston tyyppi"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5521,11 +5772,11 @@ msgstr "Kirjaudu sisään käyttäjätunnuksella ja salasanalla"
msgid "Sign up for a new account"
msgstr "Luo uusi käyttäjätili"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Sähköpostiosoitteen vahvistus"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5542,12 +5793,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s seuraa nyt päivityksiäsi palvelussa %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5572,19 +5823,19 @@ msgstr ""
"----\n"
"Voit vaihtaa sähköpostiosoitetta tai ilmoitusasetuksiasi %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"Tietoja: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Uusi sähköpostiosoite päivityksien lähettämiseen palveluun %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5605,21 +5856,21 @@ msgstr ""
"Terveisin,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s päivitys"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS vahvistus"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s tönäisi sinua"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5635,12 +5886,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Uusi yksityisviesti käyttäjältä %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5659,12 +5910,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s lisäsi päivityksesi suosikkeihinsa"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5685,12 +5936,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5806,6 +6057,12 @@ msgstr "Vastaanottaja"
msgid "Available characters"
msgstr "Sallitut merkit"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Lähetä"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Lähetä päivitys"
@@ -5865,25 +6122,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "Ei sisältöä!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Luotu"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Vastaa tähän päivitykseen"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Vastaus"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Päivitys on poistettu."
@@ -5959,7 +6216,7 @@ msgstr "Tagit käyttäjän %s päivityksissä"
msgid "Unknown"
msgstr "Tuntematon toiminto"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Tilaukset"
@@ -5967,24 +6224,24 @@ msgstr "Tilaukset"
msgid "All subscriptions"
msgstr "Kaikki tilaukset"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Tilaajat"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Kaikki tilaajat"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "Käyttäjä"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Käyttäjänä alkaen"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Kaikki ryhmät"
@@ -6027,7 +6284,12 @@ msgstr "Vastaa tähän päivitykseen"
msgid "Repeat this notice"
msgstr "Vastaa tähän päivitykseen"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Estä tätä käyttäjää osallistumassa tähän ryhmään"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6050,6 +6312,10 @@ msgstr "Haku"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Haku"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6104,6 +6370,15 @@ msgstr "Ihmiset jotka ovat käyttäjän %s tilaajia"
msgid "Groups %s is a member of"
msgstr "Ryhmät, joiden jäsen %s on"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Kutsu"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Kutsu kavereita ja työkavereita liittymään palveluun %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6178,47 +6453,63 @@ msgstr "Viesti"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Käyttäjän profiili"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Ylläpitäjät"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "muutama sekunti sitten"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "noin minuutti sitten"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "noin %d minuuttia sitten"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "noin tunti sitten"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "noin %d tuntia sitten"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "noin päivä sitten"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "noin %d päivää sitten"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "noin kuukausi sitten"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "noin %d kuukautta sitten"
-#: lib/util.php:970
+#: lib/util.php:1033
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 cf0cc849b..4c9429e21 100644
--- a/locale/fr/LC_MESSAGES/statusnet.po
+++ b/locale/fr/LC_MESSAGES/statusnet.po
@@ -14,75 +14,81 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:48+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:51+0000\n"
"Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Accès"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Paramètres d’accès au site"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Inscription"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privé"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Interdire aux utilisateurs anonymes (non connectés) de voir le site ?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Sur invitation uniquement"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privé"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Autoriser l’inscription sur invitation seulement."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Fermé"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Sur invitation uniquement"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Fermé"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
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
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Enregistrer"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Page non trouvée"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -96,45 +102,53 @@ msgstr "Page non trouvée"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Utilisateur non trouvé."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s et ses amis, page %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s et ses amis"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Flux pour les amis de %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Flux pour les amis de %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Flux pour les amis de %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -142,7 +156,7 @@ msgstr ""
"Ceci est le flux pour %s et ses amis mais personne n’a rien posté pour le "
"moment."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -151,7 +165,8 @@ msgstr ""
"Essayez de vous abonner à plus d’utilisateurs, de vous [inscrire à un groupe]"
"(%%action.groups%%) ou de poster quelque chose vous-même."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -161,7 +176,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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -170,7 +185,8 @@ msgstr ""
"Pourquoi ne pas [créer un compte](%%%%action.register%%%%) et ensuite faire "
"un clin d’œil à %s ou poster un avis à son intention."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Vous et vos amis"
@@ -188,20 +204,20 @@ msgstr "Statuts de %1$s et ses amis dans %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Méthode API non trouvée !"
@@ -235,8 +251,9 @@ msgstr "Impossible de mettre à jour l’utilisateur."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Aucun profil ne correspond à cet utilisateur."
@@ -262,7 +279,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -374,7 +391,7 @@ msgstr "Impossible de déterminer l’utilisateur source."
msgid "Could not find target user."
msgstr "Impossible de trouver l’utilisateur cible."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -382,62 +399,62 @@ msgstr ""
"Les pseudos ne peuvent contenir que des caractères minuscules et des "
"chiffres, sans espaces."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Pseudo déjà utilisé. Essayez-en un autre."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Pseudo invalide."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "L’adresse du site personnel n’est pas un URL valide. "
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Nom complet trop long (maximum de 255 caractères)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Emplacement trop long (maximum de 255 caractères)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Trop d’alias ! Maximum %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Alias invalide : « %s »"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Alias « %s » déjà utilisé. Essayez-en un autre."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "L’alias ne peut pas être le même que le pseudo."
@@ -448,15 +465,15 @@ msgstr "L’alias ne peut pas être le même que le pseudo."
msgid "Group not found!"
msgstr "Groupe non trouvé !"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Vous êtes déjà membre de ce groupe."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Vous avez été bloqué de ce groupe par l’administrateur."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Impossible de joindre l’utilisateur %1$s au groupe %2$s."
@@ -465,7 +482,7 @@ msgstr "Impossible de joindre l’utilisateur %1$s au groupe %2$s."
msgid "You are not a member of this group."
msgstr "Vous n’êtes pas membre de ce groupe."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Impossible de retirer l’utilisateur %1$s du groupe %2$s."
@@ -496,7 +513,7 @@ msgstr "Jeton incorrect."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -544,7 +561,7 @@ msgstr "Le jeton de connexion %s a été refusé et révoqué."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -572,13 +589,13 @@ msgstr ""
"devriez donner l’accès à votre compte %4$s qu’aux tiers à qui vous faites "
"confiance."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Compte"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -661,18 +678,6 @@ msgstr "%1$s / Favoris de %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s statuts favoris de %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Activité de %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Statuts de %1$s dans %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -683,12 +688,12 @@ msgstr "%1$s / Mises à jour mentionnant %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s statuts en réponses aux statuts de %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Activité publique %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s statuts de tout le monde !"
@@ -703,12 +708,12 @@ msgstr "Repris pour %s"
msgid "Repeats of %s"
msgstr "Reprises de %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Avis marqués avec %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Mises à jour marquées avec %1$s dans %2$s !"
@@ -724,8 +729,7 @@ msgstr "Pièce jointe non trouvée."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Aucun pseudo."
@@ -737,7 +741,7 @@ msgstr "Aucune taille"
msgid "Invalid size."
msgstr "Taille incorrecte."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -751,35 +755,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Utilisateur sans profil correspondant"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Paramètres de l’avatar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Image originale"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Aperçu"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Supprimer"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Transfert"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Recadrer"
@@ -787,7 +791,7 @@ msgstr "Recadrer"
msgid "Pick a square area of the image to be your avatar"
msgstr "Sélectionnez une zone de forme carrée pour définir votre avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Données perdues."
@@ -822,22 +826,22 @@ msgstr ""
"serez pas informé des @-réponses de sa part."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Non"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Ne pas bloquer cet utilisateur"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Oui"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Bloquer cet utilisateur"
@@ -845,39 +849,43 @@ msgstr "Bloquer cet utilisateur"
msgid "Failed to save block information."
msgstr "Impossible d’enregistrer les informations de blocage."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Aucun groupe trouvé."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s profils bloqués"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s profils bloqués, page %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Une liste des utilisateurs dont l’inscription à ce groupe est bloquée."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Débloquer l’utilisateur de ce groupe"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Débloquer"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Débloquer cet utilisateur"
@@ -933,7 +941,7 @@ msgid "Conversation"
msgstr "Conversation"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Avis"
@@ -952,7 +960,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Un problème est survenu avec votre jeton de session."
@@ -978,12 +986,13 @@ msgstr "Ne pas supprimer cette application"
msgid "Delete this application"
msgstr "Supprimer cette application"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Non connecté."
@@ -1012,7 +1021,7 @@ msgstr "Voulez-vous vraiment supprimer cet avis ?"
msgid "Do not delete this notice"
msgstr "Ne pas supprimer cet avis"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Supprimer cet avis"
@@ -1028,7 +1037,7 @@ msgstr "Vous pouvez seulement supprimer les utilisateurs locaux."
msgid "Delete user"
msgstr "Supprimer l’utilisateur"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1036,12 +1045,12 @@ msgstr ""
"Voulez-vous vraiment supprimer cet utilisateur ? Ceci effacera toutes les "
"données à son propos de la base de données, sans sauvegarde."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Supprimer cet utilisateur"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Conception"
@@ -1144,6 +1153,18 @@ msgstr "Restaurer les conceptions par défaut"
msgid "Reset back to default"
msgstr "Revenir aux valeurs par défaut"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Enregistrer"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Sauvegarder la conception"
@@ -1235,29 +1256,29 @@ msgstr "Modifier le groupe %s"
msgid "You must be logged in to create a group."
msgstr "Vous devez ouvrir une session pour créer un groupe."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Vous devez être administrateur pour modifier le groupe."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Remplissez ce formulaire pour modifier les options du groupe."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "la description est trop longue (%d caractères maximum)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Impossible de mettre à jour le groupe."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Impossible de créer les alias."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Vos options ont été enregistrées."
@@ -1377,7 +1398,7 @@ msgid "Cannot normalize that email address"
msgstr "Impossible d’utiliser cette adresse courriel"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Adresse courriel invalide."
@@ -1569,6 +1590,22 @@ msgstr "Fichier non trouvé."
msgid "Cannot read file."
msgstr "Impossible de lire le fichier"
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Rôle invalide."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Ce rôle est réservé et ne peut pas être défini."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Vous ne pouvez pas attribuer des rôles aux utilisateurs sur ce site."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "L'utilisateur a déjà ce rôle."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1598,7 +1635,7 @@ msgstr "Cet utilisateur est déjà bloqué pour le groupe."
msgid "User is not a member of group."
msgstr "L’utilisateur n’est pas membre du groupe."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Bloquer cet utilisateur du groupe"
@@ -1634,11 +1671,11 @@ msgstr "Aucun identifiant."
msgid "You must be logged in to edit a group."
msgstr "Vous devez ouvrir une session pour modifier un groupe."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Conception du groupe"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1646,20 +1683,20 @@ msgstr ""
"Personnalisez l’apparence de votre groupe avec une image d’arrière plan et "
"une palette de couleurs de votre choix"
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Impossible de mettre à jour votre conception."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Préférences de conception enregistrées."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo du groupe"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1667,62 +1704,68 @@ msgstr ""
"Vous pouvez choisir un logo pour votre groupe. La taille maximale du fichier "
"est de %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Utilisateur sans profil correspondant."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Sélectionnez une zone de forme carrée sur l’image qui sera le logo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo mis à jour."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "La mise à jour du logo a échoué."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Membres du groupe %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Membres du groupe %1$s - page %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Liste des utilisateurs inscrits à ce groupe."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administrer"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Bloquer"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Faire de cet utilisateur un administrateur du groupe"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Faire un administrateur"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Faire de cet utilisateur un administrateur"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Activité de %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Mises à jour des membres de %1$s dans %2$s !"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Groupes"
@@ -1988,16 +2031,18 @@ msgstr "Message personnel"
msgid "Optionally add a personal message to the invitation."
msgstr "Ajouter un message personnel à l’invitation (optionnel)."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Envoyer"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s vous invite à vous inscrire sur %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2060,7 +2105,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Vous devez ouvrir une session pour rejoindre un groupe."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Aucun pseudo ou ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s a rejoint le groupe %2$s"
@@ -2069,11 +2118,11 @@ msgstr "%1$s a rejoint le groupe %2$s"
msgid "You must be logged in to leave a group."
msgstr "Vous devez ouvrir une session pour quitter un groupe."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Vous n’êtes pas membre de ce groupe."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s a quitté le groupe %2$s"
@@ -2092,8 +2141,7 @@ msgstr ""
"Erreur lors de la mise en place de l’utilisateur. Vous n’y êtes probablement "
"pas autorisé."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Ouvrir une session"
@@ -2355,8 +2403,8 @@ msgstr "type de contenu "
msgid "Only "
msgstr "Seulement "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Format de données non supporté."
@@ -2496,7 +2544,8 @@ msgstr "Impossible de sauvegarder le nouveau mot de passe."
msgid "Password saved."
msgstr "Mot de passe enregistré."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Chemins"
@@ -2529,7 +2578,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Serveur SSL invalide. La longueur maximale est de 255 caractères."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Site"
@@ -2617,7 +2665,7 @@ msgstr "Dossier des arrière plans"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Jamais"
@@ -2673,11 +2721,11 @@ msgstr "Cette marque est invalide : %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Utilisateurs marqués par eux-mêmes avec %1$s - page %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Contenu de l’avis invalide"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2704,7 +2752,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nom complet"
@@ -2732,7 +2780,7 @@ msgid "Bio"
msgstr "Bio"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2759,7 +2807,7 @@ msgstr ""
"Marques pour vous-même (lettres, chiffres, -, ., et _), séparées par des "
"virgules ou des espaces"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Langue"
@@ -2787,7 +2835,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "La bio est trop longue (%d caractères maximum)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Aucun fuseau horaire n’a été choisi."
@@ -2816,7 +2864,8 @@ msgstr "Impossible d’enregistrer le profil."
msgid "Couldn't save tags."
msgstr "Impossible d’enregistrer les marques."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Préférences enregistrées."
@@ -2829,28 +2878,28 @@ msgstr "Au-delà de la limite de page (%s)"
msgid "Could not retrieve public stream."
msgstr "Impossible de récupérer le flux public."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Flux public - page %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Flux public"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Fil du flux public (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Fil du flux public (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Fil du flux public (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2859,11 +2908,11 @@ msgstr ""
"Ceci est la chronologie publique de %%site.name%% mais personne n’a encore "
"rien posté."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Soyez le premier à poster !"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2871,7 +2920,7 @@ msgstr ""
"Pourquoi ne pas [créer un compte](%%action.register%%) et être le premier à "
"poster !"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2885,7 +2934,7 @@ msgstr ""
"vous avec vos amis, famille et collègues ! ([Plus d’informations](%%doc.help%"
"%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3067,8 +3116,7 @@ msgstr "Désolé, code d’invitation invalide."
msgid "Registration successful"
msgstr "Compte créé avec succès"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Créer un compte"
@@ -3110,7 +3158,7 @@ msgid "Same as password above. Required."
msgstr "Identique au mot de passe ci-dessus. Requis."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Courriel"
@@ -3219,7 +3267,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL de votre profil sur un autre service de micro-blogging compatible"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "S’abonner"
@@ -3256,7 +3304,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Repris"
@@ -3264,33 +3312,33 @@ msgstr "Repris"
msgid "Repeated!"
msgstr "Repris !"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Réponses à %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Réponses à %1$s, page %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Flux des réponses pour %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Flux des réponses pour %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Flux des réponses pour %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3299,7 +3347,7 @@ msgstr ""
"Ceci est la chronologie des réponses à %1$s mais %2$s n’a encore reçu aucun "
"avis à son intention."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3309,7 +3357,7 @@ msgstr ""
"abonner à plus de personnes ou vous [inscrire à des groupes](%%action.groups%"
"%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3324,6 +3372,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Réponses à %1$s sur %2$s !"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Vous ne pouvez pas révoquer les rôles des utilisateurs sur ce site."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "L'utilisateur ne possède pas ce rôle."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3337,8 +3393,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr "L’utilisateur est déjà dans le bac à sable."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessions"
@@ -3362,8 +3419,8 @@ msgstr "Déboguage de session"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Sauvegarder les paramètres du site"
@@ -3393,8 +3450,8 @@ msgstr "Organisation"
msgid "Description"
msgstr "Description"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistiques"
@@ -3456,22 +3513,22 @@ msgstr "Avis favoris de %1$s, page %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Impossible d’afficher les favoris."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Flux pour les amis de %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Flux pour les amis de %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Flux pour les amis de %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3480,7 +3537,7 @@ msgstr ""
"favori sur les avis que vous aimez pour les mémoriser à l’avenir ou les "
"mettre en lumière."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3489,7 +3546,7 @@ msgstr ""
"%s n’a pas ajouté d’avis à ses favoris pour le moment. Publiez quelque chose "
"d’intéressant, et cela pourrait être ajouté à ses favoris :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3500,7 +3557,7 @@ msgstr ""
"un compte](%%%%action.register%%%%), puis poster quelque chose "
"d’intéressant, qui serait ajouté à ses favoris :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "C’est un moyen de partager ce que vous aimez."
@@ -3514,67 +3571,67 @@ msgstr "Groupe %s"
msgid "%1$s group, page %2$d"
msgstr "Groupe %1$s, page %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Profil du groupe"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Note"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Alias"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Actions du groupe"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Fil des avis du groupe %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Fil des avis du groupe %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Fil des avis du groupe %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "ami d’un ami pour le groupe %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Membres"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(aucun)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Tous les membres"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Créé"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3590,7 +3647,7 @@ msgstr ""
"action.register%%%%) pour devenir membre de ce groupe et bien plus ! ([En "
"lire plus](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3603,7 +3660,7 @@ msgstr ""
"logiciel libre [StatusNet](http://status.net/). Ses membres partagent des "
"messages courts à propos de leur vie et leurs intérêts. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administrateurs"
@@ -3728,148 +3785,135 @@ msgid "User is already silenced."
msgstr "Cet utilisateur est déjà réduit au silence."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "Paramètres basiques pour ce site StatusNet."
+msgid "Basic settings for this StatusNet site"
+msgstr "Paramètres basiques pour ce site StatusNet"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Le nom du site ne peut pas être vide."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Vous devez avoir une adresse électronique de contact valide."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Langue « %s » inconnue."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "URL de rapport d’instantanés invalide."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Valeur de lancement d’instantanés invalide."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "La fréquence des instantanés doit être un nombre."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "La limite minimale de texte est de 140 caractères."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "La limite de doublon doit être d’une seconde ou plus."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Général"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nom du site"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Le nom de votre site, comme « Microblog de votre compagnie »"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Apporté par"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Texte utilisé pour le lien de crédits au bas de chaque page"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "Apporté par URL"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL utilisée pour le lien de crédits au bas de chaque page"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Adresse de courriel de contact de votre site"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Local"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Zone horaire par défaut"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Zone horaire par défaut pour ce site ; généralement UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr "Langue du site par défaut"
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Instantanés"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Au hasard lors des requêtes web"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Dans une tâche programée"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Instantanés de données"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
+msgstr "Langue par défaut"
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Quand envoyer des données statistiques aux serveurs status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Fréquence"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Les instantanés seront envoyés une fois tous les N requêtes"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL de rapport"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Les instantanés seront envoyés à cette URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
+"Langue du site lorsque la détection automatique des paramètres du navigateur "
+"n'est pas disponible"
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limites"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Limite de texte"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Nombre maximal de caractères pour les avis."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Limite de doublons"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Combien de temps (en secondes) les utilisateurs doivent attendre pour poster "
"la même chose de nouveau."
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Avis du site"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Modifier un message portant sur tout le site"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Impossible d'enregistrer l'avis du site."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "La longueur maximale pour l'avis du site est de 255 caractères"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "Texte de l'avis du site"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+"Texte de l'avis portant sur tout le site (max. 255 caractères ; HTML activé)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Enregistrer l'avis du site"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Paramètres SMS"
@@ -3973,6 +4017,64 @@ msgstr ""
msgid "No code entered"
msgstr "Aucun code entré"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Instantanés"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "Gérer la configuration des instantanés"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Valeur de lancement d’instantanés invalide."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "La fréquence des instantanés doit être un nombre."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "URL de rapport d’instantanés invalide."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Au hasard lors des requêtes web"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Dans une tâche programée"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Instantanés de données"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Quand envoyer des données statistiques aux serveurs status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Fréquence"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Les instantanés seront envoyés une fois tous les N requêtes"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL de rapport"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Les instantanés seront envoyés à cette URL"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Sauvegarder les paramètres des instantanés"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Vous n’êtes pas abonné(e) à ce profil."
@@ -3984,17 +4086,17 @@ msgstr "Impossible d’enregistrer l’abonnement."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Cette action n'accepte que les requêtes de type POST."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Fichier non trouvé."
+msgstr "Profil non-trouvé."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Vous n’êtes pas abonné(e) à ce profil."
+msgstr ""
+"Vous ne pouvez pas vous abonner à un profil OMB 0.1 distant par cette "
+"action."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4089,22 +4191,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Avis marqués avec %1$s, page %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Flux des avis pour la marque %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Flux des avis pour la marque %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Flux des avis pour la marque %s (Atom)"
@@ -4159,7 +4261,7 @@ msgstr ""
msgid "No such tag."
msgstr "Cette marque n’existe pas."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Méthode API en construction."
@@ -4183,7 +4285,7 @@ msgstr "Aucune identité de profil dans la requête."
msgid "Unsubscribed"
msgstr "Désabonné"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4191,71 +4293,72 @@ msgstr ""
"La licence du flux auquel vous êtes abonné(e), « %1$s », n’est pas compatible "
"avec la licence du site « %2$s »."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Utilisateur"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Paramètres des utilisateurs pour ce site StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite de bio invalide : doit être numérique."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
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:164
+#: actions/useradminpanel.php:165
#, 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:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Limite de bio"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Longueur maximale de la bio d’un profil en caractères."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nouveaux utilisateurs"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Accueil des nouveaux utilisateurs"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
"Texte de bienvenue pour les nouveaux utilisateurs (maximum 255 caractères)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Abonnements par défaut"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Abonner automatiquement les nouveaux utilisateurs à cet utilisateur."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Invitations"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Invitations activées"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
"S’il faut autoriser les utilisateurs à inviter de nouveaux utilisateurs."
@@ -4388,18 +4491,24 @@ msgstr "Groupes %1$s, page %2$d"
msgid "Search for more groups"
msgstr "Rechercher pour plus de groupes"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s n’est pas membre d’un groupe."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Essayez de [rechercher un groupe](%%action.groupsearch%%) et de vous y "
"inscrire."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Statuts de %1$s dans %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4455,7 +4564,7 @@ msgstr ""
msgid "Plugins"
msgstr "Extensions"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Version"
@@ -4494,6 +4603,10 @@ msgstr "N’appartient pas au groupe."
msgid "Group leave failed."
msgstr "La désinscription du groupe a échoué."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Impossible de mettre à jour le groupe local."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4511,27 +4624,27 @@ msgstr "Impossible d’insérer le message."
msgid "Could not update message with new URI."
msgstr "Impossible de mettre à jour le message avec un nouvel URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Erreur de base de donnée en insérant la marque (hashtag) : %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problème lors de l’enregistrement de l’avis ; trop long."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Erreur lors de l’enregistrement de l’avis. Utilisateur inconnu."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Trop d’avis, trop vite ! Faites une pause et publiez à nouveau dans quelques "
"minutes."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4539,19 +4652,19 @@ msgstr ""
"Trop de messages en double trop vite ! Prenez une pause et publiez à nouveau "
"dans quelques minutes."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Il vous est interdit de poster des avis sur ce site."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problème lors de l’enregistrement de l’avis."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problème lors de l’enregistrement de la boîte de réception du groupe."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4576,23 +4689,35 @@ msgstr "Pas abonné !"
msgid "Couldn't delete self-subscription."
msgstr "Impossible de supprimer l’abonnement à soi-même."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Impossible de supprimer le jeton OMB de l'abonnement ."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Impossible de cesser l’abonnement"
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Bienvenue à %1$s, @%2$s !"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Impossible de créer le groupe."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Impossible de définir l'URI du groupe."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Impossible d’établir l’inscription au groupe."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Impossible d’enregistrer les informations du groupe local."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Modifier vos paramètres de profil"
@@ -4630,124 +4755,170 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Page sans nom"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navigation primaire du site"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Accueil"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Profil personnel et flux des amis"
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr "Modifier votre courriel, avatar, mot de passe, profil"
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personnel"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Connecter"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "Modifier votre adresse électronique, avatar, mot de passe, profil"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Se connecter aux services"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Connecter"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Modifier la configuration du site"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Inviter"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrer"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
-msgstr "Inviter des amis et collègues à vous rejoindre dans %s"
+msgstr "Inviter des amis et collègues à vous rejoindre sur %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Fermeture de session"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Inviter"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Fermer la session"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Déconnexion"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Créer un compte"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "S'inscrire"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Ouvrir une session"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Aide"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Connexion"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "À l’aide !"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Rechercher"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Aide"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Rechercher des personnes ou du texte"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Rechercher"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Notice du site"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Vues locales"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Avis de la page"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Navigation secondaire du site"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Aide"
+
+#: lib/action.php:754
msgid "About"
msgstr "À propos"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "CGU"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Confidentialité"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Source"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contact"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Insigne"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licence du logiciel StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4756,12 +4927,12 @@ msgstr ""
"**%%site.name%%** est un service de microblogging qui vous est proposé par "
"[%%site.broughtby%%](%%site.broughtbyurl%%)."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** est un service de micro-blogging."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4772,111 +4943,149 @@ msgstr ""
"version %s, disponible sous la licence [GNU Affero General Public License] "
"(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licence du contenu du site"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Le contenu et les données de %1$s sont privés et confidentiels."
-#: lib/action.php:811
+#: lib/action.php:831
#, 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
+#: lib/action.php:834
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:827
+#: lib/action.php:847
msgid "All "
msgstr "Tous "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licence."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Pagination"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Après"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Avant"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Impossible de gérer le contenu distant pour le moment."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Impossible de gérer le contenu XML embarqué pour le moment."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Impossible de gérer le contenu en Base64 embarqué pour le moment."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Vous ne pouvez pas faire de modifications sur ce site."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "La modification de ce panneau n’est pas autorisée."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() n’a pas été implémentée."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() n’a pas été implémentée."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Impossible de supprimer les paramètres de conception."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configuration basique du site"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configuration de la conception"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Conception"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Configuration utilisateur"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Utilisateur"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Configuration d’accès"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Configuration des chemins"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Configuration des sessions"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Modifier l'avis du site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "Configuration des instantanés"
+
+#: lib/apiauth.php:94
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:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4970,11 +5179,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:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "La modification du mot de passe a échoué"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "La modification du mot de passe n’est pas autorisée"
@@ -5061,12 +5270,12 @@ msgstr "%s a quitté le groupe %s"
msgid "Fullname: %s"
msgstr "Nom complet : %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Emplacement : %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Site Web : %s"
@@ -5179,7 +5388,7 @@ msgstr ""
"pendant 2 minutes : %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
msgstr "Désabonné de %s"
@@ -5214,7 +5423,6 @@ msgstr[0] "Vous êtes membre de ce groupe :"
msgstr[1] "Vous êtes membre de ces groupes :"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5267,6 +5475,7 @@ msgstr ""
"d <nickname> <text> - message direct à l’utilisateur\n"
"get <nickname> - obtenir le dernier avis de l’utilisateur\n"
"whois <nickname> - obtenir le profil de l’utilisateur\n"
+"lose <nickname> - forcer un utilisateur à arrêter de vous suivre\n"
"fav <nickname> - ajouter de dernier avis de l’utilisateur comme favori\n"
"fav #<notice_id> - ajouter l’avis correspondant à l’identifiant comme "
"favori\n"
@@ -5294,20 +5503,20 @@ msgstr ""
"tracks - pas encore implémenté.\n"
"tracking - pas encore implémenté.\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Aucun fichier de configuration n’a été trouvé. "
-#: lib/common.php:137
+#: lib/common.php:149
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:139
+#: lib/common.php:151
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:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Aller au programme d’installation"
@@ -5406,6 +5615,11 @@ msgstr "Choissez une marque pour réduire la liste"
msgid "Go"
msgstr "Aller"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Accorder le rôle « %s » à cet utilisateur"
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL du site Web ou blogue du groupe ou sujet "
@@ -5500,23 +5714,23 @@ msgstr "Erreur système lors du transfert du fichier."
msgid "Not an image or corrupt file."
msgstr "Ceci n’est pas une image, ou c’est un fichier corrompu."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Format de fichier d’image non supporté."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Fichier perdu."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Type de fichier inconnu"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "Mo"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "Ko"
@@ -5546,11 +5760,11 @@ msgstr "Ouvrez une session avec un identifiant et un mot de passe"
msgid "Sign up for a new account"
msgstr "Créer un nouveau compte"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmation de l’adresse courriel"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5580,12 +5794,12 @@ msgstr ""
"Merci de votre attention,\n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s suit maintenant vos avis sur %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5610,17 +5824,17 @@ msgstr ""
"----\n"
"Changez votre adresse de courriel ou vos options de notification sur %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Bio : %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nouvelle adresse courriel pour poster dans %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5641,21 +5855,21 @@ msgstr ""
"Cordialement,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Statut de %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Confirmation SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Vous avez reçu un clin d’œil de %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5682,12 +5896,12 @@ msgstr ""
"Bien à vous,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nouveau message personnel de %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5720,12 +5934,12 @@ msgstr ""
"Bien à vous,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) a ajouté un de vos avis à ses favoris"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5763,12 +5977,12 @@ msgstr ""
"Cordialement,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) vous a envoyé un avis"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5899,6 +6113,11 @@ msgstr "À"
msgid "Available characters"
msgstr "Caractères restants"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Envoyer"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Envoyer un avis"
@@ -5957,23 +6176,23 @@ msgstr "O"
msgid "at"
msgstr "chez"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "dans le contexte"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Repris par"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Répondre à cet avis"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Répondre"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Avis repris"
@@ -6046,7 +6265,7 @@ msgstr "Marques dans les avis de %s"
msgid "Unknown"
msgstr "Inconnu"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Abonnements"
@@ -6054,23 +6273,23 @@ msgstr "Abonnements"
msgid "All subscriptions"
msgstr "Tous les abonnements"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Abonnés"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Tous les abonnés"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID de l’utilisateur"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membre depuis"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Tous les groupes"
@@ -6110,7 +6329,12 @@ msgstr "Reprendre cet avis ?"
msgid "Repeat this notice"
msgstr "Reprendre cet avis"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Révoquer le rôle « %s » de cet utilisateur"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Aucun utilisateur unique défini pour le mode mono-utilisateur."
@@ -6130,6 +6354,10 @@ msgstr "Rechercher sur le site"
msgid "Keyword(s)"
msgstr "Mot(s) clef(s)"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Rechercher"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Aide sur la recherche"
@@ -6181,6 +6409,15 @@ msgstr "Abonnés de %s"
msgid "Groups %s is a member of"
msgstr "Groupes de %s"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Inviter"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Inviter des amis et collègues à vous rejoindre dans %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6251,47 +6488,61 @@ msgstr "Message"
msgid "Moderate"
msgstr "Modérer"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Rôle de l'utilisateur"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administrateur"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Modérateur"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "il y a quelques secondes"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "il y a 1 minute"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "il y a %d minutes"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "il y a 1 heure"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "il y a %d heures"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "il y a 1 jour"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "il y a %d jours"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "il y a 1 mois"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "il y a %d mois"
-#: lib/util.php:970
+#: lib/util.php:1033
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 b60553d44..dea9dd11c 100644
--- a/locale/ga/LC_MESSAGES/statusnet.po
+++ b/locale/ga/LC_MESSAGES/statusnet.po
@@ -8,84 +8,91 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:51+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:54+0000\n"
"Language-Team: Irish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : "
"4;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Aceptar"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Configuracións de Twitter"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Rexistrar"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Privacidade"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "Invitar"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "Bloquear"
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Configuracións de Twitter"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Gardar"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "Non existe a etiqueta."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -99,72 +106,82 @@ msgstr "Non existe a etiqueta."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Ningún usuario."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s e amigos"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s e amigos"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Fonte para os amigos de %s"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Fonte para os amigos de %s"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Fonte para os amigos de %s"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s e amigos"
@@ -183,20 +200,20 @@ msgstr "Actualizacións dende %1$s e amigos en %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Método da API non atopado"
@@ -230,8 +247,9 @@ msgstr "Non se puido actualizar o usuario."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "O usuario non ten perfil."
@@ -256,7 +274,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -379,68 +397,68 @@ msgstr "Non se pudo recuperar a liña de tempo publica."
msgid "Could not find target user."
msgstr "Non se puido atopar ningún estado"
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "O alcume debe ter só letras minúsculas e números, e sen espazos."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Non é un alcume válido."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "A páxina persoal semella que non é unha URL válida."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "O nome completo é demasiado longo (max 255 car)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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.)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "A localización é demasiado longa (max 255 car.)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "Etiqueta inválida: '%s'"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "O alcume xa está sendo empregado por outro usuario. Tenta con outro."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -452,15 +470,15 @@ msgstr ""
msgid "Group not found!"
msgstr "Método da API non atopado"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Xa estas suscrito a estes usuarios:"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
@@ -469,7 +487,7 @@ msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
msgid "You are not a member of this group."
msgstr "Non estás suscrito a ese perfil"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
@@ -501,7 +519,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -545,7 +563,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -568,14 +586,14 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
#, fuzzy
msgid "Account"
msgstr "Sobre"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -662,18 +680,6 @@ msgstr "%s / Favoritos dende %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s updates favorited by %s / %s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Liña de tempo de %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Actualizacións dende %1$s en %2$s!"
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -684,12 +690,12 @@ msgstr "%1$s / Chíos que respostan a %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "Hai %1$s chíos en resposta a chíos dende %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Liña de tempo pública de %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s chíos de calquera!"
@@ -704,12 +710,12 @@ msgstr "Replies to %s"
msgid "Repeats of %s"
msgstr "Replies to %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Chíos tagueados con %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Actualizacións dende %1$s en %2$s!"
@@ -726,8 +732,7 @@ msgstr "Ningún documento."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Sen alcume."
@@ -739,7 +744,7 @@ msgstr "Sen tamaño."
msgid "Invalid size."
msgstr "Tamaño inválido."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -751,37 +756,37 @@ msgstr "Podes actualizar a túa información do perfil persoal aquí"
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Usuario sen un perfil que coincida."
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
#, fuzzy
msgid "Avatar settings"
msgstr "Configuracións de Twitter"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
#, fuzzy
msgid "Delete"
msgstr "eliminar"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Subir"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -789,7 +794,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -826,23 +831,23 @@ msgstr ""
"ser notificado de ningunha resposta-@ del."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "Bloquear usuario"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Si"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
#, fuzzy
msgid "Block this user"
msgstr "Bloquear usuario"
@@ -851,41 +856,45 @@ msgstr "Bloquear usuario"
msgid "Failed to save block information."
msgstr "Erro ao gardar información de bloqueo."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "Non existe a etiqueta."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr ""
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s e amigos"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "Desbloqueo de usuario fallido."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Desbloquear"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "Bloquear usuario"
@@ -945,7 +954,7 @@ msgid "Conversation"
msgstr "Código de confirmación."
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Chíos"
@@ -967,7 +976,7 @@ 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:1197
+#: lib/action.php:1217
#, fuzzy
msgid "There was a problem with your session token."
msgstr "Houbo un problema co teu token de sesión. Tentao de novo, anda..."
@@ -994,12 +1003,13 @@ msgstr "Non se pode eliminar este chíos."
msgid "Delete this application"
msgstr "Eliminar chío"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Non está logueado."
@@ -1030,7 +1040,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
#, fuzzy
msgid "Delete this notice"
msgstr "Eliminar chío"
@@ -1050,19 +1060,19 @@ msgstr "Non deberías eliminar o estado de outro usuario"
msgid "Delete user"
msgstr "eliminar"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "Eliminar chío"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1172,6 +1182,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Gardar"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1277,32 +1299,32 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "O teu Bio é demasiado longo (max 140 car.)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "Non se puido actualizar o usuario."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "Non se puido crear o favorito."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
#, fuzzy
msgid "Options saved."
msgstr "Configuracións gardadas."
@@ -1425,7 +1447,7 @@ msgid "Cannot normalize that email address"
msgstr "Esa dirección de correo non se pode normalizar "
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Non é un enderezo de correo válido."
@@ -1621,6 +1643,25 @@ msgstr "Ningún chío."
msgid "Cannot read file."
msgstr "Bloqueo de usuario fallido."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Tamaño inválido."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Non podes enviar mensaxes a este usurio."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "O usuario bloqueoute."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1653,7 +1694,7 @@ msgstr "O usuario bloqueoute."
msgid "User is not a member of group."
msgstr "%1s non é unha orixe fiable."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "Bloquear usuario"
@@ -1691,96 +1732,102 @@ msgstr "Sen id."
msgid "You must be logged in to edit a group."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Non se puido actualizar o usuario."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "Preferencias gardadas."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr ""
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Usuario sen un perfil que coincida."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "Avatar actualizado."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "Acounteceu un fallo ó actualizar o avatar."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Bloquear"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Liña de tempo de %s"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Actualizacións dende %1$s en %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr ""
@@ -2034,16 +2081,19 @@ msgstr "Mensaxe persoal"
msgid "Optionally add a personal message to the invitation."
msgstr "Opcionalmente engadir unha mensaxe persoal á invitación."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Enviar"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s invitoute a unirse a él en %2$s."
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2103,7 +2153,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Sen alcume."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s / Favoritos dende %s"
@@ -2113,12 +2168,12 @@ msgstr "%s / Favoritos dende %s"
msgid "You must be logged in to leave a group."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
#, fuzzy
msgid "You are not a member of that group."
msgstr "Non estás suscrito a ese perfil"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s / Favoritos dende %s"
@@ -2136,8 +2191,7 @@ msgstr "Usuario ou contrasinal incorrectos."
msgid "Error setting user. You are probably not authorized."
msgstr "Non está autorizado."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Inicio de sesión"
@@ -2395,8 +2449,8 @@ msgstr "Conectar"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Non é un formato de datos soportado."
@@ -2544,7 +2598,8 @@ msgstr "Non se pode gardar a contrasinal."
msgid "Password saved."
msgstr "Contrasinal gardada."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2577,7 +2632,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "Invitar"
@@ -2673,7 +2727,7 @@ msgstr ""
msgid "SSL"
msgstr "SMS"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Recuperar"
@@ -2732,11 +2786,11 @@ msgstr "%s non é unha etiqueta de xente válida"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Usuarios auto-etiquetados como %s - páxina %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Contido do chío inválido"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2763,7 +2817,7 @@ msgstr ""
"De 1 a 64 letras minúsculas ou númeors, nin espazos nin signos de puntuación"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome completo"
@@ -2792,7 +2846,7 @@ msgid "Bio"
msgstr "Bio"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2819,7 +2873,7 @@ msgstr ""
"Etiquetas para o teu usuario (letras, números, -, ., e _), separados por "
"coma ou espazo"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Linguaxe"
@@ -2847,7 +2901,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "O teu Bio é demasiado longo (max 140 car.)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Fuso Horario non seleccionado"
@@ -2877,7 +2931,8 @@ msgstr "Non se puido gardar o perfil."
msgid "Couldn't save tags."
msgstr "Non se puideron gardar as etiquetas."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Configuracións gardadas."
@@ -2890,48 +2945,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Non se pudo recuperar a liña de tempo publica."
-#: actions/public.php:129
+#: actions/public.php:130
#, fuzzy, php-format
msgid "Public timeline, page %d"
msgstr "Liña de tempo pública"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Liña de tempo pública"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Sindicación do Fio Público"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Sindicación do Fio Público"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Sindicación do Fio Público"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2944,7 +2999,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:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3121,8 +3176,7 @@ msgstr "Acounteceu un erro co código de confirmación."
msgid "Registration successful"
msgstr "Xa estas rexistrado!!"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Rexistrar"
@@ -3167,7 +3221,7 @@ msgid "Same as password above. Required."
msgstr "A mesma contrasinal que arriba. Requerido."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correo Electrónico"
@@ -3275,7 +3329,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "Enderezo do teu perfil en outro servizo de microblogaxe compatíbel"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Subscribir"
@@ -3318,7 +3372,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "Crear"
@@ -3328,47 +3382,47 @@ msgstr "Crear"
msgid "Repeated!"
msgstr "Crear"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Replies to %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Mensaxe de %1$s en %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Fonte de chíos para %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Fonte de chíos para %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Fonte de chíos para %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3380,6 +3434,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Mensaxe de %1$s en %2$s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Non podes enviar mensaxes a este usurio."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Usuario sen un perfil que coincida."
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3395,8 +3459,9 @@ msgstr "Non podes enviar mensaxes a este usurio."
msgid "User is already sandboxed."
msgstr "O usuario bloqueoute."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3420,8 +3485,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Configuracións de Twitter"
@@ -3457,8 +3522,8 @@ msgstr "Invitación(s) enviada(s)."
msgid "Description"
msgstr "Subscricións"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Estatísticas"
@@ -3519,35 +3584,35 @@ msgstr "Chíos favoritos de %s"
msgid "Could not retrieve favorite notices."
msgstr "Non se pode "
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Fonte para os amigos de %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Fonte para os amigos de %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Fonte para os amigos de %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3555,7 +3620,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3569,73 +3634,73 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "Tódalas subscricións"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "Non existe o perfil."
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
#, fuzzy
msgid "Note"
msgstr "Chíos"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
#, fuzzy
msgid "Group actions"
msgstr "Outras opcions"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Fonte de chíos para %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Fonte de chíos para %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Fonte de chíos para %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "Band. Saída para %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "Membro dende"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
#, fuzzy
msgid "(None)"
msgstr "(nada)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "Crear"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3649,7 +3714,7 @@ msgstr ""
"(http://status.net/). [Únete agora](%%action.register%%) para compartir "
"chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3662,7 +3727,7 @@ msgstr ""
"(http://status.net/). [Únete agora](%%action.register%%) para compartir "
"chíos cos teus amigos, colegas e familia! ([Ler mais](%%doc.help%%))"
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3783,150 +3848,139 @@ msgid "User is already silenced."
msgstr "O usuario bloqueoute."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Non é unha dirección de correo válida"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Novo chío"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Nova dirección de email para posterar en %s"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Localización"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "Linguaxe preferida"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Novo chío"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nova mensaxe"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Non se puideron gardar os teus axustes de Twitter!"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Novo chío"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Novo chío"
#: actions/smssettings.php:58
#, fuzzy
@@ -4031,6 +4085,66 @@ msgstr ""
msgid "No code entered"
msgstr "Non se inseriu ningún código"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Navegación de subscricións"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Configuracións de Twitter"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Non estás suscrito a ese perfil"
@@ -4137,22 +4251,22 @@ msgstr "Jabber."
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Usuarios auto-etiquetados como %s - páxina %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Fonte de chíos para %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Fonte de chíos para %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Fonte de chíos para %s"
@@ -4211,7 +4325,7 @@ msgstr ""
msgid "No such tag."
msgstr "Non existe a etiqueta."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Método da API en contrución."
@@ -4238,83 +4352,85 @@ msgstr "Non hai identificador de perfil na peticion."
msgid "Unsubscribed"
msgstr "De-suscribido"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Usuario"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "Invitar a novos usuarios"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Tódalas subscricións"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, 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:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Invitación(s) enviada(s)."
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "Invitación(s) enviada(s)."
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4449,16 +4565,22 @@ msgstr "Tódalas subscricións"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "%1s non é unha orixe fiable."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Actualizacións dende %1$s en %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4502,7 +4624,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Persoal"
@@ -4543,6 +4665,11 @@ msgstr "Non se puido actualizar o usuario."
msgid "Group leave failed."
msgstr "Non existe o perfil."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Non se puido actualizar o usuario."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4561,28 +4688,28 @@ msgstr "Non se pode inserir unha mensaxe."
msgid "Could not update message with new URI."
msgstr "Non se puido actualizar a mensaxe coa nova URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Erro ó inserir o hashtag na BD: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Aconteceu un erro ó gardar o chío."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Aconteceu un erro ó gardar o chío. Usuario descoñecido."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Demasiados chíos en pouco tempo; tomate un respiro e envíao de novo dentro "
"duns minutos."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
@@ -4591,20 +4718,20 @@ msgstr ""
"Demasiados chíos en pouco tempo; tomate un respiro e envíao de novo dentro "
"duns minutos."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Tes restrinxido o envio de chíos neste sitio."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Aconteceu un erro ó gardar o chío."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Aconteceu un erro ó gardar o chío."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4632,25 +4759,40 @@ msgstr "Non está suscrito!"
msgid "Couldn't delete self-subscription."
msgstr "Non se pode eliminar a subscrición."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Non se pode eliminar a subscrición."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Non se pode eliminar a subscrición."
-#: classes/User.php:372
+#: classes/User.php:373
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Mensaxe de %1$s en %2$s"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "Non se puido crear o favorito."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Non se pode gardar a subscrición."
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "Non se pode gardar a subscrición."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Non se pode gardar a subscrición."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Configuración de perfil"
@@ -4690,134 +4832,187 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "Persoal"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Persoal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Cambiar contrasinal"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Conectar"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Non se pode redireccionar ao servidor: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Conectar"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Navegación de subscricións"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Invitar"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
"Emprega este formulario para invitar ós teus amigos e colegas a empregar "
"este servizo."
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Sair"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invitar"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Sair"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Crear nova conta"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Rexistrar"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Axuda"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Inicio de sesión"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Axuda"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Buscar"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Axuda"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Buscar"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "Novo chío"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "Novo chío"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "Navegación de subscricións"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Axuda"
+
+#: lib/action.php:754
msgid "About"
msgstr "Sobre"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Preguntas frecuentes"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacidade"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Fonte"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contacto"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4826,12 +5021,12 @@ msgstr ""
"**%%site.name%%** é un servizo de microbloguexo que che proporciona [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** é un servizo de microbloguexo."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4842,120 +5037,162 @@ msgstr ""
"%s, dispoñible baixo licenza [GNU Affero General Public License](http://www."
"fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "Atopar no contido dos chíos"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
#, fuzzy
msgid "All "
msgstr "Todos"
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
#, fuzzy
msgid "After"
msgstr "« Despois"
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "Antes »"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "Non podes enviar mensaxes a este usurio."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Non se permite o rexistro neste intre."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Comando non implementado."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Comando non implementado."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "Non se puideron gardar os teus axustes de Twitter!"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Confirmar correo electrónico"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Invitar"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "Confirmación de SMS"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Persoal"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Confirmación de SMS"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Usuario"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Confirmación de SMS"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "Confirmación de SMS"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Confirmación de SMS"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Novo chío"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Confirmación de SMS"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -5051,12 +5288,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Contrasinal gardada."
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Contrasinal gardada."
@@ -5146,12 +5383,12 @@ msgstr "%s / Favoritos dende %s"
msgid "Fullname: %s"
msgstr "Nome completo: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Ubicación: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Páxina persoal: %s"
@@ -5377,20 +5614,20 @@ msgstr ""
"tracks - non implementado por agora.\n"
"tracking - non implementado por agora.\n"
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Sen código de confirmación."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5493,6 +5730,11 @@ msgstr "Elixe unha etiqueta para reducila lista"
msgid "Go"
msgstr "Ir"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5587,25 +5829,25 @@ msgstr "Aconteceu un erro no sistema namentras se estaba cargando o ficheiro."
msgid "Not an image or corrupt file."
msgstr "Non é unha imaxe ou está corrupta."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Formato de ficheiro de imaxe non soportado."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "Bloqueo de usuario fallido."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
#, fuzzy
msgid "Unknown file type"
msgstr "tipo de ficheiro non soportado"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5639,11 +5881,11 @@ msgstr "Accede co teu nome de usuario e contrasinal."
msgid "Sign up for a new account"
msgstr "Crear nova conta"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmar correo electrónico"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5672,12 +5914,12 @@ msgstr ""
"Grazas polo teu tempo, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s está a escoitar os teus chíos %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5698,17 +5940,17 @@ msgstr ""
"Atentamente todo seu,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "Ubicación: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nova dirección de email para posterar en %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5729,21 +5971,21 @@ msgstr ""
"Sempre teu...,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Estado de %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Confirmación de SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s douche un toque"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5769,12 +6011,12 @@ msgstr ""
"With kind regards,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "%s enviouche unha nova mensaxe privada"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5807,12 +6049,12 @@ msgstr ""
"With kind regards,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s gustoulle o teu chío"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, fuzzy, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5845,12 +6087,12 @@ msgstr ""
"Fielmente teu,\n"
"%5$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5968,6 +6210,12 @@ msgstr "A"
msgid "Available characters"
msgstr "6 ou máis caracteres"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Enviar"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -6028,27 +6276,27 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "Sen contido!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Crear"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
#, fuzzy
msgid "Reply to this notice"
msgstr "Non se pode eliminar este chíos."
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
#, fuzzy
msgid "Reply"
msgstr "contestar"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Chío publicado"
@@ -6127,7 +6375,7 @@ msgstr "O usuario non ten último chio."
msgid "Unknown"
msgstr "Acción descoñecida"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Subscricións"
@@ -6135,25 +6383,25 @@ msgstr "Subscricións"
msgid "All subscriptions"
msgstr "Tódalas subscricións"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Subscritores"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "Subscritores"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "Usuario"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membro dende"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
#, fuzzy
msgid "All groups"
msgstr "Tódalas etiquetas"
@@ -6198,7 +6446,12 @@ msgstr "Non se pode eliminar este chíos."
msgid "Repeat this notice"
msgstr "Non se pode eliminar este chíos."
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr ""
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6221,6 +6474,10 @@ msgstr "Buscar"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Buscar"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6276,6 +6533,17 @@ msgstr "Suscrito a %s"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Invitar"
+
+#: lib/subgroupnav.php:106
+#, fuzzy, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+"Emprega este formulario para invitar ós teus amigos e colegas a empregar "
+"este servizo."
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6355,47 +6623,62 @@ msgstr "Nova mensaxe"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "O usuario non ten perfil."
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "fai uns segundos"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "fai un minuto"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "fai %d minutos"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "fai unha hora"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "fai %d horas"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "fai un día"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "fai %d días"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "fai un mes"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "fai %d meses"
-#: lib/util.php:970
+#: lib/util.php:1033
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 424917efb..49f229a96 100644
--- a/locale/he/LC_MESSAGES/statusnet.po
+++ b/locale/he/LC_MESSAGES/statusnet.po
@@ -7,82 +7,89 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:54+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:49:57+0000\n"
"Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "קבל"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "הגדרות"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "הירש×"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "פרטיות"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
msgid "Invite only"
msgstr ""
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "×ין משתמש ×›×–×”."
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "הגדרות"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "שמור"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "×ין הודעה כזו."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -96,72 +103,82 @@ msgstr "×ין הודעה כזו."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "×ין משתמש ×›×–×”."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s וחברי×"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s וחברי×"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "הזנות ×”×—×‘×¨×™× ×©×œ %s"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "הזנות ×”×—×‘×¨×™× ×©×œ %s"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "הזנות ×”×—×‘×¨×™× ×©×œ %s"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s וחברי×"
@@ -180,20 +197,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "קוד ×”×ישור ×œ× × ×ž×¦×."
@@ -227,8 +244,9 @@ msgstr "עידכון המשתמש נכשל."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "למשתמש ×ין פרופיל."
@@ -253,7 +271,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -370,68 +388,68 @@ msgstr "עידכון המשתמש נכשל."
msgid "Could not find target user."
msgstr "עידכון המשתמש נכשל."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "כינוי יכול להכיל רק ×ותיות ×נגליות קטנות ומספרי×, ×•×œ×œ× ×¨×•×•×—×™×."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "כינוי ×–×” כבר תפוס. נסה כינוי ×חר."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "×©× ×ž×©×ª×ž×© ×œ× ×—×•×§×™."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "ל×תר הבית יש כתובת ×œ× ×—×•×§×™×ª."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "×”×©× ×”×ž×œ× ×רוך מידי (מותרות 255 ×ותיות בלבד)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "הביוגרפיה ×רוכה מידי (לכל היותר 140 ×ותיות)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "×©× ×”×ž×™×§×•× ×רוך מידי (מותר עד 255 ×ותיות)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "כתובת ×תר הבית '%s' ××™× ×” חוקית"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "כינוי ×–×” כבר תפוס. נסה כינוי ×חר."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -443,16 +461,16 @@ msgstr ""
msgid "Group not found!"
msgstr "×œ× × ×ž×¦×"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "כבר נכנסת למערכת!"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "נכשלה ההפניה לשרת: %s"
@@ -462,7 +480,7 @@ msgstr "נכשלה ההפניה לשרת: %s"
msgid "You are not a member of this group."
msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "נכשלה יצירת OpenID מתוך: %s"
@@ -494,7 +512,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -538,7 +556,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -561,14 +579,14 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
#, fuzzy
msgid "Account"
msgstr "×ודות"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -653,18 +671,6 @@ msgstr "הסטטוס של %1$s ב-%2$s "
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "מיקרובלוג מ×ת %s"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr ""
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -675,12 +681,12 @@ msgstr "הסטטוס של %1$s ב-%2$s "
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -695,12 +701,12 @@ msgstr "תגובת עבור %s"
msgid "Repeats of %s"
msgstr "תגובת עבור %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "מיקרובלוג מ×ת %s"
@@ -718,8 +724,7 @@ msgstr "×ין מסמך ×›×–×”."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "×ין כינוי"
@@ -731,7 +736,7 @@ msgstr "×ין גודל."
msgid "Invalid size."
msgstr "גודל ×œ× ×—×•×§×™."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "תמונה"
@@ -743,37 +748,37 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
#, fuzzy
msgid "Avatar settings"
msgstr "הגדרות"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
#, fuzzy
msgid "Delete"
msgstr "מחק"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "ההעלה"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -781,7 +786,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -816,23 +821,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "ל×"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "×ין משתמש ×›×–×”."
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "כן"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
#, fuzzy
msgid "Block this user"
msgstr "×ין משתמש ×›×–×”."
@@ -841,41 +846,45 @@ msgstr "×ין משתמש ×›×–×”."
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "×ין הודעה כזו."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "למשתמש ×ין פרופיל."
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s וחברי×"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "×ין משתמש ×›×–×”."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "×ין משתמש ×›×–×”."
@@ -934,7 +943,7 @@ msgid "Conversation"
msgstr "מיקו×"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "הודעות"
@@ -956,7 +965,7 @@ msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -982,12 +991,13 @@ msgstr "×ין הודעה כזו."
msgid "Delete this application"
msgstr "ת×ר ×ת עצמך ו×ת נוש××™ העניין שלך ב-140 ×ותיות"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "×œ× ×ž×—×•×‘×¨."
@@ -1015,7 +1025,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "×ין הודעה כזו."
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr ""
@@ -1034,19 +1044,19 @@ msgstr "ניתן להשתמש במנוי המקומי!"
msgid "Delete user"
msgstr "מחק"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "×ין משתמש ×›×–×”."
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1156,6 +1166,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "שמור"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1256,31 +1278,31 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr ""
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr ""
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "הביוגרפיה ×רוכה מידי (לכל היותר 140 ×ותיות)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "עידכון המשתמש נכשל."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "שמירת מידע התמונה נכשל"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
#, fuzzy
msgid "Options saved."
msgstr "ההגדרות נשמרו."
@@ -1399,7 +1421,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr ""
@@ -1594,6 +1616,25 @@ msgstr "×ין הודעה כזו."
msgid "Cannot read file."
msgstr "×ין הודעה כזו."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "גודל ×œ× ×—×•×§×™."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "למשתמש ×ין פרופיל."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1625,7 +1666,7 @@ msgstr "למשתמש ×ין פרופיל."
msgid "User is not a member of group."
msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "×ין משתמש ×›×–×”."
@@ -1661,97 +1702,103 @@ msgstr "×ין זיהוי."
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
#, fuzzy
msgid "Group design"
msgstr "קבוצות"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "עידכון המשתמש נכשל."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "העדפות נשמרו."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr ""
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "למשתמש ×ין פרופיל."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "התמונה עודכנה."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "עדכון התמונה נכשל."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr ""
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "מיקרובלוג מ×ת %s"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "קבוצות"
@@ -2000,16 +2047,19 @@ msgstr ""
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "שלח"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2044,7 +2094,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "×ין כינוי"
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -2053,12 +2108,12 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
#, fuzzy
msgid "You are not a member of that group."
msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "הסטטוס של %1$s ב-%2$s "
@@ -2076,8 +2131,7 @@ msgstr "×©× ×ž×©×ª×ž×© ×ו סיסמה ×œ× × ×›×•× ×™×."
msgid "Error setting user. You are probably not authorized."
msgstr "×œ× ×ž×•×¨×©×”."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "היכנס"
@@ -2326,8 +2380,8 @@ msgstr "התחבר"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2475,7 +2529,8 @@ msgstr "×œ× × ×™×ª×Ÿ לשמור ×ת הסיסמה"
msgid "Password saved."
msgstr "הסיסמה נשמרה."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2508,7 +2563,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2603,7 +2657,7 @@ msgstr ""
msgid "SSL"
msgstr "סמס"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "שיחזור"
@@ -2662,11 +2716,11 @@ msgstr "×œ× ×¢×•×ž×“ ×‘×›×œ×œ×™× ×œ-OpenID."
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "מיקרובלוג מ×ת %s"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "תוכן ההודעה ×œ× ×—×•×§×™"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2690,7 +2744,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1 עד 64 ×ותיות ×נגליות קטנות ×ו מספרי×, ×œ×œ× ×¡×™×ž× ×™ פיסוק ×ו רווחי×."
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "×©× ×ž×œ×"
@@ -2719,7 +2773,7 @@ msgid "Bio"
msgstr "ביוגרפיה"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2744,7 +2798,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "שפה"
@@ -2770,7 +2824,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "הביוגרפיה ×רוכה מידי (לכל היותר 140 ×ותיות)"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2801,7 +2855,8 @@ msgstr "שמירת הפרופיל נכשלה."
msgid "Couldn't save tags."
msgstr "שמירת הפרופיל נכשלה."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "ההגדרות נשמרו."
@@ -2814,48 +2869,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, fuzzy, php-format
msgid "Public timeline, page %d"
msgstr "קו זמן ציבורי"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "קו זמן ציבורי"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "הזנת ×–×¨× ×”×¦×™×‘×•×¨×™"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "הזנת ×–×¨× ×”×¦×™×‘×•×¨×™"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "הזנת ×–×¨× ×”×¦×™×‘×•×¨×™"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2864,7 +2919,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3035,8 +3090,7 @@ msgstr "שגי××” ב×ישור הקוד."
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "הירש×"
@@ -3075,7 +3129,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr ""
@@ -3163,7 +3217,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "כתובת הפרופיל שלך בשרות ביקרובלוג תו×× ×חר"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "×”×™×¨×©× ×›×ž× ×•×™"
@@ -3204,7 +3258,7 @@ msgstr "×œ× × ×™×ª×Ÿ ×œ×”×™×¨×©× ×œ×œ× ×”×¡×›×ž×” לרשיון"
msgid "You already repeated that notice."
msgstr "כבר נכנסת למערכת!"
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "צור"
@@ -3214,47 +3268,47 @@ msgstr "צור"
msgid "Repeated!"
msgstr "צור"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "תגובת עבור %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "תגובת עבור %s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "הזנת הודעות של %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "הזנת הודעות של %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "הזנת הודעות של %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3266,6 +3320,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "תגובת עבור %s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "למשתמש ×ין פרופיל."
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3281,8 +3345,9 @@ msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
msgid "User is already sandboxed."
msgstr "למשתמש ×ין פרופיל."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3306,8 +3371,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "הגדרות"
@@ -3342,8 +3407,8 @@ msgstr "מיקו×"
msgid "Description"
msgstr "הרשמות"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "סטטיסטיקה"
@@ -3403,35 +3468,35 @@ msgstr "%s וחברי×"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "הזנות ×”×—×‘×¨×™× ×©×œ %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "הזנות ×”×—×‘×¨×™× ×©×œ %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "הזנות ×”×—×‘×¨×™× ×©×œ %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3439,7 +3504,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3453,71 +3518,71 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "כל המנויי×"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "×ין הודעה כזו."
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
#, fuzzy
msgid "Note"
msgstr "הודעות"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "הזנת הודעות של %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "הזנת הודעות של %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "הזנת הודעות של %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "הזנת הודעות של %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "חבר מ××–"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "צור"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3527,7 +3592,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3536,7 +3601,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3648,147 +3713,136 @@ msgid "User is already silenced."
msgstr "למשתמש ×ין פרופיל."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr ""
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "הודעה חדשה"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr ""
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "מיקו×"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr ""
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "הודעה חדשה"
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "הודעה חדשה"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "בעיה בשמירת ההודעה."
-#: actions/siteadminpanel.php:315
-msgid "Limits"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "הודעה חדשה"
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
-msgstr ""
-
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "הודעה חדשה"
#: actions/smssettings.php:58
#, fuzzy
@@ -3885,6 +3939,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "הרשמות"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "הגדרות"
+
#: actions/subedit.php:70
#, fuzzy
msgid "You are not subscribed to that profile."
@@ -3995,22 +4109,22 @@ msgstr "×ין זיהוי Jabber ×›×–×”."
msgid "SMS"
msgstr "סמס"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "מיקרובלוג מ×ת %s"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "הזנת הודעות של %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "הזנת הודעות של %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "הזנת הודעות של %s"
@@ -4064,7 +4178,7 @@ msgstr ""
msgid "No such tag."
msgstr "×ין הודעה כזו."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -4093,80 +4207,82 @@ msgstr "השרת ×œ× ×”×—×–×™×¨ כתובת פרופיל"
msgid "Unsubscribed"
msgstr "בטל מנוי"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "מתשמש"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "פרופיל"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "מחק"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "כל המנויי×"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "ההרשמה ×ושרה"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "מיקו×"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4298,16 +4414,22 @@ msgstr "כל המנויי×"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "×œ× ×©×œ×—× ×• ×לינו ×ת הפרופיל ×”×–×”"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4351,7 +4473,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "×ישי"
@@ -4392,6 +4514,11 @@ msgstr "עידכון המשתמש נכשל."
msgid "Group leave failed."
msgstr "×ין הודעה כזו."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "עידכון המשתמש נכשל."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4409,46 +4536,46 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "בעיה בשמירת ההודעה."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "בעיה בשמירת ההודעה."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "בעיה בשמירת ההודעה."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "בעיה בשמירת ההודעה."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4476,25 +4603,40 @@ msgstr "×œ× ×ž× ×•×™!"
msgid "Couldn't delete self-subscription."
msgstr "מחיקת המנוי ×œ× ×”×¦×œ×™×—×”."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "מחיקת המנוי ×œ× ×”×¦×œ×™×—×”."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "מחיקת המנוי ×œ× ×”×¦×œ×™×—×”."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "שמירת מידע התמונה נכשל"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "יצירת המנוי נכשלה."
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "יצירת המנוי נכשלה."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "יצירת המנוי נכשלה."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4534,131 +4676,185 @@ msgstr "הסטטוס של %1$s ב-%2$s "
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "בית"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr ""
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "×ישי"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "התחבר"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "שנה סיסמה"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "נכשלה ההפניה לשרת: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "התחבר"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "הרשמות"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
-msgstr "צ×"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "גודל ×œ× ×—×•×§×™."
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "צ×"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "צור חשבון חדש"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "הירש×"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "עזרה"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "היכנס"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "עזרה"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "חיפוש"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "עזרה"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "חיפוש"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "הודעה חדשה"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "הודעה חדשה"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "הרשמות"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "עזרה"
+
+#: lib/action.php:754
msgid "About"
msgstr "×ודות"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "רשימת ש×לות נפוצות"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "פרטיות"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "מקור"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "צור קשר"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4667,12 +4863,12 @@ msgstr ""
"**%%site.name%%** ×”×•× ×©×¨×•×ª ביקרובלוג הניתן על ידי [%%site.broughtby%%](%%"
"site.broughtbyurl%%)."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** ×”×•× ×©×¨×•×ª ביקרובלוג."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4683,113 +4879,155 @@ msgstr ""
"s, המופצת תחת רשיון [GNU Affero General Public License](http://www.fsf.org/"
"licensing/licenses/agpl-3.0.html)"
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "הודעה חדשה"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
#, fuzzy
msgid "After"
msgstr "<< ×חרי"
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "לפני >>"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "הרשמות"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "הודעה חדשה"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr ""
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "×ישי"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "הרשמות"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "מתשמש"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "הרשמות"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "הרשמות"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "הרשמות"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "הודעה חדשה"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "הרשמות"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4885,12 +5123,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "הסיסמה נשמרה."
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "הסיסמה נשמרה."
@@ -4978,12 +5216,12 @@ msgstr "הסטטוס של %1$s ב-%2$s "
msgid "Fullname: %s"
msgstr "×©× ×ž×œ×"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -5174,20 +5412,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "×ין קוד ×ישור."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5288,6 +5526,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5382,24 +5625,24 @@ msgstr "שגי×ת מערכת בהעל×ת הקובץ."
msgid "Not an image or corrupt file."
msgstr "זהו ×œ× ×§×•×‘×¥ תמונה, ×ו שחל בו שיבוש."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "פורמט התמונה ×ינו נתמך."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "×ין הודעה כזו."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr ""
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5433,11 +5676,11 @@ msgstr "×©× ×”×ž×©×ª×ž×© ×ו הסיסמה ×œ× ×—×•×§×™×™×"
msgid "Sign up for a new account"
msgstr "צור חשבון חדש"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr ""
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5454,12 +5697,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s כעת מ×זין להודעות שלך ב-%2$s"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5479,17 +5722,17 @@ msgstr ""
" שלך,\n"
" %4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "×ודות: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5502,21 +5745,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr ""
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5532,12 +5775,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5556,12 +5799,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%1$s כעת מ×זין להודעות שלך ב-%2$s"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5582,12 +5825,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5703,6 +5946,12 @@ msgstr "×ל"
msgid "Available characters"
msgstr "לפחות 6 ×ותיות"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "שלח"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5763,26 +6012,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "×ין תוכן!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "צור"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
#, fuzzy
msgid "Reply"
msgstr "הגב"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "הודעות"
@@ -5857,7 +6106,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "הרשמות"
@@ -5865,25 +6114,25 @@ msgstr "הרשמות"
msgid "All subscriptions"
msgstr "כל המנויי×"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "מנויי×"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "מנויי×"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "מתשמש"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "חבר מ××–"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr ""
@@ -5927,7 +6176,12 @@ msgstr "×ין הודעה כזו."
msgid "Repeat this notice"
msgstr "×ין הודעה כזו."
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "×ין משתמש ×›×–×”."
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5949,6 +6203,10 @@ msgstr "חיפוש"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "חיפוש"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6003,6 +6261,15 @@ msgstr "הרשמה מרוחקת"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr ""
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6079,47 +6346,62 @@ msgstr "הודעה חדשה"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "למשתמש ×ין פרופיל."
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "לפני מספר שניות"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "לפני כדקה"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "לפני כ-%d דקות"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "לפני כשעה"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "לפני כ-%d שעות"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "לפני כיו×"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "לפני ×›-%d ימי×"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "לפני כחודש"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "לפני ×›-%d חודשי×"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "לפני כשנה"
diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po
index 7b6870afe..91d9c9c73 100644
--- a/locale/hsb/LC_MESSAGES/statusnet.po
+++ b/locale/hsb/LC_MESSAGES/statusnet.po
@@ -9,79 +9,87 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:50:58+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:00+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : (n%100==3 || "
"n%100==4) ? 2 : 3)\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Přistup"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Sydłowe nastajenja składować"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Registrować"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Priwatny"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Jenož přeprosyć"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Priwatny"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "ZaÄinjeny"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Jenož přeprosyć"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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ć"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "ZaÄinjeny"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Sydłowe nastajenja składować"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Składować"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Strona njeeksistuje"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -95,72 +103,82 @@ msgstr "Strona njeeksistuje"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Wužiwar njeeksistuje"
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s a přećeljo, strona %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s a přećeljo"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Kanal za přećelow wužiwarja %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Kanal za přećelow wužiwarja %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Kanal za přećelow wužiwarja %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Ty a přećeljo"
@@ -178,20 +196,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API-metoda njenamakana."
@@ -223,8 +241,9 @@ msgstr "Wužiwar njeje so dał aktualizować."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Wužiwar nima profil."
@@ -248,7 +267,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -358,68 +377,68 @@ msgstr ""
msgid "Could not find target user."
msgstr ""
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Přimjeno so hižo wužiwa. Spytaj druhe."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Žane płaćiwe přimjeno."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Startowa strona njeje płaćiwy URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Dospołne mjeno je předołho (maks. 255 znamješkow)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Městno je předołho (maks. 255 znamješkow)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Přewjele aliasow! Maksimum: %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Njepłaćiwy alias: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Alias \"%s\" so hižo wužiwa. Spytaj druhi."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias njemóže samsny kaž přimjeno być."
@@ -430,15 +449,15 @@ msgstr "Alias njemóže samsny kaž přimjeno być."
msgid "Group not found!"
msgstr "Skupina njenamakana!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Sy hižo ÄÅ‚on teje skupiny."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Njebě móžno wužiwarja %1$s skupinje %2%s přidać."
@@ -447,7 +466,7 @@ msgstr "Njebě móžno wužiwarja %1$s skupinje %2%s přidać."
msgid "You are not a member of this group."
msgstr "Njejsy ÄÅ‚on tuteje skupiny."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Njebě móžno wužiwarja %1$s ze skupiny %2$s wotstronić."
@@ -479,7 +498,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -522,7 +541,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -545,13 +564,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Konto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -632,18 +651,6 @@ msgstr ""
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr ""
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr ""
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -654,12 +661,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -674,12 +681,12 @@ msgstr ""
msgid "Repeats of %s"
msgstr ""
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr ""
@@ -695,8 +702,7 @@ msgstr "Přiwěšk njeeksistuje."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Žane přimjeno."
@@ -708,7 +714,7 @@ msgstr "Žana wulkosć."
msgid "Invalid size."
msgstr "Njepłaćiwa wulkosć."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Awatar"
@@ -721,35 +727,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Wužiwar bjez hodźaceho so profila"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Nastajenja awatara"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Přehlad"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "ZniÄić"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Nahrać"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -757,7 +763,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -789,22 +795,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "NÄ›"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Tutoho wužiwarja njeblokować"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Haj"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Tutoho wužiwarja blokować"
@@ -812,39 +818,43 @@ msgstr "Tutoho wužiwarja blokować"
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Skupina njeeksistuje."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr ""
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s zablokowa profile, stronu %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr ""
@@ -900,7 +910,7 @@ msgid "Conversation"
msgstr "Konwersacija"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Zdźělenki"
@@ -921,7 +931,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -947,12 +957,13 @@ msgstr "Tutu zdźělenku njewušmórnyć"
msgid "Delete this application"
msgstr "Tutu zdźělenku wušmórnyć"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Njepřizjewjeny."
@@ -979,7 +990,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Tutu zdźělenku wušmórnyć"
@@ -995,18 +1006,18 @@ msgstr "Móžeš jenož lokalnych wužiwarjow wušmórnyć."
msgid "Delete user"
msgstr "Wužiwarja wušmórnyć"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Tutoho wužiwarja wušmórnyć"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Design"
@@ -1108,6 +1119,18 @@ msgstr "Standardne designy wobnowić"
msgid "Reset back to default"
msgstr "Na standard wróćo stajić"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Składować"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Design składować"
@@ -1201,29 +1224,29 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr "Dyrbiš přizjewjeny być, zo by skupinu wutworił."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Dyrbiš administrator być, zo by skupinu wobdźěłał."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Wuž tutón formular, zo by skupinu wobdźěłał."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "wopisanje je předołho (maks. %d znamješkow)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Skupina njeje so dała aktualizować."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Aliasy njejsu so dali wutworić."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Opcije składowane."
@@ -1339,7 +1362,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Njepłaćiwa e-mejlowa adresa."
@@ -1523,6 +1546,25 @@ msgstr "Dataja njeeksistuje."
msgid "Cannot read file."
msgstr "Dataja njeda so Äitać."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Njepłaćiwa wulkosć."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Njemóžeš tutomu wužiwarju powěsć pósłać."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Wužiwar nima profil."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1552,7 +1594,7 @@ msgstr "Wužiwar je hižo za skupinu zablokowany."
msgid "User is not a member of group."
msgstr "Wužiwar njeje ÄÅ‚on skupiny."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Wužiwarja za skupinu blokować"
@@ -1584,30 +1626,30 @@ msgstr "Žadyn ID."
msgid "You must be logged in to edit a group."
msgstr "Dyrbiš přizjewjeny być, zo by skupinu wobdźěłał."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Skupinski design"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr ""
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Designowe nastajenja składowane."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Skupinske logo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1615,62 +1657,68 @@ msgstr ""
"Móžeš logowy wobraz za swoju skupinu nahrać. Maksimalna datajowa wulkosć je %"
"s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Wužiwar bjez hodźaceho so profila."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo zaktualizowane."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr ""
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s skupinskich ÄÅ‚onow, strona %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Lisćina wužiwarjow w tutej skupinje."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administrator"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blokować"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Tutoho wužiwarja k administratorej Äinić"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr ""
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr ""
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Skupiny"
@@ -1903,16 +1951,19 @@ msgstr "Wosobinska powěsć"
msgid "Optionally add a personal message to the invitation."
msgstr "Wosobinsku powěsć po dobrozdaću přeprošenju přidać."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Pósłać"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1947,7 +1998,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Žane přimjeno."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1956,11 +2012,11 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr "Dyrbiš přizjewjeny być, zo by skupinu wopušćił."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Njejsy ÄÅ‚on teje skupiny."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr ""
@@ -1977,8 +2033,7 @@ msgstr "WopaÄne wužiwarske mjeno abo hesÅ‚o."
msgid "Error setting user. You are probably not authorized."
msgstr "Zmylk při nastajenju wužiwarja. Snano njejsy awtorizowany."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Přizjewić"
@@ -2218,8 +2273,8 @@ msgstr ""
msgid "Only "
msgstr "Jenož "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Njeje podpěrany datowy format."
@@ -2358,7 +2413,8 @@ msgstr ""
msgid "Password saved."
msgstr "Hesło składowane."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Šćežki"
@@ -2391,7 +2447,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Sydło"
@@ -2479,7 +2534,7 @@ msgstr "Pozadkowy zapis"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Ženje"
@@ -2532,11 +2587,11 @@ msgstr ""
msgid "Users self-tagged with %1$s - page %2$d"
msgstr ""
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Njepłaćiwy wobsah zdźělenki"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2559,7 +2614,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Dospołne mjeno"
@@ -2587,7 +2642,7 @@ msgid "Bio"
msgstr "Biografija"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2612,7 +2667,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "RÄ›Ä"
@@ -2638,7 +2693,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Biografija je předołha (maks. %d znamješkow)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "ÄŒasowe pasmo njeje wubrane."
@@ -2667,7 +2722,8 @@ msgstr ""
msgid "Couldn't save tags."
msgstr ""
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Nastajenja składowane."
@@ -2680,45 +2736,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr ""
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2727,7 +2783,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2897,8 +2953,7 @@ msgstr "Wodaj, njepłaćiwy přeprošenski kod."
msgid "Registration successful"
msgstr "Registrowanje wuspěšne"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrować"
@@ -2937,7 +2992,7 @@ msgid "Same as password above. Required."
msgstr "Jenake kaž hesło horjeka. Trěbne."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mejl"
@@ -3021,7 +3076,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Abonować"
@@ -3057,7 +3112,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Wospjetowany"
@@ -3065,47 +3120,47 @@ msgstr "Wospjetowany"
msgid "Repeated!"
msgstr "Wospjetowany!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr ""
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr ""
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr ""
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr ""
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr ""
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3117,6 +3172,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Njemóžeš tutomu wužiwarju powěsć pósłać."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Wužiwar bjez hodźaceho so profila."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3129,8 +3194,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Posedźenja"
@@ -3155,8 +3221,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Sydłowe nastajenja składować"
@@ -3186,8 +3252,8 @@ msgstr "Organizacija"
msgid "Description"
msgstr "Wopisanje"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistika"
@@ -3248,35 +3314,35 @@ msgstr "%1$s a přećeljo, strona %2$d"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr ""
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr ""
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr ""
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3284,7 +3350,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3298,67 +3364,67 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "%1$s skupinskich ÄÅ‚onow, strona %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Skupinski profil"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr ""
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Aliasy"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Skupinske akcije"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr ""
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Čłonojo"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Žadyn)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "WÅ¡itcy ÄÅ‚onojo"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Wutworjeny"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3368,7 +3434,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3377,7 +3443,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administratorojo"
@@ -3487,146 +3553,137 @@ msgid "User is already silenced."
msgstr ""
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr ""
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
+msgstr "Designowe nastajenja za tute sydło StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Dyrbiš płaćiwu kontaktowu e-mejlowu adresu měć."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Njeznata rÄ›Ä \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Powšitkowny"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Sydłowe mjeno"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr ""
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Lokalny"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Standardne Äasowe pasmo"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Standardna sydÅ‚owa rÄ›Ä"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr ""
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frekwenca"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limity"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Tekstowy limit"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Maksimalna liÄba znamjeÅ¡kow za zdźělenki."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Zdźělenki"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nowa powěsć"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Wužiwar nima poslednju powěsć"
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Njepłaćiwy wobsah zdźělenki"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Sydłowe nastajenja składować"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS-nastajenja"
@@ -3719,6 +3776,66 @@ msgstr ""
msgid "No code entered"
msgstr "Žadyn kod zapodaty"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "SMS-wobkrućenje"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frekwenca"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Sydłowe nastajenja składować"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Njejsy tón profil abonował."
@@ -3825,22 +3942,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr ""
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr ""
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -3890,7 +4007,7 @@ msgstr ""
msgid "No such tag."
msgstr ""
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -3914,76 +4031,78 @@ msgstr ""
msgid "Unsubscribed"
msgstr "Wotskazany"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Wužiwar"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Wužiwarske nastajenja za sydło StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nowi wužiwarjo"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Powitanje noweho wužiwarja"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Powitanski tekst za nowych wužiwarjow (maks. 255 znamješkow)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Standardny abonement"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Přeprošenja"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Přeprošenja zmóžnjene"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4103,16 +4222,22 @@ msgstr "%1$s skupinskich ÄÅ‚onow, strona %2$d"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4156,7 +4281,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Wersija"
@@ -4193,6 +4318,11 @@ msgstr "Njeje dźěl skupiny."
msgid "Group leave failed."
msgstr "Wopušćenje skupiny je so njeporadźiło."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Skupina njeje so dała aktualizować."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4210,43 +4340,43 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr ""
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr ""
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4271,23 +4401,38 @@ msgstr "Njeje abonowany!"
msgid "Couldn't delete self-subscription."
msgstr "Sebjeabonement njeje so daÅ‚ zniÄić."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Abonoment njeje so daÅ‚ zniÄić."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Abonoment njeje so daÅ‚ zniÄić."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr ""
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Skupina njeje so dała aktualizować."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr ""
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Profil njeje so składować dał."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4325,136 +4470,200 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Strona bjez titula"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr ""
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Wosobinski"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "Změń swoje hesło."
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr "Zwiski"
+
+#: lib/action.php:443
msgid "Connect"
msgstr "Zwjazać"
-#: lib/action.php:444
-msgid "Connect to services"
-msgstr ""
-
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
-msgstr ""
+msgstr "SMS-wobkrućenje"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Přeprosyć"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrator"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
+"Wužij tutón formular, zo by swojich přećelow a kolegow přeprosył, zo bychu "
+"tutu słužbu wužiwali."
-#: lib/action.php:458
-msgid "Logout"
-msgstr ""
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Přeprosyć"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
-msgstr ""
+msgstr "Šat za sydło."
+
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Logo"
-#: lib/action.php:463
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Konto załožić"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrować"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
-msgstr ""
+msgstr "Při sydle přizjewić"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Pomoc"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Přizjewić"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Pomhaj!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Pytać"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Pomoc"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Za ludźimi abo tekstom pytać"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Pytać"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr ""
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr ""
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Pomoc"
+
+#: lib/action.php:754
msgid "About"
msgstr "Wo"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Huste prašenja"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Priwatnosć"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Žórło"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
msgstr ""
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4462,108 +4671,150 @@ msgid ""
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr ""
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr ""
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr ""
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Změny na tutym woknje njejsu dowolene."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr ""
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Sydło"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr ""
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Design"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "SMS-wobkrućenje"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Wužiwar"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS-wobkrućenje"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr ""
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "SMS-wobkrućenje"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Dwójna zdźělenka"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS-wobkrućenje"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4653,11 +4904,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Změnjenje hesła je so njeporadźiło"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Změnjenje hesła njeje dowolene"
@@ -4741,12 +4992,12 @@ msgstr "%s je skupinu %s wopušćił"
msgid "Fullname: %s"
msgstr "Dospołne mjeno: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Městno: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -4936,19 +5187,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Žana konfiguraciska dataja namakana. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5045,6 +5296,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5134,23 +5390,23 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr ""
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Naša dataja je so zhubiła."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Njeznaty datajowy typ"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "KB"
@@ -5180,11 +5436,11 @@ msgstr "Přizjewjenje z wužiwarskim mjenom a hesłom"
msgid "Sign up for a new account"
msgstr "Nowe konto registrować"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Wobkrućenje e-mejloweje adresy"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5201,12 +5457,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr ""
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5221,17 +5477,17 @@ msgid ""
"Change your email address or notification options at %8$s\n"
msgstr ""
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Biografija: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5244,21 +5500,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr ""
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS-wobkrućenje"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5274,12 +5530,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nowa priwatna powěsć wot %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5298,12 +5554,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) je twoju zdźělenku jako faworit přidał"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5324,12 +5580,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5443,6 +5699,12 @@ msgstr "Komu"
msgid "Available characters"
msgstr "K dispoziciji stejace znamješka"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Pósłać"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Zdźělenku pósłać"
@@ -5499,23 +5761,23 @@ msgstr "Z"
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr ""
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Wospjetowany wot"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Na tutu zdźělenku wotmołwić"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Wotmołwić"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Zdźělenka wospjetowana"
@@ -5588,7 +5850,7 @@ msgstr ""
msgid "Unknown"
msgstr "Njeznaty"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Abonementy"
@@ -5596,23 +5858,23 @@ msgstr "Abonementy"
msgid "All subscriptions"
msgstr "WÅ¡Ä› abonementy"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Abonenća"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Wšitcy abonenća"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "Wužiwarski ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Čłon wot"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "WÅ¡Ä› skupiny"
@@ -5652,7 +5914,12 @@ msgstr "Tutu zdźělenku wospjetować?"
msgid "Repeat this notice"
msgstr "Tutu zdźělenku wospjetować"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Tutoho wužiwarja za tutu skupinu blokować"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5672,6 +5939,10 @@ msgstr "Pytanske sydło"
msgid "Keyword(s)"
msgstr "KluÄowe hesÅ‚a"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Pytać"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Pytanska pomoc"
@@ -5723,6 +5994,15 @@ msgstr ""
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Přeprosyć"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5793,47 +6073,63 @@ msgstr "Powěsć"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Wužiwarski profil"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administratorojo"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "před něšto sekundami"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "před něhdźe jednej mjeńšinu"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "před %d mjeńšinami"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "před něhdźe jednej hodźinu"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "před něhdźe %d hodźinami"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "před něhdźe jednym dnjom"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "před něhdźe %d dnjemi"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "před něhdźe jednym měsacom"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "před něhdźe %d měsacami"
-#: lib/util.php:970
+#: lib/util.php:1033
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 fa42bd3fe..7a96686ed 100644
--- a/locale/ia/LC_MESSAGES/statusnet.po
+++ b/locale/ia/LC_MESSAGES/statusnet.po
@@ -8,75 +8,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:01+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:08+0000\n"
"Language-Team: Interlingua\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Accesso"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Configurationes de accesso al sito"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registration"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Private"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Prohibir al usatores anonyme (sin session aperte) de vider le sito?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Solmente per invitation"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Private"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Permitter le registration solmente al invitatos."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Claudite"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Solmente per invitation"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Claudite"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Salveguardar configurationes de accesso"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Salveguardar"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Pagina non existe"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -90,45 +98,53 @@ msgstr "Pagina non existe"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Usator non existe."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s e amicos, pagina %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s e amicos"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Syndication pro le amicos de %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Syndication pro le amicos de %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Syndication pro le amicos de %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -136,7 +152,7 @@ msgstr ""
"Isto es le chronologia pro %s e su amicos, ma necuno ha ancora publicate "
"alique."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -145,7 +161,8 @@ msgstr ""
"Proba subscriber te a altere personas, [face te membro de un gruppo](%%"
"action.groups%%) o publica alique tu mesme."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -154,7 +171,7 @@ msgstr ""
"Tu pote tentar [dar un pulsata a %1$s](../%2$s) in su profilo o [publicar un "
"message a su attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -163,7 +180,8 @@ msgstr ""
"Proque non [registrar un conto](%%%%action.register%%%%) e postea dar un "
"pulsata a %s o publicar un message a su attention."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Tu e amicos"
@@ -181,20 +199,20 @@ msgstr "Actualisationes de %1$s e su amicos in %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Methodo API non trovate."
@@ -228,8 +246,9 @@ msgstr "Non poteva actualisar le usator."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Le usator non ha un profilo."
@@ -255,7 +274,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -365,68 +384,68 @@ msgstr "Non poteva determinar le usator de origine."
msgid "Could not find target user."
msgstr "Non poteva trovar le usator de destination."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Pseudonymo ja in uso. Proba un altere."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Non un pseudonymo valide."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Le pagina personal non es un URL valide."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Le nomine complete es troppo longe (max. 255 characteres)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Loco es troppo longe (max. 255 characteres)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Troppo de aliases! Maximo: %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Alias invalide: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Le alias \"%s\" es ja in uso. Proba un altere."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Le alias non pote esser identic al pseudonymo."
@@ -437,15 +456,15 @@ msgstr "Le alias non pote esser identic al pseudonymo."
msgid "Group not found!"
msgstr "Gruppo non trovate!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Tu es ja membro de iste gruppo."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Le administrator te ha blocate de iste gruppo."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Non poteva inscriber le usator %1$s in le gruppo %2$s."
@@ -454,7 +473,7 @@ msgstr "Non poteva inscriber le usator %1$s in le gruppo %2$s."
msgid "You are not a member of this group."
msgstr "Tu non es membro de iste gruppo."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Non poteva remover le usator %1$s del gruppo %2$s."
@@ -485,7 +504,7 @@ msgstr "Indicio 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -531,7 +550,7 @@ msgstr "Le indicio de requesta %s ha essite refusate e revocate."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -557,13 +576,13 @@ msgstr ""
"<strong>%3$s</strong> le datos de tu conto de %4$s. Tu debe solmente dar "
"accesso a tu conto de %4$s a tertie personas in le quales tu ha confidentia."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Conto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -647,18 +666,6 @@ msgstr "%1$s / Favorites de %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s actualisationes favoritisate per %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Chronologia de %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Actualisationes de %1$s in %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -670,12 +677,12 @@ msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
"Actualisationes de %1$s que responde al actualisationes de %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Chronologia public de %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "Actualisationes de totes in %s!"
@@ -690,12 +697,12 @@ msgstr "Repetite a %s"
msgid "Repeats of %s"
msgstr "Repetitiones de %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Notas con etiquetta %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Actualisationes con etiquetta %1$s in %2$s!"
@@ -711,8 +718,7 @@ msgstr "Annexo non existe."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Nulle pseudonymo."
@@ -724,7 +730,7 @@ msgstr "Nulle dimension."
msgid "Invalid size."
msgstr "Dimension invalide."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -737,35 +743,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Usator sin profilo correspondente"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Configuration del avatar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Previsualisation"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Deler"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Incargar"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Taliar"
@@ -773,7 +779,7 @@ msgstr "Taliar"
msgid "Pick a square area of the image to be your avatar"
msgstr "Selige un area quadrate del imagine pro facer lo tu avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Datos del file perdite."
@@ -808,22 +814,22 @@ msgstr ""
"recipera notification de su @-responsas."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Non blocar iste usator"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Si"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Blocar iste usator"
@@ -831,39 +837,43 @@ msgstr "Blocar iste usator"
msgid "Failed to save block information."
msgstr "Falleva de salveguardar le information del blocada."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Gruppo non existe."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s profilos blocate"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s profilos blocate, pagina %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Un lista del usatores excludite del membrato de iste gruppo."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Disblocar le usator del gruppo"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Disblocar"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Disblocar iste usator"
@@ -919,7 +929,7 @@ msgid "Conversation"
msgstr "Conversation"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Notas"
@@ -938,7 +948,7 @@ msgstr "Tu non es le proprietario de iste application."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Il habeva un problema con tu indicio de session."
@@ -964,12 +974,13 @@ msgstr "Non deler iste application"
msgid "Delete this application"
msgstr "Deler iste application"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Non identificate."
@@ -998,7 +1009,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Deler iste nota"
@@ -1014,7 +1025,7 @@ msgstr "Tu pote solmente deler usatores local."
msgid "Delete user"
msgstr "Deler usator"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1022,12 +1033,12 @@ 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/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Deler iste usator"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Apparentia"
@@ -1130,6 +1141,18 @@ msgstr "Restaurar apparentias predefinite"
msgid "Reset back to default"
msgstr "Revenir al predefinitiones"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Salveguardar"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Salveguardar apparentia"
@@ -1221,29 +1244,29 @@ msgstr "Modificar gruppo %s"
msgid "You must be logged in to create a group."
msgstr "Tu debe aperir un session pro crear un gruppo."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Tu debe esser administrator pro modificar le gruppo."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Usa iste formulario pro modificar le gruppo."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "description es troppo longe (max %d chars)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Non poteva actualisar gruppo."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Non poteva crear aliases."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Optiones salveguardate."
@@ -1362,7 +1385,7 @@ msgid "Cannot normalize that email address"
msgstr "Non pote normalisar iste adresse de e-mail"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Adresse de e-mail invalide."
@@ -1554,6 +1577,25 @@ msgstr "File non existe."
msgid "Cannot read file."
msgstr "Non pote leger file."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Indicio invalide."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Tu non pote mitter usatores in le cassa de sablo in iste sito."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Usator es ja silentiate."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1583,7 +1625,7 @@ msgstr "Le usator es ja blocate del gruppo."
msgid "User is not a member of group."
msgstr "Le usator non es membro del gruppo."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Blocar usator del gruppo"
@@ -1618,11 +1660,11 @@ msgstr "Nulle ID."
msgid "You must be logged in to edit a group."
msgstr "Tu debe aperir un session pro modificar un gruppo."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Apparentia del gruppo"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1630,20 +1672,20 @@ msgstr ""
"Personalisa le apparentia de tu gruppo con un imagine de fundo e un paletta "
"de colores de tu preferentia."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Non poteva actualisar tu apparentia."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Preferentias de apparentia salveguardate."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logotypo del gruppo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1651,62 +1693,68 @@ msgstr ""
"Tu pote incargar un imagine pro le logotypo de tu gruppo. Le dimension "
"maximal del file es %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Usator sin profilo correspondente"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Selige un area quadrate del imagine que devenira le logotypo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logotypo actualisate."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Falleva de actualisar le logotypo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Membros del gruppo %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Membros del gruppo %1$s, pagina %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Un lista de usatores in iste gruppo."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administrator"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blocar"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Facer le usator administrator del gruppo"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Facer administrator"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Facer iste usator administrator"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Chronologia de %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Actualisationes de membros de %1$s in %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Gruppos"
@@ -1966,16 +2014,19 @@ msgstr "Message personal"
msgid "Optionally add a personal message to the invitation."
msgstr "Si tu vole, adde un message personal al invitation."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Inviar"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s te ha invitate a accompaniar le/la in %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2036,7 +2087,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Tu debe aperir un session pro facer te membro de un gruppo."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Nulle pseudonymo."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s es ora membro del gruppo %2$s"
@@ -2045,11 +2101,11 @@ msgstr "%1$s es ora membro del gruppo %2$s"
msgid "You must be logged in to leave a group."
msgstr "Tu debe aperir un session pro quitar un gruppo."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Tu non es membro de iste gruppo."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s quitava le gruppo %2$s"
@@ -2067,8 +2123,7 @@ msgid "Error setting user. You are probably not authorized."
msgstr ""
"Error de acceder al conto de usator. Tu probabilemente non es autorisate."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Aperir session"
@@ -2326,8 +2381,8 @@ msgstr "typo de contento "
msgid "Only "
msgstr "Solmente "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Formato de datos non supportate."
@@ -2467,7 +2522,8 @@ msgstr "Non pote salveguardar le nove contrasigno."
msgid "Password saved."
msgstr "Contrasigno salveguardate."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Camminos"
@@ -2500,7 +2556,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Servitor SSL invalide. Le longitude maximal es 255 characteres."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Sito"
@@ -2588,7 +2643,7 @@ msgstr "Directorio al fundos"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nunquam"
@@ -2643,11 +2698,11 @@ msgstr "Etiquetta de personas invalide: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Usatores auto-etiquettate con %1$s - pagina %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Le contento del nota es invalide"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2674,7 +2729,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nomine complete"
@@ -2702,7 +2757,7 @@ msgid "Bio"
msgstr "Bio"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2729,7 +2784,7 @@ msgstr ""
"Etiquettas pro te (litteras, numeros, -, ., e _), separate per commas o "
"spatios"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Lingua"
@@ -2756,7 +2811,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Bio es troppo longe (max %d chars)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Fuso horari non seligite."
@@ -2785,7 +2840,8 @@ msgstr "Non poteva salveguardar profilo."
msgid "Couldn't save tags."
msgstr "Non poteva salveguardar etiquettas."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Preferentias confirmate."
@@ -2798,28 +2854,28 @@ msgstr "Ultra le limite de pagina (%s)"
msgid "Could not retrieve public stream."
msgstr "Non poteva recuperar le fluxo public."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Chronologia public, pagina %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Chronologia public"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Syndication del fluxo public (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Syndication del fluxo public (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Syndication del fluxo public (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2828,11 +2884,11 @@ msgstr ""
"Isto es le chronologia public pro %%site.name%%, ma nulle persona ha ancora "
"scribite alique."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Sia le prime a publicar!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2840,7 +2896,7 @@ msgstr ""
"Proque non [registrar un conto](%%action.register%%) e devenir le prime a "
"publicar?"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2853,7 +2909,7 @@ msgstr ""
"[Inscribe te ora](%%action.register%%) pro condivider notas super te con "
"amicos, familia e collegas! ([Leger plus](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3031,8 +3087,7 @@ msgstr "Pardono, le codice de invitation es invalide."
msgid "Registration successful"
msgstr "Registration succedite"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Crear conto"
@@ -3073,7 +3128,7 @@ msgid "Same as password above. Required."
msgstr "Identic al contrasigno hic supra. Requirite."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
@@ -3180,7 +3235,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL de tu profilo in un altere servicio de microblogging compatibile"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Subscriber"
@@ -3218,7 +3273,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Repetite"
@@ -3226,33 +3281,33 @@ msgstr "Repetite"
msgid "Repeated!"
msgstr "Repetite!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Responsas a %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Responsas a %1$s, pagina %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Syndication de responsas pro %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Syndication de responsas pro %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Syndication de responsas pro %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3261,7 +3316,7 @@ msgstr ""
"Isto es le chronologia de responsas a %1$s, ma %2$s non ha ancora recipite "
"alcun nota a su attention."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3270,7 +3325,7 @@ msgstr ""
"Tu pote facer conversation con altere usatores, subscriber te a plus "
"personas o [devenir membro de gruppos](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3284,6 +3339,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Responsas a %1$s in %2$s!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Tu non pote silentiar usatores in iste sito."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Usator sin profilo correspondente"
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3296,8 +3361,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessiones"
@@ -3321,8 +3387,8 @@ msgstr "Cercar defectos de session"
msgid "Turn on debugging output for sessions."
msgstr "Producer informationes technic pro cercar defectos in sessiones."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Salveguardar configurationes del sito"
@@ -3352,8 +3418,8 @@ msgstr "Organisation"
msgid "Description"
msgstr "Description"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statisticas"
@@ -3415,22 +3481,22 @@ msgstr "Notas favorite de %1$s, pagina %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Non poteva recuperar notas favorite."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Syndication del favorites de %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Syndication del favorites de %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Syndication del favorites de %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3439,7 +3505,7 @@ msgstr ""
"Favorite sub notas que te place pro memorisar los pro plus tarde o pro "
"mitter los in evidentia."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3448,7 +3514,7 @@ msgstr ""
"%s non ha ancora addite alcun nota a su favorites. Publica alique "
"interessante que ille favoritisarea :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3459,7 +3525,7 @@ msgstr ""
"conto](%%%%action.register%%%%) e postea publicar alique interessante que "
"ille favoritisarea :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Isto es un modo de condivider lo que te place."
@@ -3473,67 +3539,67 @@ msgstr "Gruppo %s"
msgid "%1$s group, page %2$d"
msgstr "Gruppo %1$s, pagina %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Profilo del gruppo"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Nota"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Aliases"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Actiones del gruppo"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Syndication de notas pro le gruppo %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Syndication de notas pro le gruppo %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Syndication de notas pro le gruppo %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Amico de un amico pro le gruppo %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Membros"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Nulle)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Tote le membros"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Create"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3548,7 +3614,7 @@ msgstr ""
"lor vita e interesses. [Crea un conto](%%%%action.register%%%%) pro devenir "
"parte de iste gruppo e multe alteres! ([Lege plus](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3561,7 +3627,7 @@ msgstr ""
"[StatusNet](http://status.net/). Su membros condivide breve messages super "
"lor vita e interesses. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administratores"
@@ -3684,148 +3750,139 @@ msgid "User is already silenced."
msgstr "Usator es ja silentiate."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "Configurationes de base pro iste sito de StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Le longitude del nomine del sito debe esser plus que zero."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Tu debe haber un valide adresse de e-mail pro contacto."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Lingua \"%s\" incognite."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "Le URL pro reportar instantaneos es invalide."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Valor de execution de instantaneo invalide."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "Le frequentia de instantaneos debe esser un numero."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Le limite minimal del texto es 140 characteres."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "Le limite de duplicatos debe esser 1 o plus secundas."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "General"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nomine del sito"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Le nomine de tu sito, como \"Le microblog de TuCompania\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Realisate per"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Le texto usate pro le ligamine al creditos in le pede de cata pagina"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URL pro \"Realisate per\""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL usate pro le ligamine al creditos in le pede de cata pagina"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Le adresse de e-mail de contacto pro tu sito"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Local"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Fuso horari predefinite"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Fuso horari predefinite pro le sito; normalmente UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Lingua predefinite del sito"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Instantaneos"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Aleatorimente durante un accesso web"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "In un processo planificate"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Instantaneos de datos"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Quando inviar datos statistic al servitores de status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frequentia"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Un instantaneo essera inviate a cata N accessos web"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL pro reporto"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Le instantaneos essera inviate a iste URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limites"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Limite de texto"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Numero maximal de characteres pro notas."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Limite de duplicatos"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Quante tempore (in secundas) le usatores debe attender ante de poter "
"publicar le mesme cosa de novo."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Aviso del sito"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nove message"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Impossibile salveguardar le configurationes del apparentia."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Aviso del sito"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Aviso del sito"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Parametros de SMS"
@@ -3925,6 +3982,66 @@ msgstr ""
msgid "No code entered"
msgstr "Nulle codice entrate"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Instantaneos"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Modificar le configuration del sito"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Valor de execution de instantaneo invalide."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "Le frequentia de instantaneos debe esser un numero."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "Le URL pro reportar instantaneos es invalide."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Aleatorimente durante un accesso web"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "In un processo planificate"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Instantaneos de datos"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Quando inviar datos statistic al servitores de status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frequentia"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Un instantaneo essera inviate a cata N accessos web"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL pro reporto"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Le instantaneos essera inviate a iste URL"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Salveguardar configurationes del sito"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Tu non es subscribite a iste profilo."
@@ -4041,22 +4158,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Notas etiquettate con %1$s, pagina %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Syndication de notas pro le etiquetta %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Syndication de notas pro le etiquetta %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Syndication de notas pro le etiquetta %s (Atom)"
@@ -4111,7 +4228,7 @@ msgstr ""
msgid "No such tag."
msgstr "Etiquetta non existe."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Methodo API in construction."
@@ -4135,7 +4252,7 @@ msgstr "Nulle ID de profilo in requesta."
msgid "Unsubscribed"
msgstr "Subscription cancellate"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4143,70 +4260,72 @@ msgstr ""
"Le licentia del fluxo que tu ascolta, ‘%1$s’, non es compatibile con le "
"licentia del sito ‘%2$s’."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Usator"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Configurationes de usator pro iste sito de StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite de biographia invalide. Debe esser un numero."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Texto de benvenita invalide. Longitude maximal es 255 characteres."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Subscription predefinite invalide: '%1$s' non es usator."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profilo"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Limite de biographia"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Le longitude maximal del biographia de un profilo in characteres."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nove usatores"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Message de benvenita a nove usatores"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Texto de benvenita pro nove usatores (max. 255 characteres)"
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Subscription predefinite"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Subscriber automaticamente le nove usatores a iste usator."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Invitationes"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Invitationes activate"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Si le usatores pote invitar nove usatores."
@@ -4336,17 +4455,23 @@ msgstr "Gruppos %1$s, pagina %2$d"
msgid "Search for more groups"
msgstr "Cercar altere gruppos"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s non es membro de alcun gruppo."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Tenta [cercar gruppos](%%action.groupsearch%%) e facer te membro de illos."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Actualisationes de %1$s in %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4402,7 +4527,7 @@ msgstr ""
msgid "Plugins"
msgstr "Plug-ins"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Version"
@@ -4441,6 +4566,11 @@ msgstr "Non es membro del gruppo."
msgid "Group leave failed."
msgstr "Le cancellation del membrato del gruppo ha fallite."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Non poteva actualisar gruppo."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4458,27 +4588,27 @@ msgstr "Non poteva inserer message."
msgid "Could not update message with new URI."
msgstr "Non poteva actualisar message con nove URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Error in base de datos durante insertion del marca (hashtag): %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problema salveguardar nota. Troppo longe."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problema salveguardar nota. Usator incognite."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Troppo de notas troppo rapidemente; face un pausa e publica de novo post "
"alcun minutas."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4486,19 +4616,19 @@ msgstr ""
"Troppo de messages duplicate troppo rapidemente; face un pausa e publica de "
"novo post alcun minutas."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Il te es prohibite publicar notas in iste sito."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problema salveguardar nota."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problema salveguardar le cassa de entrata del gruppo."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4523,23 +4653,38 @@ msgstr "Non subscribite!"
msgid "Couldn't delete self-subscription."
msgstr "Non poteva deler auto-subscription."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Non poteva deler subscription."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Non poteva deler subscription."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Benvenite a %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Non poteva crear gruppo."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Non poteva configurar le membrato del gruppo."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Non poteva configurar le membrato del gruppo."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Non poteva salveguardar le subscription."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Cambiar le optiones de tu profilo"
@@ -4577,124 +4722,187 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Pagina sin titulo"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navigation primari del sito"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Initio"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Profilo personal e chronologia de amicos"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Cambiar tu e-mail, avatar, contrasigno, profilo"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Connecter"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Connecter con servicios"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Connecter"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Modificar le configuration del sito"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Invitar"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrator"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Invitar amicos e collegas a accompaniar te in %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Clauder session"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invitar"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Terminar le session del sito"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Clauder session"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Crear un conto"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Crear conto"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Identificar te a iste sito"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Adjuta"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Aperir session"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Adjuta me!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Cercar"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Adjuta"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Cercar personas o texto"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Cercar"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Aviso del sito"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Vistas local"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Aviso de pagina"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Navigation secundari del sito"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Adjuta"
+
+#: lib/action.php:754
msgid "About"
msgstr "A proposito"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "CdS"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Confidentialitate"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Fonte"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contacto"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Insignia"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licentia del software StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4703,12 +4911,12 @@ msgstr ""
"**%%site.name%%** es un servicio de microblog offerite per [%%site.broughtby%"
"%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** es un servicio de microblog. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4719,108 +4927,150 @@ msgstr ""
"net/), version %s, disponibile sub le [GNU Affero General Public License]"
"(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licentia del contento del sito"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Le contento e datos de %1$s es private e confidential."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr "Contento e datos sub copyright de %1$s. Tote le derectos reservate."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"Contento e datos sub copyright del contributores. Tote le derectos reservate."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Totes "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licentia."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Pagination"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Post"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Ante"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Tu non pote facer modificationes in iste sito."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Le modification de iste pannello non es permittite."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() non implementate."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() non implementate."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Impossibile deler configuration de apparentia."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configuration basic del sito"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Sito"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configuration del apparentia"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Apparentia"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Configuration del usator"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Usator"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Configuration del accesso"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Configuration del camminos"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Configuration del sessiones"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Aviso del sito"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Configuration del camminos"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"Le ressource de API require accesso pro lectura e scriptura, ma tu ha "
"solmente accesso pro lectura."
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4914,11 +5164,11 @@ msgstr "Notas ubi iste annexo appare"
msgid "Tags for this attachment"
msgstr "Etiquettas pro iste annexo"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Cambio del contrasigno fallite"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Cambio del contrasigno non permittite"
@@ -5005,12 +5255,12 @@ msgstr "%s quitava le gruppo %s"
msgid "Fullname: %s"
msgstr "Nomine complete: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Loco: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Pagina personal: %s"
@@ -5233,19 +5483,19 @@ msgstr ""
"tracks - non ancora implementate.\n"
"tracking - non ancora implementate.\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Nulle file de configuration trovate. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Io cercava files de configuration in le sequente locos: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "Considera executar le installator pro reparar isto."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Ir al installator."
@@ -5344,6 +5594,11 @@ msgstr "Selige etiquetta pro reducer lista"
msgid "Go"
msgstr "Ir"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL del pagina initial o blog del gruppo o topico"
@@ -5433,25 +5688,25 @@ msgstr "Error de systema durante le incargamento del file."
#: lib/imagefile.php:96
msgid "Not an image or corrupt file."
-msgstr "Le file non es un imagine o es defecte."
+msgstr "Le file non es un imagine o es defectuose."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Formato de file de imagine non supportate."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "File perdite."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Typo de file incognite"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "KB"
@@ -5481,11 +5736,11 @@ msgstr "Aperir session con nomine de usator e contrasigno"
msgid "Sign up for a new account"
msgstr "Crear un nove conto"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmation del adresse de e-mail"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5514,12 +5769,12 @@ msgstr ""
"Gratias pro tu attention,\n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s seque ora tu notas in %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5544,17 +5799,17 @@ msgstr ""
"----\n"
"Cambia tu adresse de e-mail o optiones de notification a %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Bio: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nove adresse de e-mail pro publicar in %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5575,21 +5830,21 @@ msgstr ""
"Cordialmente,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Stato de %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Confirmation SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s te ha pulsate"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5616,12 +5871,12 @@ msgstr ""
"Con salutes cordial,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nove message private de %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5654,12 +5909,12 @@ msgstr ""
"Con salutes cordial,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) ha addite tu nota como favorite"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5697,12 +5952,12 @@ msgstr ""
"Cordialmente,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) ha inviate un nota a tu attention"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5834,6 +6089,12 @@ msgstr "A"
msgid "Available characters"
msgstr "Characteres disponibile"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Inviar"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Inviar un nota"
@@ -5892,23 +6153,23 @@ msgstr "W"
msgid "at"
msgstr "a"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "in contexto"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Repetite per"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Responder a iste nota"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Nota repetite"
@@ -5981,7 +6242,7 @@ msgstr "Etiquettas in le notas de %s"
msgid "Unknown"
msgstr "Incognite"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Subscriptiones"
@@ -5989,23 +6250,23 @@ msgstr "Subscriptiones"
msgid "All subscriptions"
msgstr "Tote le subscriptiones"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Subscriptores"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Tote le subscriptores"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID del usator"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membro depost"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Tote le gruppos"
@@ -6045,7 +6306,12 @@ msgstr "Repeter iste nota?"
msgid "Repeat this notice"
msgstr "Repeter iste nota"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Blocar iste usator de iste gruppo"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Nulle signule usator definite pro le modo de singule usator."
@@ -6065,6 +6331,10 @@ msgstr "Cercar in sito"
msgid "Keyword(s)"
msgstr "Parola(s)-clave"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Cercar"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Adjuta super le recerca"
@@ -6116,6 +6386,15 @@ msgstr "Personas qui seque %s"
msgid "Groups %s is a member of"
msgstr "Gruppos del quales %s es membro"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Invitar"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Invitar amicos e collegas a accompaniar te in %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6186,47 +6465,64 @@ msgstr "Message"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Profilo del usator"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administratores"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderar"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "alcun secundas retro"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "circa un minuta retro"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "circa %d minutas retro"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "circa un hora retro"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "circa %d horas retro"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "circa un die retro"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "circa %d dies retro"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "circa un mense retro"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "circa %d menses retro"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "circa un anno retro"
diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po
index 08e4fec95..3c8f33565 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-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:05+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:12+0000\n"
"Language-Team: Icelandic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
@@ -21,71 +21,78 @@ msgstr ""
"= 31 && n % 100 != 41 && n % 100 != 51 && n % 100 != 61 && n % 100 != 71 && "
"n % 100 != 81 && n % 100 != 91);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Samþykkja"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Stillingar fyrir mynd"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Nýskrá"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Friðhelgi"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "Bjóða"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
msgid "Closed"
msgstr ""
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Stillingar fyrir mynd"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Vista"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "Ekkert þannig merki."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -99,72 +106,82 @@ msgstr "Ekkert þannig merki."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Enginn svoleiðis notandi."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s og vinirnir, síða %d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s og vinirnir"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr ""
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr ""
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr ""
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr ""
@@ -182,20 +199,20 @@ msgstr "Færslur frá %1$s og vinum á %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Aðferð í forritsskilum fannst ekki!"
@@ -229,8 +246,9 @@ msgstr "Gat ekki uppfært notanda."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Notandi hefur enga persónulega síðu."
@@ -255,7 +273,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -372,68 +390,68 @@ msgstr ""
msgid "Could not find target user."
msgstr ""
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Stuttnefni geta bara verið lágstafir og tölustafir en engin bil."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Stuttnefni nú þegar í notkun. Prófaðu eitthvað annað."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ekki tækt stuttnefni."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Heimasíða er ekki gild vefslóð."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Fullt nafn er of langt (í mesta lagi 255 stafir)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Staðsetning er of löng (í mesta lagi 255 stafir)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr ""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr ""
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -445,16 +463,16 @@ msgstr ""
msgid "Group not found!"
msgstr "Aðferð í forritsskilum fannst ekki!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "Þú ert nú þegar meðlimur í þessum hópi"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Gat ekki bætt notandanum %s í hópinn %s"
@@ -464,7 +482,7 @@ msgstr "Gat ekki bætt notandanum %s í hópinn %s"
msgid "You are not a member of this group."
msgstr "Þú ert ekki meðlimur í þessum hópi."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Gat ekki fjarlægt notandann %s úr hópnum %s"
@@ -496,7 +514,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -540,7 +558,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -563,13 +581,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Aðgangur"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -654,18 +672,6 @@ msgstr "%s / Uppáhaldsbabl frá %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s færslur gerðar að uppáhaldsbabli af %s / %s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Rás %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Færslur frá %1$s á %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -676,12 +682,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s færslur sem svara færslum frá %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Almenningsrás %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s færslur frá öllum!"
@@ -696,12 +702,12 @@ msgstr "Svör við %s"
msgid "Repeats of %s"
msgstr "Svör við %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Babl merkt með %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr ""
@@ -717,8 +723,7 @@ msgstr ""
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ekkert stuttnefni."
@@ -730,7 +735,7 @@ msgstr "Engin stærð."
msgid "Invalid size."
msgstr "Ótæk stærð."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Mynd"
@@ -742,35 +747,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Notandi með enga persónulega síðu sem passar við"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Stillingar fyrir mynd"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Upphafleg mynd"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Forsýn"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Eyða"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Hlaða upp"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Skera af"
@@ -779,7 +784,7 @@ msgid "Pick a square area of the image to be your avatar"
msgstr ""
"Veldu ferningslaga svæði á upphaflegu myndinni sem einkennismyndina þína"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Týndum skráargögnunum okkar"
@@ -812,23 +817,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nei"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "Opna á þennan notanda"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Já"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Loka á þennan notanda"
@@ -836,39 +841,43 @@ msgstr "Loka á þennan notanda"
msgid "Failed to save block information."
msgstr "Mistókst að vista upplýsingar um notendalokun"
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Enginn þannig hópur."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr ""
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s og vinirnir, síða %d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Opna"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Opna á þennan notanda"
@@ -927,7 +936,7 @@ msgid "Conversation"
msgstr ""
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Babl"
@@ -949,7 +958,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Það komu upp vandamál varðandi setutókann þinn."
@@ -975,12 +984,13 @@ msgstr "Gat ekki uppfært hóp."
msgid "Delete this application"
msgstr "Eyða þessu babli"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ekki innskráð(ur)."
@@ -1007,7 +1017,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Eyða þessu babli"
@@ -1026,19 +1036,19 @@ msgstr "Þú getur ekki eytt stöðu annars notanda."
msgid "Delete user"
msgstr "Eyða"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "Eyða þessu babli"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1145,6 +1155,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Vista"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1247,30 +1269,30 @@ msgstr "Breyta hópnum %s"
msgid "You must be logged in to create a group."
msgstr "Þú verður að hafa skráð þig inn til að búa til hóp."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Þú verður að vera stjórnandi til að geta breytt hópnum"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Notaðu þetta eyðublað til að breyta hópnum."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "Lýsing er of löng (í mesta lagi 140 tákn)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Gat ekki uppfært hóp."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr ""
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Valmöguleikar vistaðir."
@@ -1390,7 +1412,7 @@ msgid "Cannot normalize that email address"
msgstr "Get ekki staðlað þetta tölvupóstfang"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ekki tækt tölvupóstfang."
@@ -1586,6 +1608,25 @@ msgstr "Ekkert svoleiðis babl."
msgid "Cannot read file."
msgstr "Týndum skránni okkar"
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Ótæk stærð."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Þú getur ekki sent þessum notanda skilaboð."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Notandi hefur enga persónulega síðu."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1615,7 +1656,7 @@ msgstr ""
msgid "User is not a member of group."
msgstr ""
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr ""
@@ -1648,92 +1689,98 @@ msgstr "Ekkert einkenni"
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr ""
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr ""
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Einkennismynd hópsins"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Notandi með enga persónulega síðu sem passar við"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Einkennismynd uppfærð."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Tókst ekki að uppfæra einkennismynd"
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Hópmeðlimir %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "Hópmeðlimir %s, síða %d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Listi yfir notendur í þessum hóp."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Stjórnandi"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Loka"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Rás %s"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Færslur frá %1$s á %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Hópar"
@@ -1985,16 +2032,19 @@ msgstr "Persónuleg skilaboð"
msgid "Optionally add a personal message to the invitation."
msgstr "Bættu persónulegum skilaboðum við boðskortið ef þú vilt."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Senda"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s hefur boðið þér að slást í hópinn með þeim á %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2055,7 +2105,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Þú verður að hafa skráð þig inn til að bæta þér í hóp."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Ekkert stuttnefni."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s bætti sér í hópinn %s"
@@ -2064,11 +2119,11 @@ msgstr "%s bætti sér í hópinn %s"
msgid "You must be logged in to leave a group."
msgstr "Þú verður aða hafa skráð þig inn til að ganga úr hóp."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Þú ert ekki meðlimur í þessum hópi."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s gekk úr hópnum %s"
@@ -2086,8 +2141,7 @@ msgstr "Rangt notendanafn eða lykilorð."
msgid "Error setting user. You are probably not authorized."
msgstr "Engin heimild."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Innskráning"
@@ -2346,8 +2400,8 @@ msgstr ""
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Enginn stuðningur við gagnasnið."
@@ -2494,7 +2548,8 @@ msgstr "Get ekki vistað nýja lykilorðið."
msgid "Password saved."
msgstr "Lykilorð vistað."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2527,7 +2582,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "Bjóða"
@@ -2622,7 +2676,7 @@ msgstr ""
msgid "SSL"
msgstr "SMS"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Endurheimta"
@@ -2681,11 +2735,11 @@ msgstr "Ekki gilt persónumerki: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Notendur sjálfmerktir með %s - síða %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ótækt bablinnihald"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2710,7 +2764,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 lágstafir eða tölustafir, engin greinarmerki eða bil"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullt nafn"
@@ -2741,7 +2795,7 @@ msgid "Bio"
msgstr "Lýsing"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2768,7 +2822,7 @@ msgstr ""
"Merki fyrir þig (bókstafir, tölustafir, -, ., og _), aðskilin með kommu eða "
"bili"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Tungumál"
@@ -2796,7 +2850,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Lýsingin er of löng (í mesta lagi 140 tákn)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Tímabelti ekki valið."
@@ -2826,7 +2880,8 @@ msgstr "Gat ekki vistað persónulega síðu."
msgid "Couldn't save tags."
msgstr "Gat ekki vistað merki."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Stillingar vistaðar."
@@ -2839,45 +2894,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Gat ekki sótt efni úr almenningsveitu."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Almenningsrás, síða %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Almenningsrás"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2886,7 +2941,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3059,8 +3114,7 @@ msgstr ""
msgid "Registration successful"
msgstr "Nýskráning tókst"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Nýskrá"
@@ -3100,7 +3154,7 @@ msgid "Same as password above. Required."
msgstr "Sama og lykilorðið hér fyrir ofan. Nauðsynlegt."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Tölvupóstur"
@@ -3205,7 +3259,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "Veffang persónulegrar síðu á samvirkandi örbloggsþjónustu"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Gerast áskrifandi"
@@ -3250,7 +3304,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "à sviðsljósinu"
@@ -3259,47 +3313,47 @@ msgstr "à sviðsljósinu"
msgid "Repeated!"
msgstr ""
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Svör við %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Skilaboð til %1$s á %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr ""
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr ""
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Bablveita fyrir hópinn %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3311,6 +3365,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Skilaboð til %1$s á %2$s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Þú getur ekki sent þessum notanda skilaboð."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Notandi með enga persónulega síðu sem passar við"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3325,8 +3389,9 @@ msgstr "Þú getur ekki sent þessum notanda skilaboð."
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3350,8 +3415,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Stillingar fyrir mynd"
@@ -3386,8 +3451,8 @@ msgstr "Uppröðun"
msgid "Description"
msgstr "Lýsing"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Tölfræði"
@@ -3448,35 +3513,35 @@ msgstr "Uppáhaldsbabl %s"
msgid "Could not retrieve favorite notices."
msgstr "Gat ekki sótt uppáhaldsbabl."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Bablveita uppáhaldsbabls %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Bablveita uppáhaldsbabls %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Bablveita uppáhaldsbabls %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3484,7 +3549,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3498,67 +3563,67 @@ msgstr "%s hópurinn"
msgid "%1$s group, page %2$d"
msgstr "Hópmeðlimir %s, síða %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Hópssíðan"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "Vefslóð"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Athugasemd"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Hópsaðgerðir"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "%s hópurinn"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Meðlimir"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Ekkert)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Allir meðlimir"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr ""
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3568,7 +3633,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3577,7 +3642,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3689,150 +3754,139 @@ msgid "User is already silenced."
msgstr ""
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Ekki tækt tölvupóstfang"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Babl vefsíðunnar"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Nýtt tölvupóstfang til að senda á %s"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Staðbundin sýn"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "Tungumál (ákjósanlegt)"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Babl vefsíðunnar"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Ný skilaboð"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Vandamál komu upp við að vista babl."
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Babl vefsíðunnar"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Babl vefsíðunnar"
#: actions/smssettings.php:58
#, fuzzy
@@ -3934,6 +3988,66 @@ msgstr ""
msgid "No code entered"
msgstr "Enginn lykill sleginn inn"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Stikl aðalsíðu"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Stillingar fyrir mynd"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Þú ert ekki áskrifandi."
@@ -4040,22 +4154,22 @@ msgstr "Jabber snarskilaboðaþjónusta"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Notendur sjálfmerktir með %s - síða %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Bablveita fyrir %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -4112,7 +4226,7 @@ msgstr ""
msgid "No such tag."
msgstr "Ekkert þannig merki."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Aðferð í forritsskilum er í þróun."
@@ -4139,83 +4253,85 @@ msgstr "Ekkert einkenni persónulegrar síðu í beiðni."
msgid "Unsubscribed"
msgstr "Ekki lengur áskrifandi"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Notandi"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Persónuleg síða"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "Bjóða nýjum notendum að vera með"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Allar áskriftir"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, 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:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Boðskort hefur verið sent út"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "Boðskort hefur verið sent út"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4346,16 +4462,22 @@ msgstr "Hópmeðlimir %s, síða %d"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Færslur frá %1$s á %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4399,7 +4521,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Persónulegt"
@@ -4440,6 +4562,11 @@ msgstr "Gat ekki uppfært hóp."
msgid "Group leave failed."
msgstr "Hópssíðan"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Gat ekki uppfært hóp."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4458,46 +4585,46 @@ msgstr "Gat ekki skeytt skilaboðum inn í."
msgid "Could not update message with new URI."
msgstr "Gat ekki uppfært skilaboð með nýju veffangi."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Gagnagrunnsvilla við innsetningu myllumerkis: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr ""
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Gat ekki vistað babl. Óþekktur notandi."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Of mikið babl í einu; slakaðu aðeins á og haltu svo áfram eftir nokkrar "
"mínútur."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Það hefur verið lagt bann við babli frá þér á þessari síðu."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Vandamál komu upp við að vista babl."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Vandamál komu upp við að vista babl."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4525,23 +4652,38 @@ msgstr "Ekki í áskrift!"
msgid "Couldn't delete self-subscription."
msgstr "Gat ekki eytt áskrift."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Gat ekki eytt áskrift."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Gat ekki eytt áskrift."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Gat ekki búið til hóp."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Gat ekki skráð hópmeðlimi."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Gat ekki skráð hópmeðlimi."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Gat ekki vistað áskrift."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Breyta persónulegu stillingunum þínum"
@@ -4579,128 +4721,189 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "Ónafngreind síða"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Stikl aðalsíðu"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Heim"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Persónuleg síða og vinarás"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Persónulegt"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr ""
"Breyttu tölvupóstinum þínum, einkennismyndinni þinni, lykilorðinu þínu, "
"persónulegu síðunni þinni"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Tengjast"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Gat ekki framsent til vefþjóns: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Tengjast"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Stikl aðalsíðu"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Bjóða"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Stjórnandi"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Bjóða vinum og vandamönnum að slást í hópinn á %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Útskráning"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Bjóða"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Skrá þig út af síðunni"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Útskráning"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Búa til aðgang"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Nýskrá"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Skrá þig inn á síðuna"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Hjálp"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Innskráning"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Hjálp!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Leita"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Hjálp"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Leita að fólki eða texta"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Leita"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Babl vefsíðunnar"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Staðbundin sýn"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Babl síðunnar"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Stikl undirsíðu"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Hjálp"
+
+#: lib/action.php:754
msgid "About"
msgstr "Um"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Spurt og svarað"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Friðhelgi"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Frumþula"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Tengiliður"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Hugbúnaðarleyfi StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4709,12 +4912,12 @@ msgstr ""
"**%%site.name%%** er örbloggsþjónusta í boði [%%site.broughtby%%](%%site."
"broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** er örbloggsþjónusta."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4725,116 +4928,158 @@ msgstr ""
"sem er gefinn út undir [GNU Affero almenningsleyfinu](http://www.fsf.org/"
"licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "Hugbúnaðarleyfi StatusNet"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Allt "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "leyfi."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Uppröðun"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Eftir"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Ãður"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "Þú getur ekki sent þessum notanda skilaboð."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Nýskráning ekki leyfð."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Skipun hefur ekki verið fullbúin"
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Skipun hefur ekki verið fullbúin"
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Staðfesting tölvupóstfangs"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Bjóða"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "SMS staðfesting"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Persónulegt"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "SMS staðfesting"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Notandi"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS staðfesting"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS staðfesting"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "SMS staðfesting"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Babl vefsíðunnar"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS staðfesting"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4929,12 +5174,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Lykilorðabreyting"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Lykilorðabreyting"
@@ -5020,12 +5265,12 @@ msgstr "%s gekk úr hópnum %s"
msgid "Fullname: %s"
msgstr "Fullt nafn: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Staðsetning: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Heimasíða: %s"
@@ -5215,20 +5460,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Enginn staðfestingarlykill."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
#, fuzzy
msgid "Go to the installer."
msgstr "Skrá þig inn á síðuna"
@@ -5329,6 +5574,11 @@ msgstr "Veldu merki til að þrengja lista"
msgid "Go"
msgstr "Ãfram"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "Vefslóð vefsíðu hópsins eða umfjöllunarefnisins"
@@ -5420,23 +5670,23 @@ msgstr "Kerfisvilla kom upp við upphal skráar."
msgid "Not an image or corrupt file."
msgstr "Annaðhvort ekki mynd eða þá að skráin er gölluð."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Skráarsnið myndar ekki stutt."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Týndum skránni okkar"
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Óþekkt skráargerð"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5466,11 +5716,11 @@ msgstr "Skráðu þig inn með notendanafni og lykilorði"
msgid "Sign up for a new account"
msgstr "Búðu til nýjan aðgang"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Staðfesting tölvupóstfangs"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5487,12 +5737,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s er að hlusta á bablið þitt á %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5507,19 +5757,19 @@ msgid ""
"Change your email address or notification options at %8$s\n"
msgstr ""
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"Lýsing: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nýtt tölvupóstfang til að senda á %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5540,21 +5790,21 @@ msgstr ""
"Með kærri kveðju,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Staða %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS staðfesting"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s ýtti við þér"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5570,12 +5820,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Ný persónuleg skilaboð frá %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5594,12 +5844,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s heldur upp á babl frá þér"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5620,12 +5870,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5741,6 +5991,12 @@ msgstr "Til"
msgid "Available characters"
msgstr "Leyfileg tákn"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Senda"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Senda babl"
@@ -5800,24 +6056,24 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr ""
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "à sviðsljósinu"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Svara þessu babli"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Svara"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Babl sent inn"
@@ -5893,7 +6149,7 @@ msgstr "Merki í babli %s"
msgid "Unknown"
msgstr "Óþekkt aðgerð"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Ãskriftir"
@@ -5901,23 +6157,23 @@ msgstr "Ãskriftir"
msgid "All subscriptions"
msgstr "Allar áskriftir"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Ãskrifendur"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Allir áskrifendur"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Meðlimur síðan"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Allir hópar"
@@ -5960,7 +6216,12 @@ msgstr "Svara þessu babli"
msgid "Repeat this notice"
msgstr "Svara þessu babli"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr ""
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5982,6 +6243,10 @@ msgstr ""
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Leita"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr ""
@@ -6035,6 +6300,15 @@ msgstr "Fólk sem eru áskrifendur að %s"
msgid "Groups %s is a member of"
msgstr "Hópar sem %s er meðlimur í"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Bjóða"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Bjóða vinum og vandamönnum að slást í hópinn á %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6107,47 +6381,62 @@ msgstr "Skilaboð"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Persónuleg síða notanda"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "fyrir nokkrum sekúndum"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "fyrir um einni mínútu síðan"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "fyrir um %d mínútum síðan"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "fyrir um einum klukkutíma síðan"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "fyrir um %d klukkutímum síðan"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "fyrir um einum degi síðan"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "fyrir um %d dögum síðan"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "fyrir um einum mánuði síðan"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "fyrir um %d mánuðum síðan"
-#: lib/util.php:970
+#: lib/util.php:1033
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 7e3d7998a..1bd3f26ad 100644
--- a/locale/it/LC_MESSAGES/statusnet.po
+++ b/locale/it/LC_MESSAGES/statusnet.po
@@ -9,77 +9,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:09+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:15+0000\n"
"Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Accesso"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Impostazioni di accesso al sito"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registrazione"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privato"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Proibire agli utenti anonimi (che non hanno effettuato l'accesso) di vedere "
"il sito?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Solo invito"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privato"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Rende la registrazione solo su invito"
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Chiuso"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Solo invito"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Chiuso"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
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
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Salva"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Pagina inesistente."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -93,45 +99,53 @@ msgstr "Pagina inesistente."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Utente inesistente."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s e amici, pagina %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s e amici"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Feed degli amici di %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Feed degli amici di %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Feed degli amici di %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -139,7 +153,7 @@ msgstr ""
"Questa è l'attività di %s e i suoi amici, ma nessuno ha ancora scritto "
"qualche cosa."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -148,7 +162,8 @@ msgstr ""
"Prova ad abbonarti a più persone, [entra in un gruppo](%%action.groups%%) o "
"scrivi un messaggio."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -158,7 +173,7 @@ msgstr ""
"qualche cosa alla sua attenzione](%%%%action.newnotice%%%%?status_textarea=%3"
"$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -167,7 +182,8 @@ msgstr ""
"Perché non [crei un account](%%%%action.register%%%%) e richiami %s o scrivi "
"un messaggio alla sua attenzione."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Tu e i tuoi amici"
@@ -185,20 +201,20 @@ msgstr "Messaggi da %1$s e amici su %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Metodo delle API non trovato."
@@ -232,8 +248,9 @@ msgstr "Impossibile aggiornare l'utente."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "L'utente non ha un profilo."
@@ -259,7 +276,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -369,7 +386,7 @@ msgstr "Impossibile determinare l'utente sorgente."
msgid "Could not find target user."
msgstr "Impossibile trovare l'utente destinazione."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -377,62 +394,62 @@ msgstr ""
"Il soprannome deve essere composto solo da lettere minuscole e numeri, senza "
"spazi."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Soprannome già in uso. Prova con un altro."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Non è un soprannome valido."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "L'indirizzo della pagina web non è valido."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Nome troppo lungo (max 255 caratteri)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Ubicazione troppo lunga (max 255 caratteri)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Troppi alias! Massimo %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Alias non valido: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "L'alias \"%s\" è già in uso. Prova con un altro."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "L'alias non può essere lo stesso del soprannome."
@@ -443,15 +460,15 @@ msgstr "L'alias non può essere lo stesso del soprannome."
msgid "Group not found!"
msgstr "Gruppo non trovato!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Fai già parte di quel gruppo."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "L'amministratore ti ha bloccato l'accesso a quel gruppo."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Impossibile iscrivere l'utente %1$s al gruppo %2$s."
@@ -460,7 +477,7 @@ msgstr "Impossibile iscrivere l'utente %1$s al gruppo %2$s."
msgid "You are not a member of this group."
msgstr "Non fai parte di questo gruppo."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Impossibile rimuovere l'utente %1$s dal gruppo %2$s."
@@ -491,7 +508,7 @@ msgstr "Token non valido."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -535,7 +552,7 @@ msgstr "Il token di richiesta %s è stato rifiutato o revocato."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -561,13 +578,13 @@ msgstr ""
"<strong>%3$s</strong> ai dati del tuo account %4$s. È consigliato fornire "
"accesso al proprio account %4$s solo ad applicazioni di cui ci si può fidare."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Account"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -649,18 +666,6 @@ msgstr "%1$s / Preferiti da %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s aggiornamenti preferiti da %2$s / %3$s"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Attività di %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Messaggi da %1$s su %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -671,12 +676,12 @@ msgstr "%1$s / Messaggi che citano %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s messaggi in risposta a quelli da %2$s / %3$s"
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Attività pubblica di %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "Aggiornamenti di %s da tutti!"
@@ -691,12 +696,12 @@ msgstr "Ripetuto a %s"
msgid "Repeats of %s"
msgstr "Ripetizioni di %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Messaggi etichettati con %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Messaggi etichettati con %1$s su %2$s!"
@@ -712,8 +717,7 @@ msgstr "Nessun allegato."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Nessun soprannome."
@@ -725,7 +729,7 @@ msgstr "Nessuna dimensione."
msgid "Invalid size."
msgstr "Dimensione non valida."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Immagine"
@@ -738,35 +742,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Utente senza profilo corrispondente"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Impostazioni immagine"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Originale"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Anteprima"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Elimina"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Carica"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Ritaglia"
@@ -774,7 +778,7 @@ msgstr "Ritaglia"
msgid "Pick a square area of the image to be your avatar"
msgstr "Scegli un'area quadrata per la tua immagine personale"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Perso il nostro file di dati."
@@ -809,22 +813,22 @@ msgstr ""
"risposte che ti invierà."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Non bloccare questo utente"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sì"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Blocca questo utente"
@@ -832,39 +836,43 @@ msgstr "Blocca questo utente"
msgid "Failed to save block information."
msgstr "Salvataggio delle informazioni per il blocco non riuscito."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Nessuna gruppo."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "Profili bloccati di %s"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Profili bloccati di %1$s, pagina %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Un elenco degli utenti a cui è bloccato l'accesso a questo gruppo."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Sblocca l'utente dal gruppo"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Sblocca"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Sblocca questo utente"
@@ -920,7 +928,7 @@ msgid "Conversation"
msgstr "Conversazione"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Messaggi"
@@ -939,7 +947,7 @@ msgstr "Questa applicazione non è di tua proprietà."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Si è verificato un problema con il tuo token di sessione."
@@ -964,12 +972,13 @@ msgstr "Non eliminare l'applicazione"
msgid "Delete this application"
msgstr "Elimina l'applicazione"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Accesso non effettuato."
@@ -998,7 +1007,7 @@ msgstr "Vuoi eliminare questo messaggio?"
msgid "Do not delete this notice"
msgstr "Non eliminare il messaggio"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Elimina questo messaggio"
@@ -1014,7 +1023,7 @@ msgstr "Puoi eliminare solo gli utenti locali."
msgid "Delete user"
msgstr "Elimina utente"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1022,12 +1031,12 @@ msgstr ""
"Vuoi eliminare questo utente? Questa azione eliminerà tutti i dati "
"dell'utente dal database, senza una copia di sicurezza."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Elimina questo utente"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Aspetto"
@@ -1130,6 +1139,18 @@ msgstr "Ripristina i valori predefiniti"
msgid "Reset back to default"
msgstr "Reimposta i valori predefiniti"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Salva"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Salva aspetto"
@@ -1221,29 +1242,29 @@ msgstr "Modifica il gruppo %s"
msgid "You must be logged in to create a group."
msgstr "Devi eseguire l'accesso per creare un gruppo."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Devi essere amministratore per modificare il gruppo."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Usa questo modulo per modificare il gruppo."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "La descrizione è troppo lunga (max %d caratteri)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Impossibile aggiornare il gruppo."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Impossibile creare gli alias."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Opzioni salvate."
@@ -1365,7 +1386,7 @@ msgid "Cannot normalize that email address"
msgstr "Impossibile normalizzare quell'indirizzo email"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Non è un indirizzo email valido."
@@ -1558,6 +1579,22 @@ msgstr "Nessun file."
msgid "Cannot read file."
msgstr "Impossibile leggere il file."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Ruolo non valido."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Questo ruolo è riservato e non può essere impostato."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Non puoi concedere i ruoli agli utenti su questo sito."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "L'utente ricopre già questo ruolo."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1587,7 +1624,7 @@ msgstr "L'utente è già bloccato dal gruppo."
msgid "User is not a member of group."
msgstr "L'utente non fa parte del gruppo."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Blocca l'utente dal gruppo"
@@ -1622,11 +1659,11 @@ msgstr "Nessun ID."
msgid "You must be logged in to edit a group."
msgstr "Devi eseguire l'accesso per modificare un gruppo."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Aspetto del gruppo"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1634,20 +1671,20 @@ msgstr ""
"Personalizza l'aspetto del tuo gruppo con un'immagine di sfondo e dei colori "
"personalizzati."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Impossibile aggiornare l'aspetto."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Preferenze dell'aspetto salvate."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo del gruppo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1655,62 +1692,68 @@ msgstr ""
"Puoi caricare un'immagine per il logo del tuo gruppo. La dimensione massima "
"del file è di %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Utente senza profilo corrispondente."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Scegli un'area quadrata dell'immagine per il logo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo aggiornato."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Aggiornamento del logo non riuscito."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Membri del gruppo %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Membri del gruppo %1$s, pagina %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Un elenco degli utenti in questo gruppo."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Amministra"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blocca"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Rende l'utente amministratore del gruppo"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Rendi amm."
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Rende questo utente un amministratore"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Attività di %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Messaggi dai membri di %1$s su %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Gruppi"
@@ -1969,16 +2012,18 @@ msgstr "Messaggio personale"
msgid "Optionally add a personal message to the invitation."
msgstr "Puoi aggiungere un messaggio personale agli inviti."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Invia"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "Hai ricevuto un invito per seguire %1$s su %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2039,7 +2084,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Devi eseguire l'accesso per iscriverti a un gruppo."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Nessun soprannome o ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s fa ora parte del gruppo %2$s"
@@ -2048,11 +2097,11 @@ msgstr "%1$s fa ora parte del gruppo %2$s"
msgid "You must be logged in to leave a group."
msgstr "Devi eseguire l'accesso per lasciare un gruppo."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Non fai parte di quel gruppo."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ha lasciato il gruppo %2$s"
@@ -2069,8 +2118,7 @@ msgstr "Nome utente o password non corretto."
msgid "Error setting user. You are probably not authorized."
msgstr "Errore nell'impostare l'utente. Forse non hai l'autorizzazione."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Accedi"
@@ -2324,8 +2372,8 @@ msgstr "tipo di contenuto "
msgid "Only "
msgstr "Solo "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Non è un formato di dati supportato."
@@ -2466,7 +2514,8 @@ msgstr "Impossibile salvare la nuova password."
msgid "Password saved."
msgstr "Password salvata."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Percorsi"
@@ -2499,7 +2548,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Server SSL non valido. La lunghezza massima è di 255 caratteri."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Sito"
@@ -2587,7 +2635,7 @@ msgstr "Directory dello sfondo"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Mai"
@@ -2642,11 +2690,11 @@ msgstr "Non è un'etichetta valida di persona: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Utenti auto-etichettati con %1$s - pagina %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Contenuto del messaggio non valido"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2674,7 +2722,7 @@ msgstr ""
"1-64 lettere minuscole o numeri, senza spazi o simboli di punteggiatura"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome"
@@ -2702,7 +2750,7 @@ msgid "Bio"
msgstr "Biografia"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2728,7 +2776,7 @@ msgid ""
msgstr ""
"Le tue etichette (lettere, numeri, -, . e _), separate da virgole o spazi"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Lingua"
@@ -2756,7 +2804,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "La biografia è troppo lunga (max %d caratteri)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Fuso orario non selezionato"
@@ -2785,7 +2833,8 @@ msgstr "Impossibile salvare il profilo."
msgid "Couldn't save tags."
msgstr "Impossibile salvare le etichette."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Impostazioni salvate."
@@ -2798,28 +2847,28 @@ msgstr "Oltre il limite della pagina (%s)"
msgid "Could not retrieve public stream."
msgstr "Impossibile recuperare l'attività pubblica."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Attività pubblica, pagina %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Attività pubblica"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Feed dell'attività pubblica (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Feed dell'attività pubblica (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Feed dell'attività pubblica (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2828,18 +2877,18 @@ msgstr ""
"Questa è l'attività pubblica di %%site.name%%, ma nessuno ha ancora scritto "
"qualche cosa."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Fallo tu!"
-#: actions/public.php:194
+#: actions/public.php:195
#, 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:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2852,7 +2901,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:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3029,10 +3078,9 @@ msgstr "Codice di invito non valido."
msgid "Registration successful"
msgstr "Registrazione riuscita"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
-msgstr "Registra"
+msgstr "Registrati"
#: actions/register.php:135
msgid "Registration not allowed."
@@ -3073,7 +3121,7 @@ msgid "Same as password above. Required."
msgstr "Stessa password di sopra; richiesta"
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
@@ -3180,7 +3228,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL del tuo profilo su un altro servizio di microblog compatibile"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Abbonati"
@@ -3218,7 +3266,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Ripetuti"
@@ -3226,33 +3274,33 @@ msgstr "Ripetuti"
msgid "Repeated!"
msgstr "Ripetuti!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Risposte a %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Risposte a %1$s, pagina %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Feed delle risposte di %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Feed delle risposte di %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Feed delle risposte di %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3261,7 +3309,7 @@ msgstr ""
"Questa è l'attività delle risposte a %1$s, ma %2$s non ha ricevuto ancora "
"alcun messaggio."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3270,7 +3318,7 @@ msgstr ""
"Puoi avviare una discussione con altri utenti, abbonarti a più persone o "
"[entrare in qualche gruppo](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3284,6 +3332,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Risposte a %1$s su %2$s!"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Non puoi revocare i ruoli degli utenti su questo sito."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "L'utente non ricopre questo ruolo."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3296,8 +3352,9 @@ msgstr "Non puoi mettere in \"sandbox\" gli utenti su questo sito."
msgid "User is already sandboxed."
msgstr "L'utente è già nella \"sandbox\"."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessioni"
@@ -3321,8 +3378,8 @@ msgstr "Debug delle sessioni"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Salva impostazioni"
@@ -3352,8 +3409,8 @@ msgstr "Organizzazione"
msgid "Description"
msgstr "Descrizione"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistiche"
@@ -3415,22 +3472,22 @@ msgstr "Messaggi preferiti di %1$s, pagina %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Impossibile recuperare i messaggi preferiti."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed dei preferiti di %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed dei preferiti di %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed dei preferiti di di %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3438,7 +3495,7 @@ msgstr ""
"Non hai ancora scelto alcun messaggio come preferito. Fai clic sul pulsate a "
"forma di cuore per salvare i messaggi e rileggerli in un altro momento."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3447,7 +3504,7 @@ msgstr ""
"%s non ha aggiunto alcun messaggio tra i suoi preferiti. Scrivi qualche cosa "
"di interessante in modo che lo inserisca tra i suoi preferiti. :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3458,7 +3515,7 @@ msgstr ""
"account](%%%%action.register%%%%) e quindi scrivi qualche cosa di "
"interessante in modo che lo inserisca tra i suoi preferiti. :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Questo è un modo per condividere ciò che ti piace."
@@ -3472,67 +3529,67 @@ msgstr "Gruppo %s"
msgid "%1$s group, page %2$d"
msgstr "Gruppi di %1$s, pagina %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Profilo del gruppo"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Nota"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Alias"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Azioni dei gruppi"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Feed dei messaggi per il gruppo %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Feed dei messaggi per il gruppo %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Feed dei messaggi per il gruppo %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF per il gruppo %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Membri"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(nessuno)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Tutti i membri"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Creato"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3548,7 +3605,7 @@ msgstr ""
"stesso](%%%%action.register%%%%) per far parte di questo gruppo e di molti "
"altri! ([Maggiori informazioni](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3560,7 +3617,7 @@ msgstr ""
"(http://it.wikipedia.org/wiki/Microblogging) basato sul software libero "
"[StatusNet](http://status.net/)."
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Amministratori"
@@ -3682,148 +3739,134 @@ msgid "User is already silenced."
msgstr "L'utente è già stato zittito."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "Impostazioni di base per questo sito StatusNet."
+msgid "Basic settings for this StatusNet site"
+msgstr "Impostazioni di base per questo sito StatusNet"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Il nome del sito non deve avere lunghezza parti a zero."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Devi avere un'email di contatto valida."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Lingua \"%s\" sconosciuta."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "URL di segnalazione snapshot non valido."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Valore di esecuzione dello snapshot non valido."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "La frequenza degli snapshot deve essere un numero."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Il limite minimo del testo è di 140 caratteri."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "Il limite per i duplicati deve essere di 1 o più secondi."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Generale"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nome del sito"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Il nome del tuo sito, topo \"Acme Microblog\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Offerto da"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Testo usato per i crediti nel piè di pagina di ogni pagina"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URL per offerto da"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL usato per i crediti nel piè di pagina di ogni pagina"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Indirizzo email di contatto per il sito"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Locale"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Fuso orario predefinito"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Fuso orario predefinito; tipicamente UTC"
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr "Lingua predefinita"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Snapshot"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "A caso quando avviene un web hit"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "In un job pianificato"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Snapshot dei dati"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Quando inviare dati statistici a status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frequenza"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Gli snapshot verranno inviati ogni N web hit"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL per la segnalazione"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Gli snapshot verranno inviati a questo URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
+"Lingua del sito quando il rilevamento automatico del browser non è "
+"disponibile"
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limiti"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Limiti del testo"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Numero massimo di caratteri per messaggo"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Limite duplicati"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Quanto tempo gli utenti devono attendere (in secondi) prima di inviare "
"nuovamente lo stesso messaggio"
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Messaggio del sito"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Modifica il messaggio del sito"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Impossibile salvare il messaggio del sito."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "La dimensione massima del messaggio del sito è di 255 caratteri"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "Testo messaggio del sito"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr "Testo messaggio del sito (massimo 255 caratteri, HTML consentito)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Salva messaggio"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Impostazioni SMS"
@@ -3923,6 +3966,64 @@ msgstr ""
msgid "No code entered"
msgstr "Nessun codice inserito"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Snapshot"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "Gestisci configurazione snapshot"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Valore di esecuzione dello snapshot non valido."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "La frequenza degli snapshot deve essere un numero."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "URL di segnalazione snapshot non valido."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "A caso quando avviene un web hit"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "In un job pianificato"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Snapshot dei dati"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Quando inviare dati statistici a status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frequenza"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Gli snapshot verranno inviati ogni N web hit"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL per la segnalazione"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Gli snapshot verranno inviati a questo URL"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Salva impostazioni snapshot"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Non hai una abbonamento a quel profilo."
@@ -3934,17 +4035,16 @@ msgstr "Impossibile salvare l'abbonamento."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Quest'azione accetta solo richieste POST."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Nessun file."
+msgstr "Nessun profilo."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Non hai una abbonamento a quel profilo."
+msgstr ""
+"Non è possibile abbonarsi a un profilo remoto OMB 0.1 con quest'azione."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4038,22 +4138,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Messaggi etichettati con %1$s, pagina %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Feed dei messaggi per l'etichetta %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Feed dei messaggi per l'etichetta %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Feed dei messaggi per l'etichetta %s (Atom)"
@@ -4109,7 +4209,7 @@ msgstr ""
msgid "No such tag."
msgstr "Nessuna etichetta."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Metodo delle API in lavorazione."
@@ -4133,7 +4233,7 @@ msgstr "Nessun ID di profilo nella richiesta."
msgid "Unsubscribed"
msgstr "Abbonamento annullato"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4141,71 +4241,72 @@ msgstr ""
"La licenza \"%1$s\" dello stream di chi ascolti non è compatibile con la "
"licenza \"%2$s\" di questo sito."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Utente"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Impostazioni utente per questo sito StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite per la biografia non valido. Deve essere numerico."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
"Testo di benvenuto non valido. La lunghezza massima è di 255 caratteri."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Abbonamento predefinito non valido: \"%1$s\" non è un utente."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profilo"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Limite biografia"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Lunghezza massima in caratteri della biografia"
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nuovi utenti"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Messaggio per nuovi utenti"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Messaggio di benvenuto per nuovi utenti (max 255 caratteri)"
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Abbonamento predefinito"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Abbonare automaticamente i nuovi utenti a questo utente"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Inviti"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Inviti abilitati"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Indica se consentire agli utenti di invitarne di nuovi"
@@ -4335,16 +4436,22 @@ msgstr "Gruppi di %1$s, pagina %2$d"
msgid "Search for more groups"
msgstr "Cerca altri gruppi"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s non fa parte di alcun gruppo."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "Prova a [cercare dei gruppi](%%action.groupsearch%%) e iscriviti."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Messaggi da %1$s su %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4400,7 +4507,7 @@ msgstr ""
msgid "Plugins"
msgstr "Plugin"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Versione"
@@ -4441,6 +4548,10 @@ msgstr "Non si fa parte del gruppo."
msgid "Group leave failed."
msgstr "Uscita dal gruppo non riuscita."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Impossibile aggiornare il gruppo locale."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4458,27 +4569,27 @@ msgstr "Impossibile inserire il messaggio."
msgid "Could not update message with new URI."
msgstr "Impossibile aggiornare il messaggio con il nuovo URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Errore del DB nell'inserire un hashtag: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problema nel salvare il messaggio. Troppo lungo."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problema nel salvare il messaggio. Utente sconosciuto."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Troppi messaggi troppo velocemente; fai una pausa e scrivi di nuovo tra "
"qualche minuto."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4486,19 +4597,19 @@ msgstr ""
"Troppi messaggi duplicati troppo velocemente; fai una pausa e scrivi di "
"nuovo tra qualche minuto."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Ti è proibito inviare messaggi su questo sito."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problema nel salvare il messaggio."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problema nel salvare la casella della posta del gruppo."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4523,23 +4634,35 @@ msgstr "Non hai l'abbonamento!"
msgid "Couldn't delete self-subscription."
msgstr "Impossibile eliminare l'auto-abbonamento."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Impossibile eliminare il token di abbonamento OMB."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Impossibile eliminare l'abbonamento."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Benvenuti su %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Impossibile creare il gruppo."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Impossibile impostare l'URI del gruppo."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Impossibile impostare la membership al gruppo."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Impossibile salvare le informazioni del gruppo locale."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Modifica le impostazioni del tuo profilo"
@@ -4577,124 +4700,170 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Pagina senza nome"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Esplorazione sito primaria"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Home"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Profilo personale e attività degli amici"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personale"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Modifica la tua email, immagine, password o il tuo profilo"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Connetti"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Connettiti con altri servizi"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Connetti"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Modifica la configurazione del sito"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Invita"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Amministra"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Invita amici e colleghi a seguirti su %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Esci"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invita"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Termina la tua sessione sul sito"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Esci"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Crea un account"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrati"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Accedi al sito"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Aiuto"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Accedi"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Aiutami!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Cerca"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Aiuto"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Cerca persone o del testo"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Cerca"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Messaggio del sito"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Viste locali"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Pagina messaggio"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Esplorazione secondaria del sito"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Aiuto"
+
+#: lib/action.php:754
msgid "About"
msgstr "Informazioni"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "TOS"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacy"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Sorgenti"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contatti"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Badge"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licenza del software StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4703,12 +4872,12 @@ msgstr ""
"**%%site.name%%** è un servizio di microblog offerto da [%%site.broughtby%%]"
"(%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** è un servizio di microblog. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4719,110 +4888,148 @@ msgstr ""
"s, disponibile nei termini della licenza [GNU Affero General Public License]"
"(http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licenza del contenuto del sito"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "I contenuti e i dati di %1$s sono privati e confidenziali."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
"I contenuti e i dati sono copyright di %1$s. Tutti i diritti riservati."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"I contenuti e i dati sono forniti dai collaboratori. Tutti i diritti "
"riservati."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Tutti "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licenza."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginazione"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Successivi"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Precedenti"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Impossibile gestire contenuti remoti."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Impossibile gestire contenuti XML incorporati."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Impossibile gestire contenuti Base64."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Non puoi apportare modifiche al sito."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Le modifiche al pannello non sono consentite."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() non implementata."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() non implementata."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Impossibile eliminare le impostazioni dell'aspetto."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configurazione di base"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Sito"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configurazione aspetto"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Aspetto"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Configurazione utente"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Utente"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Configurazione di accesso"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Configurazione percorsi"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Configurazione sessioni"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Modifica messaggio del sito"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "Configurazione snapshot"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"Le risorse API richiedono accesso lettura-scrittura, ma si dispone del solo "
"accesso in lettura."
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4915,11 +5122,11 @@ msgstr "Messaggi in cui appare questo allegato"
msgid "Tags for this attachment"
msgstr "Etichette per questo allegato"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Modifica della password non riuscita"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "La modifica della password non è permessa"
@@ -5006,12 +5213,12 @@ msgstr "%1$s ha lasciato il gruppo %2$s"
msgid "Fullname: %s"
msgstr "Nome completo: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Posizione: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Pagina web: %s"
@@ -5120,9 +5327,9 @@ msgstr ""
"minuti: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "Abbonamento a %s annullato"
+msgstr "%s ha annullato l'abbonamento"
#: lib/command.php:709
msgid "You are not subscribed to anyone."
@@ -5155,7 +5362,6 @@ msgstr[0] "Non fai parte di questo gruppo:"
msgstr[1] "Non fai parte di questi gruppi:"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5208,6 +5414,7 @@ msgstr ""
"d <soprannome> <testo> - invia un messaggio diretto all'utente\n"
"get <soprannome> - recupera l'ultimo messaggio dell'utente\n"
"whois <soprannome> - recupera le informazioni del profilo dell'utente\n"
+"lose <soprannome> - forza un utente nel non seguirti più\n"
"fav <soprannome> - aggiunge l'ultimo messaggio dell'utente tra i tuoi "
"preferiti\n"
"fav #<ID_messaggio> - aggiunge un messaggio con quell'ID tra i tuoi "
@@ -5236,21 +5443,21 @@ msgstr ""
"tracks - non ancora implementato\n"
"tracking - non ancora implementato\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Non è stato trovato alcun file di configurazione. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "I file di configurazione sono stati cercati in questi posti: "
-#: lib/common.php:139
+#: lib/common.php:151
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:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Vai al programma d'installazione."
@@ -5349,6 +5556,11 @@ msgstr "Scegli un'etichetta per ridurre l'elenco"
msgid "Go"
msgstr "Vai"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Concedi a questo utente il ruolo \"%s\""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL della pagina web, blog del gruppo o l'argomento"
@@ -5439,23 +5651,23 @@ msgstr "Errore di sistema nel caricare il file."
msgid "Not an image or corrupt file."
msgstr "Non è un'immagine o il file è danneggiato."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Formato file immagine non supportato."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Perso il nostro file."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Tipo di file sconosciuto"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5485,11 +5697,11 @@ msgstr "Accedi con nome utente e password"
msgid "Sign up for a new account"
msgstr "Iscriviti per un nuovo account"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Conferma indirizzo email"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5519,12 +5731,12 @@ msgstr ""
"Grazie per il tuo tempo, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s sta ora seguendo i tuoi messaggi su %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5549,17 +5761,17 @@ msgstr ""
"----\n"
"Modifica il tuo indirizzo email o le opzioni di notifica presso %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Biografia: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nuovo indirizzo email per inviare messaggi a %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5580,21 +5792,21 @@ msgstr ""
"Cordiali saluti,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "stato di %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Conferma SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s ti ha richiamato"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5621,12 +5833,12 @@ msgstr ""
"Cordiali saluti,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nuovo messaggio privato da %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5659,12 +5871,12 @@ msgstr ""
"Cordiali saluti,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) ha aggiunto il tuo messaggio tra i suoi preferiti"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5702,12 +5914,12 @@ msgstr ""
"Cordiali saluti,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) ti ha inviato un messaggio"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5837,6 +6049,11 @@ msgstr "A"
msgid "Available characters"
msgstr "Caratteri disponibili"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Invia"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Invia un messaggio"
@@ -5895,23 +6112,23 @@ msgstr "O"
msgid "at"
msgstr "presso"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "in una discussione"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Ripetuto da"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Rispondi a questo messaggio"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Rispondi"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Messaggio ripetuto"
@@ -5984,7 +6201,7 @@ msgstr "Etichette nei messaggi di %s"
msgid "Unknown"
msgstr "Sconosciuto"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Abbonamenti"
@@ -5992,23 +6209,23 @@ msgstr "Abbonamenti"
msgid "All subscriptions"
msgstr "Tutti gli abbonamenti"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Abbonati"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Tutti gli abbonati"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID utente"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membro dal"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Tutti i gruppi"
@@ -6048,7 +6265,12 @@ msgstr "Ripetere questo messaggio?"
msgid "Repeat this notice"
msgstr "Ripeti questo messaggio"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Revoca il ruolo \"%s\" a questo utente"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Nessun utente singolo definito per la modalità single-user."
@@ -6068,6 +6290,10 @@ msgstr "Cerca nel sito"
msgid "Keyword(s)"
msgstr "Parole"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Cerca"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Aiuto sulla ricerca"
@@ -6119,6 +6345,15 @@ msgstr "Persone abbonate a %s"
msgid "Groups %s is a member of"
msgstr "Gruppi di cui %s fa parte"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Invita"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Invita amici e colleghi a seguirti su %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6189,47 +6424,61 @@ msgstr "Messaggio"
msgid "Moderate"
msgstr "Modera"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Ruolo dell'utente"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "Amministratore"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderatore"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "pochi secondi fa"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "circa un minuto fa"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "circa %d minuti fa"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "circa un'ora fa"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "circa %d ore fa"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "circa un giorno fa"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "circa %d giorni fa"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "circa un mese fa"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "circa %d mesi fa"
-#: lib/util.php:970
+#: lib/util.php:1033
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 e05ddbd15..847f24c59 100644
--- a/locale/ja/LC_MESSAGES/statusnet.po
+++ b/locale/ja/LC_MESSAGES/statusnet.po
@@ -11,75 +11,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:12+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:18+0000\n"
"Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "アクセス"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "サイトアクセス設定"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "登録"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "プライベート"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "匿åユーザー(ログインã—ã¦ã„ã¾ã›ã‚“)ãŒã‚µã‚¤ãƒˆã‚’見るã®ã‚’ç¦æ­¢ã—ã¾ã™ã‹?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "招待ã®ã¿"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "プライベート"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "招待ã®ã¿ç™»éŒ²ã™ã‚‹"
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "é–‰ã˜ã‚‰ã‚ŒãŸ"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "招待ã®ã¿"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "ä¿å­˜"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "é–‰ã˜ã‚‰ã‚ŒãŸ"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "アクセス設定ã®ä¿å­˜"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "ä¿å­˜"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "ãã®ã‚ˆã†ãªãƒšãƒ¼ã‚¸ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -93,51 +101,59 @@ msgstr "ãã®ã‚ˆã†ãªãƒšãƒ¼ã‚¸ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "ãã®ã‚ˆã†ãªãƒ¦ãƒ¼ã‚¶ã¯ã„ã¾ã›ã‚“。"
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s ã¨å‹äººã€ãƒšãƒ¼ã‚¸ %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s ã¨å‹äºº"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "%s ã®å‹äººã®ãƒ•ã‚£ãƒ¼ãƒ‰ (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "%s ã®å‹äººã®ãƒ•ã‚£ãƒ¼ãƒ‰ (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "%s ã®å‹äººã®ãƒ•ã‚£ãƒ¼ãƒ‰ (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "ã“れ㯠%s ã¨å‹äººã®ã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³ã§ã™ã€‚ã¾ã èª°ã‚‚投稿ã—ã¦ã„ã¾ã›ã‚“。"
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -146,7 +162,8 @@ msgstr ""
"ã‚‚ã£ã¨å¤šãã®äººã‚’フォローã—ã¦ã¿ã¾ã—ょã†ã€‚[グループã«å‚加](%%action.groups%%) "
"ã—ã¦ã¿ãŸã‚Šã€ä½•ã‹æŠ•ç¨¿ã—ã¦ã¿ã¾ã—ょã†ã€‚"
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -155,7 +172,7 @@ msgstr ""
"プロフィールã‹ã‚‰ [%1$s ã•ã‚“ã«åˆå›³](../%2$s) ã—ãŸã‚Šã€[知らã›ãŸã„ã“ã¨ã«ã¤ã„ã¦æŠ•"
"稿](%%%%action.newnotice%%%%?status_textarea=%3$s) ã—ãŸã‚Šã§ãã¾ã™ã€‚"
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -164,7 +181,8 @@ msgstr ""
"[アカウントを登録](%%%%action.register%%%%) ã—㦠%s ã•ã‚“ã«åˆå›³ã—ãŸã‚Šã€ãŠçŸ¥ã‚‰"
"ã›ã‚’é€ã£ã¦ã¿ã¾ã›ã‚“ã‹ã€‚"
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "ã‚ãªãŸã¨å‹äºº"
@@ -182,20 +200,20 @@ msgstr "%2$s ã« %1$s ã¨å‹äººã‹ã‚‰ã®æ›´æ–°ãŒã‚ã‚Šã¾ã™ï¼"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API メソッドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
@@ -229,8 +247,9 @@ msgstr "ユーザを更新ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "ユーザã¯ãƒ—ロフィールをもã£ã¦ã„ã¾ã›ã‚“。"
@@ -256,7 +275,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -367,7 +386,7 @@ msgstr "ソースユーザーを決定ã§ãã¾ã›ã‚“。"
msgid "Could not find target user."
msgstr "ターゲットユーザーを見ã¤ã‘られã¾ã›ã‚“。"
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -375,62 +394,62 @@ msgstr ""
"ニックãƒãƒ¼ãƒ ã«ã¯ã€å°æ–‡å­—アルファベットã¨æ•°å­—ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚スペースã¯ä½¿ç”¨"
"ã§ãã¾ã›ã‚“。"
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "ãã®ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã¯æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ä»–ã®ã‚‚ã®ã‚’試ã—ã¦ã¿ã¦ä¸‹ã•ã„。"
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "有効ãªãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "ホームページã®URLãŒä¸é©åˆ‡ã§ã™ã€‚"
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "フルãƒãƒ¼ãƒ ãŒé•·ã™ãŽã¾ã™ã€‚(255å­—ã¾ã§ï¼‰"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "記述ãŒé•·ã™ãŽã¾ã™ã€‚(最長140字)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "場所ãŒé•·ã™ãŽã¾ã™ã€‚(255å­—ã¾ã§ï¼‰"
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "別åãŒå¤šã™ãŽã¾ã™! 最大 %d。"
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "ä¸æ­£ãªåˆ¥å: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "別å \"%s\" ã¯æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ä»–ã®ã‚‚ã®ã‚’試ã—ã¦ã¿ã¦ä¸‹ã•ã„。"
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "別åã¯ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã¨åŒã˜ã§ã¯ã„ã‘ã¾ã›ã‚“。"
@@ -441,15 +460,15 @@ msgstr "別åã¯ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã¨åŒã˜ã§ã¯ã„ã‘ã¾ã›ã‚“。"
msgid "Group not found!"
msgstr "グループãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "ã™ã§ã«ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã™ã€‚"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "管ç†è€…ã«ã‚ˆã£ã¦ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰ãƒ–ロックã•ã‚Œã¦ã„ã¾ã™ã€‚"
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "ユーザ %1$s ã¯ã‚°ãƒ«ãƒ¼ãƒ— %2$s ã«å‚加ã§ãã¾ã›ã‚“。"
@@ -458,7 +477,7 @@ msgstr "ユーザ %1$s ã¯ã‚°ãƒ«ãƒ¼ãƒ— %2$s ã«å‚加ã§ãã¾ã›ã‚“。"
msgid "You are not a member of this group."
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "ユーザ %1$s をグループ %2$s ã‹ã‚‰å‰Šé™¤ã§ãã¾ã›ã‚“。"
@@ -489,7 +508,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -532,7 +551,7 @@ msgstr "リクエストトークン%sã¯ã€æ‹’å¦ã•ã‚Œã¦ã€å–り消ã•ã‚Œã¾ã
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -555,13 +574,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "アカウント"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -642,18 +661,6 @@ msgstr "%1$s / %2$s ã‹ã‚‰ã®ãŠæ°—ã«å…¥ã‚Š"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s 㯠%2$s ã§ãŠæ°—ã«å…¥ã‚Šã‚’æ›´æ–°ã—ã¾ã—㟠/ %2$s。"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s ã®ã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "%1$s ã‹ã‚‰ %2$s 上ã®æ›´æ–°ã‚’ã—ã¾ã—ãŸ!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -664,12 +671,12 @@ msgstr "%1$s / %2$s ã«ã¤ã„ã¦æ›´æ–°"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%2$s ã‹ã‚‰ã‚¢ãƒƒãƒ—デートã«ç­”ãˆã‚‹ %1$s アップデート"
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s ã®ãƒ‘ブリックタイムライン"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "皆ã‹ã‚‰ã® %s アップデート!"
@@ -684,12 +691,12 @@ msgstr "%s ã¸ã®è¿”ä¿¡"
msgid "Repeats of %s"
msgstr "%s ã®è¿”ä¿¡"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "%s ã¨ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸã¤ã¶ã‚„ã"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "%2$s ã« %1$s ã«ã‚ˆã‚‹æ›´æ–°ãŒã‚ã‚Šã¾ã™ï¼"
@@ -705,8 +712,7 @@ msgstr "ãã®ã‚ˆã†ãªæ·»ä»˜ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "ニックãƒãƒ¼ãƒ ãŒã‚ã‚Šã¾ã›ã‚“。"
@@ -718,7 +724,7 @@ msgstr "サイズãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "Invalid size."
msgstr "ä¸æ­£ãªã‚µã‚¤ã‚ºã€‚"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "ã‚¢ãƒã‚¿ãƒ¼"
@@ -730,35 +736,35 @@ msgstr "自分ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’アップロードã§ãã¾ã™ã€‚最大サイズ
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "åˆã£ã¦ã„るプロフィールã®ãªã„ユーザ"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "ã‚¢ãƒã‚¿ãƒ¼è¨­å®š"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "オリジナル"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "プレビュー"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "削除"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "アップロード"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "切りå–ã‚Š"
@@ -766,7 +772,7 @@ msgstr "切りå–ã‚Š"
msgid "Pick a square area of the image to be your avatar"
msgstr "ã‚ãªãŸã®ã‚¢ãƒã‚¿ãƒ¼ã¨ãªã‚‹ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’正方形ã§æŒ‡å®š"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "ファイルデータを紛失ã—ã¾ã—ãŸã€‚"
@@ -802,22 +808,22 @@ msgstr ""
"ã©ã‚“㪠@-返信 ã«ã¤ã„ã¦ã‚‚ãれらã‹ã‚‰é€šçŸ¥ã•ã‚Œãªã„ã§ã—ょã†ã€‚"
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "No"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’アンブロックã™ã‚‹"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Yes"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’ブロックã™ã‚‹"
@@ -825,39 +831,43 @@ msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’ブロックã™ã‚‹"
msgid "Failed to save block information."
msgstr "ブロック情報ã®ä¿å­˜ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "ãã®ã‚ˆã†ãªã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s ブロックã•ã‚ŒãŸãƒ—ロファイル"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s ブロックã•ã‚ŒãŸãƒ—ロファイルã€ãƒšãƒ¼ã‚¸ %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¸ã®å‚加をブロックã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ã®ãƒªã‚¹ãƒˆã€‚"
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "グループã‹ã‚‰ã®ã‚¢ãƒ³ãƒ–ロックユーザ"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "アンブロック"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’アンブロックã™ã‚‹"
@@ -913,7 +923,7 @@ msgid "Conversation"
msgstr "会話"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "ã¤ã¶ã‚„ã"
@@ -932,7 +942,7 @@ msgstr "ã“ã®ã‚¢ãƒ—リケーションã®ã‚ªãƒ¼ãƒŠãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "ã‚ãªãŸã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒˆãƒ¼ã‚¯ãƒ³ã«é–¢ã™ã‚‹å•é¡ŒãŒã‚ã‚Šã¾ã—ãŸã€‚"
@@ -958,12 +968,13 @@ msgstr "ã“ã®ã‚¢ãƒ—リケーションを削除ã—ãªã„ã§ãã ã•ã„"
msgid "Delete this application"
msgstr "ã“ã®ã‚¢ãƒ—リケーションを削除"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "ログインã—ã¦ã„ã¾ã›ã‚“。"
@@ -992,7 +1003,7 @@ msgstr "本当ã«ã“ã®ã¤ã¶ã‚„ãを削除ã—ã¾ã™ã‹ï¼Ÿ"
msgid "Do not delete this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãを削除ã§ãã¾ã›ã‚“。"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãを削除"
@@ -1008,7 +1019,7 @@ msgstr "ローカルユーザã®ã¿å‰Šé™¤ã§ãã¾ã™ã€‚"
msgid "Delete user"
msgstr "ユーザ削除"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1016,12 +1027,12 @@ msgstr ""
"ã‚ãªãŸã¯æœ¬å½“ã«ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’削除ã—ãŸã„ã§ã™ã‹? ã“ã‚Œã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãªã—ã§ãƒ‡ãƒ¼ã‚¿"
"ベースã‹ã‚‰ãƒ¦ãƒ¼ã‚¶ã«é–¢ã™ã‚‹ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚’クリアã—ã¾ã™ã€‚"
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’削除"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "デザイン"
@@ -1124,6 +1135,18 @@ msgstr "デフォルトデザインã«æˆ»ã™ã€‚"
msgid "Reset back to default"
msgstr "デフォルトã¸ãƒªã‚»ãƒƒãƒˆã™ã‚‹"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "ä¿å­˜"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "デザインã®ä¿å­˜"
@@ -1215,29 +1238,29 @@ msgstr "%s グループを編集"
msgid "You must be logged in to create a group."
msgstr "グループを作るã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "グループを編集ã™ã‚‹ã«ã¯ç®¡ç†è€…ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’使ã£ã¦ã‚°ãƒ«ãƒ¼ãƒ—を編集ã—ã¾ã™ã€‚"
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "記述ãŒé•·ã™ãŽã¾ã™ã€‚(最長 %d 字)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "グループを更新ã§ãã¾ã›ã‚“。"
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "別åを作æˆã§ãã¾ã›ã‚“。"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "オプションãŒä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚"
@@ -1358,7 +1381,7 @@ msgid "Cannot normalize that email address"
msgstr "ãã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’æ­£è¦åŒ–ã§ãã¾ã›ã‚“"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "有効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
@@ -1552,6 +1575,25 @@ msgstr "ãã®ã‚ˆã†ãªãƒ•ã‚¡ã‚¤ãƒ«ã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "Cannot read file."
msgstr "ファイルを読ã¿è¾¼ã‚ã¾ã›ã‚“。"
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "ä¸æ­£ãªãƒˆãƒ¼ã‚¯ãƒ³ã€‚"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã®ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ãƒ¦ãƒ¼ã‚¶ãŒã§ãã¾ã›ã‚“。"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "ユーザã¯æ—¢ã«é»™ã£ã¦ã„ã¾ã™ã€‚"
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1581,7 +1623,7 @@ msgstr "ユーザã¯ã™ã§ã«ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰ãƒ–ロックã•ã‚Œã¦ã„ã¾ã™ã€‚
msgid "User is not a member of group."
msgstr "ユーザã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "グループã‹ã‚‰ãƒ¦ãƒ¼ã‚¶ã‚’ブロック"
@@ -1615,11 +1657,11 @@ msgstr "ID ãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "You must be logged in to edit a group."
msgstr "グループを編集ã™ã‚‹ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "グループデザイン"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1627,20 +1669,20 @@ msgstr ""
"ã‚ãªãŸãŒé¸ã‚“ã ãƒ‘レットã®è‰²ã¨ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¤ãƒ¡ãƒ¼ã‚¸ã§ã‚ãªãŸã®ã‚°ãƒ«ãƒ¼ãƒ—をカス"
"タマイズã—ã¦ãã ã•ã„。"
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "ã‚ãªãŸã®ãƒ‡ã‚¶ã‚¤ãƒ³ã‚’æ›´æ–°ã§ãã¾ã›ã‚“。"
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "デザイン設定ãŒä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚"
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "グループロゴ"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1648,62 +1690,68 @@ msgstr ""
"ã‚ãªãŸã®ã‚°ãƒ«ãƒ¼ãƒ—用ã«ãƒ­ã‚´ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’アップロードã§ãã¾ã™ã€‚最大ファイルサイズ㯠"
"%s。"
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "åˆã£ã¦ã„るプロフィールã®ãªã„ユーザ"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "ロゴã¨ãªã‚‹ã‚¤ãƒ¡ãƒ¼ã‚¸ã®æ­£æ–¹å½¢ã‚’é¸æŠžã€‚"
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "ロゴãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "ロゴã®æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s グループメンãƒãƒ¼"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s グループメンãƒãƒ¼ã€ãƒšãƒ¼ã‚¸ %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¦ãƒ¼ã‚¶ã®ãƒªã‚¹ãƒˆã€‚"
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "管ç†è€…"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "ブロック"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "ユーザをグループã®ç®¡ç†è€…ã«ã™ã‚‹"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "管ç†è€…ã«ã™ã‚‹"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’管ç†è€…ã«ã™ã‚‹"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s ã®ã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "%2$s 上㮠%1$s ã®ãƒ¡ãƒ³ãƒãƒ¼ã‹ã‚‰æ›´æ–°ã™ã‚‹"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "グループ"
@@ -1961,16 +2009,19 @@ msgstr "パーソナルメッセージ"
msgid "Optionally add a personal message to the invitation."
msgstr "ä»»æ„ã«æ‹›å¾…ã«ãƒ‘ーソナルメッセージを加ãˆã¦ãã ã•ã„。"
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "投稿"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s ãŒã‚ãªãŸã‚’ %2$s ã¸æ‹›å¾…ã—ã¾ã—ãŸ"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2031,7 +2082,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "グループã«å…¥ã‚‹ãŸã‚ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "ニックãƒãƒ¼ãƒ ãŒã‚ã‚Šã¾ã›ã‚“。"
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s ã¯ã‚°ãƒ«ãƒ¼ãƒ— %2$s ã«å‚加ã—ã¾ã—ãŸ"
@@ -2040,11 +2096,11 @@ msgstr "%1$s ã¯ã‚°ãƒ«ãƒ¼ãƒ— %2$s ã«å‚加ã—ã¾ã—ãŸ"
msgid "You must be logged in to leave a group."
msgstr "グループã‹ã‚‰é›¢ã‚Œã‚‹ã«ã¯ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "ã‚ãªãŸã¯ãã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ã¯ã‚°ãƒ«ãƒ¼ãƒ— %2$s ã«æ®‹ã‚Šã¾ã—ãŸã€‚"
@@ -2061,8 +2117,7 @@ msgstr "ユーザåã¾ãŸã¯ãƒ‘スワードãŒé–“é•ã£ã¦ã„ã¾ã™ã€‚"
msgid "Error setting user. You are probably not authorized."
msgstr "ユーザ設定エラー。 ã‚ãªãŸã¯ãŸã¶ã‚“承èªã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "ログイン"
@@ -2315,8 +2370,8 @@ msgstr "内容種別 "
msgid "Only "
msgstr "ã ã‘ "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„データ形å¼ã€‚"
@@ -2457,7 +2512,8 @@ msgstr "æ–°ã—ã„パスワードをä¿å­˜ã§ãã¾ã›ã‚“。"
msgid "Password saved."
msgstr "パスワードãŒä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚"
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "パス"
@@ -2490,7 +2546,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "ä¸æ­£ãª SSL サーãƒãƒ¼ã€‚最大 255 文字ã¾ã§ã€‚"
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "サイト"
@@ -2578,7 +2633,7 @@ msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr ""
@@ -2633,11 +2688,11 @@ msgstr "æ­£ã—ã„ã‚¿ã‚°ã§ã¯ã‚ã‚Šã¾ã›ã‚“: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "ユーザ自身ãŒã¤ã‘ãŸã‚¿ã‚° %1$s - ページ %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "ä¸æ­£ãªã¤ã¶ã‚„ã内容"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2663,7 +2718,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64文字ã®ã€å°æ–‡å­—アルファベットã‹æ•°å­—ã§ã€ã‚¹ãƒšãƒ¼ã‚¹ã‚„å¥èª­ç‚¹ã¯é™¤ã"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "フルãƒãƒ¼ãƒ "
@@ -2691,7 +2746,7 @@ msgid "Bio"
msgstr "自己紹介"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2718,7 +2773,7 @@ msgstr ""
"自分自身ã«ã¤ã„ã¦ã®ã‚¿ã‚° (アルファベットã€æ•°å­—ã€-ã€.ã€_)ã€ã‚«ãƒ³ãƒžã¾ãŸã¯ç©ºç™½åŒºåˆ‡"
"ã‚Šã§"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "言語"
@@ -2744,7 +2799,7 @@ msgstr "自分をフォローã—ã¦ã„る者を自動的ã«ãƒ•ã‚©ãƒ­ãƒ¼ã™ã‚‹ (B
msgid "Bio is too long (max %d chars)."
msgstr "自己紹介ãŒé•·ã™ãŽã¾ã™ (最長140文字)。"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "タイムゾーンãŒé¸ã°ã‚Œã¦ã„ã¾ã›ã‚“。"
@@ -2773,7 +2828,8 @@ msgstr "プロファイルをä¿å­˜ã§ãã¾ã›ã‚“"
msgid "Couldn't save tags."
msgstr "ã‚¿ã‚°ã‚’ä¿å­˜ã§ãã¾ã›ã‚“。"
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "設定ãŒä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚"
@@ -2786,28 +2842,28 @@ msgstr "ページ制é™ã‚’超ãˆã¾ã—㟠(%s)"
msgid "Could not retrieve public stream."
msgstr "パブリックストリームを検索ã§ãã¾ã›ã‚“。"
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "パブリックタイムラインã€ãƒšãƒ¼ã‚¸ %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "パブリックタイムライン"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "パブリックストリームフィード (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "パブリックストリームフィード (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "パブリックストリームフィード (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2816,11 +2872,11 @@ msgstr ""
"ã“れ㯠%%site.name%% ã®ãƒ‘ブリックタイムラインã§ã™ã€ã—ã‹ã—ã¾ã èª°ã‚‚投稿ã—ã¦ã„ã¾"
"ã›ã‚“。"
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "投稿ã™ã‚‹1番目ã«ãªã£ã¦ãã ã•ã„!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2828,7 +2884,7 @@ msgstr ""
"ãªãœ [アカウント登録](%%action.register%%) ã—ãªã„ã®ã§ã™ã‹ã€ãã—ã¦æœ€åˆã®æŠ•ç¨¿ã‚’"
"ã—ã¦ãã ã•ã„!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2842,7 +2898,7 @@ msgstr ""
"æ—ãã—ã¦åŒåƒšãªã©ã«ã¤ã„ã¦ã®ã¤ã¶ã‚„ãを共有ã—ã¾ã—ょã†! ([ã‚‚ã£ã¨èª­ã‚€](%%doc.help%"
"%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3019,8 +3075,7 @@ msgstr "ã™ã¿ã¾ã›ã‚“ã€ä¸æ­£ãªæ‹›å¾…コード。"
msgid "Registration successful"
msgstr "登録æˆåŠŸ"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "登録"
@@ -3062,7 +3117,7 @@ msgid "Same as password above. Required."
msgstr "上ã®ãƒ‘スワードã¨åŒã˜ã§ã™ã€‚ 必須。"
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "メール"
@@ -3166,7 +3221,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "プロファイルサービスã¾ãŸã¯ãƒžã‚¤ã‚¯ãƒ­ãƒ–ロギングサービスã®URL"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "フォロー"
@@ -3205,7 +3260,7 @@ msgstr "自分ã®ã¤ã¶ã‚„ãã¯ç¹°ã‚Šè¿”ã›ã¾ã›ã‚“。"
msgid "You already repeated that notice."
msgstr "ã™ã§ã«ãã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¦ã„ã¾ã™ã€‚"
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "ç¹°ã‚Šè¿”ã•ã‚ŒãŸ"
@@ -3213,33 +3268,33 @@ msgstr "ç¹°ã‚Šè¿”ã•ã‚ŒãŸ"
msgid "Repeated!"
msgstr "ç¹°ã‚Šè¿”ã•ã‚Œã¾ã—ãŸ!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "%s ã¸ã®è¿”ä¿¡"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "%1$s ã¸ã®è¿”ä¿¡ã€ãƒšãƒ¼ã‚¸ %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "%s ã®è¿”信フィード (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "%s ã®è¿”信フィード (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "%s ã®è¿”信フィード (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3248,7 +3303,7 @@ msgstr ""
"ã“れ㯠%1$s ã¸ã®è¿”信を表示ã—ãŸã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³ã§ã™ã€ã—ã‹ã— %2$s ã¯ã¾ã ã¤ã¶ã‚„ãã‚’"
"å—ã‘å–ã£ã¦ã„ã¾ã›ã‚“。"
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3257,7 +3312,7 @@ msgstr ""
"ã‚ãªãŸã¯ã€ä»–ã®ãƒ¦ãƒ¼ã‚¶ã‚’会話をã™ã‚‹ã‹ã€å¤šãã®äººã€…をフォローã™ã‚‹ã‹ã€ã¾ãŸã¯ [ã‚°"
"ループã«åŠ ã‚ã‚‹](%%action.groups%%)ã“ã¨ãŒã§ãã¾ã™ã€‚"
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3271,6 +3326,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%2$s 上㮠%1$s ã¸ã®è¿”ä¿¡!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã§ãƒ¦ãƒ¼ã‚¶ã‚’黙らã›ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "åˆã£ã¦ã„るプロフィールã®ãªã„ユーザ"
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3283,8 +3348,9 @@ msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã®ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ãƒ¦ãƒ¼ã‚¶ãŒã§ãã¾
msgid "User is already sandboxed."
msgstr "ユーザã¯ã™ã§ã«ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ã§ã™ã€‚"
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "セッション"
@@ -3308,8 +3374,8 @@ msgstr "セッションデãƒãƒƒã‚°"
msgid "Turn on debugging output for sessions."
msgstr "セッションã®ãŸã‚ã®ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ã‚’オン。"
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "サイト設定ã®ä¿å­˜"
@@ -3339,8 +3405,8 @@ msgstr "組織"
msgid "Description"
msgstr "概è¦"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "統計データ"
@@ -3403,22 +3469,22 @@ msgstr "%1$s ã®ãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ãã€ãƒšãƒ¼ã‚¸ %2$d"
msgid "Could not retrieve favorite notices."
msgstr "ãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ãを検索ã§ãã¾ã›ã‚“。"
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "%s ã®ãŠæ°—ã«å…¥ã‚Šã®ãƒ•ã‚£ãƒ¼ãƒ‰ (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "%s ã®ãŠæ°—ã«å…¥ã‚Šã®ãƒ•ã‚£ãƒ¼ãƒ‰ (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "%s ã®ãŠæ°—ã«å…¥ã‚Šã®ãƒ•ã‚£ãƒ¼ãƒ‰ (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3427,7 +3493,7 @@ msgstr ""
"加ã™ã‚‹ã‚ãªãŸãŒãれらãŒãŠæ°—ã«å…¥ã‚Šã®ã¤ã¶ã‚„ãã®ã¨ãã«ãŠæ°—ã«å…¥ã‚Šãƒœã‚¿ãƒ³ã‚’クリック"
"ã™ã‚‹ã‹ã€ã¾ãŸã¯ãれらã®ä¸Šã§ã‚¹ãƒãƒƒãƒˆãƒ©ã‚¤ãƒˆã‚’ã¯ã˜ã„ã¦ãã ã•ã„。"
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3436,7 +3502,7 @@ msgstr ""
"%s ã¯ã¾ã å½¼ã®ãŠæ°—ã«å…¥ã‚Šã«å°‘ã—ã®ã¤ã¶ã‚„ãも加ãˆã¦ã„ã¾ã›ã‚“。 彼らãŒãŠæ°—ã«å…¥ã‚Šã«"
"加ãˆã‚‹ã“ã¨ãŠã‚‚ã—ã‚ã„ã‚‚ã®ã‚’投稿ã—ã¦ãã ã•ã„:)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3447,7 +3513,7 @@ msgstr ""
"%%%action.register%%%%) ã—ãªã„ã®ã§ã™ã‹ã€‚ãã—ã¦ã€å½¼ã‚‰ãŒãŠæ°—ã«å…¥ã‚Šã«åŠ ãˆã‚‹ãŠã‚‚"
"ã—ã‚ã„何ã‹ã‚’投稿ã—ã¾ã›ã‚“ã‹:)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "ã“ã‚Œã¯ã€ã‚ãªãŸãŒå¥½ããªã“ã¨ã‚’共有ã™ã‚‹æ–¹æ³•ã§ã™ã€‚"
@@ -3461,67 +3527,67 @@ msgstr "%s グループ"
msgid "%1$s group, page %2$d"
msgstr "%1$s グループã€ãƒšãƒ¼ã‚¸ %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "グループプロファイル"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "ノート"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "別å"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "グループアクション"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "%s グループã®ã¤ã¶ã‚„ãフィード (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "%s グループã®ã¤ã¶ã‚„ãフィード (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "%s グループã®ã¤ã¶ã‚„ãフィード (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "%s グループ㮠FOAF"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "メンãƒãƒ¼"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(ãªã—)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "å…¨ã¦ã®ãƒ¡ãƒ³ãƒãƒ¼"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "作æˆæ—¥"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3536,7 +3602,7 @@ msgstr ""
"ã™ã‚‹çŸ­ã„メッセージを共有ã—ã¾ã™ã€‚[今ã™ãå‚加](%%%%action.register%%%%) ã—ã¦ã“"
"ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸€å“¡ã«ãªã‚Šã¾ã—ょã†! ([ã‚‚ã£ã¨èª­ã‚€](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3549,7 +3615,7 @@ msgstr ""
"wikipedia.org/wiki/Micro-blogging) サービス。メンãƒãƒ¼ã¯å½¼ã‚‰ã®æš®ã‚‰ã—ã¨èˆˆå‘³ã«é–¢"
"ã™ã‚‹çŸ­ã„メッセージを共有ã—ã¾ã™ã€‚"
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "管ç†è€…"
@@ -3671,151 +3737,142 @@ msgid "User is already silenced."
msgstr "ユーザã¯æ—¢ã«é»™ã£ã¦ã„ã¾ã™ã€‚"
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "ã“ã® StatusNet サイトã®åŸºæœ¬è¨­å®šã€‚"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "サイトåã¯é•·ã•0ã§ã¯ã„ã‘ã¾ã›ã‚“。"
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "有効ãªé€£çµ¡ç”¨ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "ä¸æ˜Žãªè¨€èªž \"%s\""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "ä¸æ­£ãªã‚¹ãƒŠãƒƒãƒ—ショットレãƒãƒ¼ãƒˆURL。"
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "ä¸æ­£ãªã‚¹ãƒŠãƒƒãƒ—ショットランãƒãƒªãƒ¥ãƒ¼"
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "スナップショット頻度ã¯æ•°ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "最å°ã®ãƒ†ã‚­ã‚¹ãƒˆåˆ¶é™ã¯140å­—ã§ã™ã€‚"
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "デュープ制é™ã¯1秒以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "一般"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "サイトå"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "ã‚ãªãŸã®ã‚µã‚¤ãƒˆã®åå‰ã€\"Yourcompany Microblog\"ã®ã‚ˆã†ãªã€‚"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "æŒã£ã¦æ¥ã‚‰ã‚Œã¾ã™"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
"クレジットã«ä½¿ç”¨ã•ã‚Œã‚‹ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ãã‚Œãžã‚Œã®ãƒšãƒ¼ã‚¸ã®ãƒ•ãƒƒã‚¿ãƒ¼ã§ãƒªãƒ³ã‚¯ã•ã‚Œã¾"
"ã™ã€‚"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URLã§ã€æŒã£ã¦æ¥ã‚‰ã‚Œã¾ã™"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
"クレジットã«ä½¿ç”¨ã•ã‚Œã‚‹URLã¯ã€ãã‚Œãžã‚Œã®ãƒšãƒ¼ã‚¸ã®ãƒ•ãƒƒã‚¿ãƒ¼ã§ãƒªãƒ³ã‚¯ã•ã‚Œã¾ã™ã€‚"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "ã‚ãªãŸã®ã‚µã‚¤ãƒˆã«ã‚³ãƒ³ã‚¿ã‚¯ãƒˆã™ã‚‹ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "ローカル"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "デフォルトタイムゾーン"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "サイトã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³; 通常UTC。"
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "デフォルトサイト言語"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "スナップショット"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "予定ã•ã‚Œã¦ã„るジョブã§"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "データスナップショット"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "ã„㤠status.net サーãƒã«çµ±è¨ˆãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚Šã¾ã™ã‹"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "頻度"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "レãƒãƒ¼ãƒˆ URL"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "レãƒãƒ¼ãƒˆ URL"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "ã“ã®URLã«ã‚¹ãƒŠãƒƒãƒ—ショットをé€ã‚‹ã§ã—ょã†"
-
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "制é™"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "テキスト制é™"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "ã¤ã¶ã‚„ãã®æ–‡å­—ã®æœ€å¤§æ•°"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "デュープ制é™"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"ã©ã‚Œãらã„é•·ã„é–“(秒)ã€ãƒ¦ãƒ¼ã‚¶ã¯ã€å†ã³åŒã˜ã‚‚ã®ã‚’投稿ã™ã‚‹ã®ã‚’å¾…ãŸãªã‘ã‚Œã°ãªã‚‰ãª"
"ã„ã‹ã€‚"
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "サイトã¤ã¶ã‚„ã"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "æ–°ã—ã„メッセージ"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "ã‚ãªãŸã®ãƒ‡ã‚¶ã‚¤ãƒ³è¨­å®šã‚’ä¿å­˜ã§ãã¾ã›ã‚“。"
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "サイトã¤ã¶ã‚„ã"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "サイトã¤ã¶ã‚„ã"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS 設定"
@@ -3916,6 +3973,66 @@ msgstr ""
msgid "No code entered"
msgstr "コードãŒå…¥åŠ›ã•ã‚Œã¦ã„ã¾ã›ã‚“"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "スナップショット"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "サイト設定ã®å¤‰æ›´"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "ä¸æ­£ãªã‚¹ãƒŠãƒƒãƒ—ショットランãƒãƒªãƒ¥ãƒ¼"
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "スナップショット頻度ã¯æ•°ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "ä¸æ­£ãªã‚¹ãƒŠãƒƒãƒ—ショットレãƒãƒ¼ãƒˆURL。"
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "予定ã•ã‚Œã¦ã„るジョブã§"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "データスナップショット"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "ã„㤠status.net サーãƒã«çµ±è¨ˆãƒ‡ãƒ¼ã‚¿ã‚’é€ã‚Šã¾ã™ã‹"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "頻度"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "レãƒãƒ¼ãƒˆ URL"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "レãƒãƒ¼ãƒˆ URL"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "ã“ã®URLã«ã‚¹ãƒŠãƒƒãƒ—ショットをé€ã‚‹ã§ã—ょã†"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "サイト設定ã®ä¿å­˜"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "ã‚ãªãŸã¯ãã®ãƒ—ロファイルã«ãƒ•ã‚©ãƒ­ãƒ¼ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
@@ -4032,22 +4149,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "%1$s ã¨ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸã¤ã¶ã‚„ãã€ãƒšãƒ¼ã‚¸ %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "%s ã¨ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸã¤ã¶ã‚„ãフィード (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "%s ã¨ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸã¤ã¶ã‚„ãフィード (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "%s ã¨ã‚¿ã‚°ä»˜ã‘ã•ã‚ŒãŸã¤ã¶ã‚„ãフィード (Atom)"
@@ -4100,7 +4217,7 @@ msgstr "ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã‚’使用ã—ã¦ã€ãƒ•ã‚©ãƒ­ãƒ¼è€…ã‹ãƒ•ã‚©ãƒ­ãƒ¼ã«ã‚¿
msgid "No such tag."
msgstr "ãã®ã‚ˆã†ãªã‚¿ã‚°ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API メソッドãŒå·¥äº‹ä¸­ã§ã™ã€‚"
@@ -4124,7 +4241,7 @@ msgstr "リクエスト内ã«ãƒ—ロファイルIDãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "Unsubscribed"
msgstr "フォロー解除済ã¿"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4132,70 +4249,72 @@ msgstr ""
"リスニーストリームライセンス ‘%1$s’ ã¯ã€ã‚µã‚¤ãƒˆãƒ©ã‚¤ã‚»ãƒ³ã‚¹ ‘%2$s’ ã¨äº’æ›æ€§ãŒã‚"
"ã‚Šã¾ã›ã‚“。"
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "ユーザ"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "ã“ã® StatusNet サイトã®ãƒ¦ãƒ¼ã‚¶è¨­å®šã€‚"
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "ä¸æ­£ãªè‡ªå·±ç´¹ä»‹åˆ¶é™ã€‚æ•°å­—ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "ä¸æ­£ãªã‚¦ã‚§ãƒ«ã‚«ãƒ ãƒ†ã‚­ã‚¹ãƒˆã€‚最大長ã¯255å­—ã§ã™ã€‚"
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "ä¸æ­£ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ•ã‚©ãƒ­ãƒ¼ã§ã™: '%1$s' ã¯ãƒ¦ãƒ¼ã‚¶ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "プロファイル"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "自己紹介制é™"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "プロファイル自己紹介ã®æœ€å¤§æ–‡å­—長。"
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "æ–°ã—ã„ユーザ"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "æ–°ã—ã„ユーザを歓迎"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "æ–°ã—ã„ユーザã¸ã®ã‚¦ã‚§ãƒ«ã‚«ãƒ ãƒ†ã‚­ã‚¹ãƒˆ (最大255å­—)。"
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "デフォルトフォロー"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "自動的ã«ã“ã®ãƒ¦ãƒ¼ã‚¶ã«æ–°ã—ã„ユーザをフォローã—ã¦ãã ã•ã„。"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "招待"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "招待ãŒå¯èƒ½"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "ユーザãŒæ–°ã—ã„ユーザを招待ã™ã‚‹ã®ã‚’許容ã™ã‚‹ã‹ã©ã†ã‹ã€‚"
@@ -4326,16 +4445,22 @@ msgstr "%1$s グループã€ãƒšãƒ¼ã‚¸ %2$d"
msgid "Search for more groups"
msgstr "ã‚‚ã£ã¨ã‚°ãƒ«ãƒ¼ãƒ—を検索"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s ã¯ã©ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ¡ãƒ³ãƒãƒ¼ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "[グループを探ã—ã¦](%%action.groupsearch%%)ãã‚Œã«åŠ å…¥ã—ã¦ãã ã•ã„。"
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "%1$s ã‹ã‚‰ %2$s 上ã®æ›´æ–°ã‚’ã—ã¾ã—ãŸ!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4381,7 +4506,7 @@ msgstr ""
msgid "Plugins"
msgstr "プラグイン"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
@@ -4423,6 +4548,11 @@ msgstr "グループã®ä¸€éƒ¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "Group leave failed."
msgstr "グループ脱退ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "グループを更新ã§ãã¾ã›ã‚“。"
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4440,26 +4570,26 @@ msgstr "メッセージを追加ã§ãã¾ã›ã‚“。"
msgid "Could not update message with new URI."
msgstr "æ–°ã—ã„URIã§ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’アップデートã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "ãƒãƒƒã‚·ãƒ¥ã‚¿ã‚°è¿½åŠ  DB エラー: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚é•·ã™ãŽã§ã™ã€‚"
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ä¸æ˜Žãªãƒ¦ãƒ¼ã‚¶ã§ã™ã€‚"
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"多ã™ãŽã‚‹ã¤ã¶ã‚„ããŒé€Ÿã™ãŽã¾ã™; 数分間ã®ä¼‘ã¿ã‚’å–ã£ã¦ã‹ã‚‰å†æŠ•ç¨¿ã—ã¦ãã ã•ã„。"
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4467,19 +4597,19 @@ msgstr ""
"多ã™ãŽã‚‹é‡è¤‡ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒé€Ÿã™ãŽã¾ã™; 数分間休ã¿ã‚’å–ã£ã¦ã‹ã‚‰å†åº¦æŠ•ç¨¿ã—ã¦ãã ã•"
"ã„。"
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã§ã¤ã¶ã‚„ãを投稿ã™ã‚‹ã®ãŒç¦æ­¢ã•ã‚Œã¦ã„ã¾ã™ã€‚"
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "ã¤ã¶ã‚„ãã‚’ä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "グループå—信箱をä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4504,23 +4634,38 @@ msgstr "フォローã—ã¦ã„ã¾ã›ã‚“ï¼"
msgid "Couldn't delete self-subscription."
msgstr "自己フォローを削除ã§ãã¾ã›ã‚“。"
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "フォローを削除ã§ãã¾ã›ã‚“"
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "フォローを削除ã§ãã¾ã›ã‚“"
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "よã†ã“ã %1$sã€@%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "グループを作æˆã§ãã¾ã›ã‚“。"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "グループメンãƒãƒ¼ã‚·ãƒƒãƒ—をセットã§ãã¾ã›ã‚“。"
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "グループメンãƒãƒ¼ã‚·ãƒƒãƒ—をセットã§ãã¾ã›ã‚“。"
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "フォローをä¿å­˜ã§ãã¾ã›ã‚“。"
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "プロファイル設定ã®å¤‰æ›´"
@@ -4558,124 +4703,187 @@ msgstr ""
msgid "Untitled page"
msgstr "å称未設定ページ"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "プライマリサイトナビゲーション"
-#: lib/action.php:439
-msgid "Home"
-msgstr "ホーム"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "パーソナルプロファイルã¨å‹äººã®ã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "パーソナル"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "メールアドレスã€ã‚¢ãƒã‚¿ãƒ¼ã€ãƒ‘スワードã€ãƒ—ロパティã®å¤‰æ›´"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "接続"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "サービスã¸æŽ¥ç¶š"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "接続"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "サイト設定ã®å¤‰æ›´"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "招待"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "管ç†è€…"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "å‹äººã‚„åŒåƒšãŒ %s ã§åŠ ã‚るよã†èª˜ã£ã¦ãã ã•ã„。"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "ログアウト"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "招待"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "サイトã‹ã‚‰ãƒ­ã‚°ã‚¢ã‚¦ãƒˆ"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "ログアウト"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "アカウントを作æˆ"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "登録"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "サイトã¸ãƒ­ã‚°ã‚¤ãƒ³"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "ヘルプ"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "ログイン"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "助ã‘ã¦ï¼"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "検索"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "ヘルプ"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "人々ã‹ãƒ†ã‚­ã‚¹ãƒˆã‚’検索"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "検索"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "サイトã¤ã¶ã‚„ã"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "ローカルビュー"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "ページã¤ã¶ã‚„ã"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "セカンダリサイトナビゲーション"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "ヘルプ"
+
+#: lib/action.php:754
msgid "About"
msgstr "About"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "よãã‚る質å•"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "プライãƒã‚·ãƒ¼"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "ソース"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "連絡先"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "ãƒãƒƒã‚¸"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet ソフトウェアライセンス"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4684,12 +4892,12 @@ msgstr ""
"**%%site.name%%** 㯠[%%site.broughtby%%](%%site.broughtbyurl%%) ãŒæä¾›ã™ã‚‹ãƒž"
"イクロブログサービスã§ã™ã€‚ "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** ã¯ãƒžã‚¤ã‚¯ãƒ­ãƒ–ログサービスã§ã™ã€‚ "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4700,107 +4908,149 @@ msgstr ""
"ã„ã¦ã„ã¾ã™ã€‚ ライセンス [GNU Affero General Public License](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)。"
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "サイト内容ライセンス"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "全㦠"
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "ライセンス。"
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "ページ化"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "<<後"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "å‰>>"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "ã‚ãªãŸã¯ã“ã®ã‚µã‚¤ãƒˆã¸ã®å¤‰æ›´ã‚’è¡Œã†ã“ã¨ãŒã§ãã¾ã›ã‚“。"
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "ãã®ãƒ‘ãƒãƒ«ã¸ã®å¤‰æ›´ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "デザイン設定を削除ã§ãã¾ã›ã‚“。"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "基本サイト設定"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "サイト"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "デザイン設定"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "デザイン"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "ユーザ設定"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "ユーザ"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "アクセス設定"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "パス設定"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "セッション設定"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "サイトã¤ã¶ã‚„ã"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "パス設定"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"APIリソースã¯èª­ã¿æ›¸ãアクセスãŒå¿…è¦ã§ã™ã€ã—ã‹ã—ã‚ãªãŸã¯èª­ã¿ã‚¢ã‚¯ã‚»ã‚¹ã—ã‹æŒã£ã¦"
"ã„ã¾ã›ã‚“。"
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4892,11 +5142,11 @@ msgstr "ã“ã®æ·»ä»˜ãŒç¾ã‚Œã‚‹ã¤ã¶ã‚„ã"
msgid "Tags for this attachment"
msgstr "ã“ã®æ·»ä»˜ã®ã‚¿ã‚°"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "パスワード変更ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "パスワード変更ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“"
@@ -4983,12 +5233,12 @@ msgstr "%s ã¯ã‚°ãƒ«ãƒ¼ãƒ— %s ã«æ®‹ã‚Šã¾ã—ãŸã€‚"
msgid "Fullname: %s"
msgstr "フルãƒãƒ¼ãƒ ï¼š %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "場所: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "ホームページ: %s"
@@ -5169,21 +5419,21 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "コンフィギュレーションファイルãŒã‚ã‚Šã¾ã›ã‚“。 "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "ç§ã¯ä»¥ä¸‹ã®å ´æ‰€ã§ã‚³ãƒ³ãƒ•ã‚£ã‚®ãƒ¥ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚¤ãƒ«ã‚’探ã—ã¾ã—ãŸ: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
"ã‚ãªãŸã¯ã€ã“れを修ç†ã™ã‚‹ãŸã‚ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ©ã‚’å‹•ã‹ã—ãŸãŒã£ã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›"
"ん。"
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "インストーラã¸ã€‚"
@@ -5282,6 +5532,11 @@ msgstr "ã‚¿ã‚°ã‚’é¸ã‚“ã§ã€ãƒªã‚¹ãƒˆã‚’ç‹­ãã—ã¦ãã ã•ã„"
msgid "Go"
msgstr "移動"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "グループやトピックã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã‚„ブログ㮠URL"
@@ -5371,23 +5626,23 @@ msgstr "ファイルã®ã‚¢ãƒƒãƒ—ロードã§ã‚·ã‚¹ãƒ†ãƒ ã‚¨ãƒ©ãƒ¼"
msgid "Not an image or corrupt file."
msgstr "ç”»åƒã§ã¯ãªã„ã‹ãƒ•ã‚¡ã‚¤ãƒ«ãŒç ´æã—ã¦ã„ã¾ã™ã€‚"
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "サãƒãƒ¼ãƒˆå¤–ã®ç”»åƒå½¢å¼ã§ã™ã€‚"
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "ファイルを紛失。"
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "ä¸æ˜Žãªãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5417,11 +5672,11 @@ msgstr "ユーザåã¨ãƒ‘スワードã§ãƒ­ã‚°ã‚¤ãƒ³"
msgid "Sign up for a new account"
msgstr "æ–°ã—ã„アカウントã§ã‚µã‚¤ãƒ³ã‚¢ãƒƒãƒ—"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "メールアドレス確èª"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5450,12 +5705,12 @@ msgstr ""
"ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚\n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s 㯠%2$s ã§ã‚ãªãŸã®ã¤ã¶ã‚„ãã‚’èžã„ã¦ã„ã¾ã™ã€‚"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5480,17 +5735,17 @@ msgstr ""
"----\n"
"%8$s ã§ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‹é€šçŸ¥ã‚ªãƒ—ションを変ãˆã¦ãã ã•ã„。\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "自己紹介: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "%s ã¸æŠ•ç¨¿ã®ãŸã‚ã®æ–°ã—ã„メールアドレス"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, fuzzy, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5511,21 +5766,21 @@ msgstr ""
"忠実ã§ã‚ã‚‹ã€ã‚ãªãŸã®ã‚‚ã®ã€\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s ã®çŠ¶æ…‹"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS確èª"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "ã‚ãªãŸã¯ %s ã«åˆå›³ã•ã‚Œã¦ã„ã¾ã™"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, fuzzy, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5552,12 +5807,12 @@ msgstr ""
"敬具\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "%s ã‹ã‚‰ã®æ–°ã—ã„プライベートメッセージ"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, fuzzy, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5590,12 +5845,12 @@ msgstr ""
"敬具\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) ã¯ãŠæ°—ã«å…¥ã‚Šã¨ã—ã¦ã‚ãªãŸã®ã¤ã¶ã‚„ãを加ãˆã¾ã—ãŸ"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, fuzzy, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5633,12 +5888,12 @@ msgstr ""
"忠実ã§ã‚ã‚‹ã€ã‚ãªãŸã®ã‚‚ã®ã€\n"
"%6%s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) ã¯ã‚ãªãŸå®›ã¦ã«ã¤ã¶ã‚„ãã‚’é€ã‚Šã¾ã—ãŸ"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5771,6 +6026,12 @@ msgstr "To"
msgid "Available characters"
msgstr "利用å¯èƒ½ãªæ–‡å­—"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "投稿"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "ã¤ã¶ã‚„ãã‚’é€ã‚‹"
@@ -5833,23 +6094,23 @@ msgstr "西"
msgid "at"
msgstr "at"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr ""
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr ""
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãã¸è¿”ä¿¡"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "返信"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¾ã—ãŸ"
@@ -5922,7 +6183,7 @@ msgstr "%s ã®ã¤ã¶ã‚„ãã®ã‚¿ã‚°"
msgid "Unknown"
msgstr "ä¸æ˜Ž"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "フォロー"
@@ -5930,23 +6191,23 @@ msgstr "フォロー"
msgid "All subscriptions"
msgstr "ã™ã¹ã¦ã®ãƒ•ã‚©ãƒ­ãƒ¼"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "フォローã•ã‚Œã¦ã„ã‚‹"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "ã™ã¹ã¦ã®ãƒ•ã‚©ãƒ­ãƒ¼ã•ã‚Œã¦ã„ã‚‹"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ユーザID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "利用開始日"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "å…¨ã¦ã®ã‚°ãƒ«ãƒ¼ãƒ—"
@@ -5986,7 +6247,12 @@ msgstr "ã“ã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¾ã™ã‹?"
msgid "Repeat this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã™"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰ã“ã®ãƒ¦ãƒ¼ã‚¶ã‚’ブロック"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "single-user モードã®ãŸã‚ã®ã‚·ãƒ³ã‚°ãƒ«ãƒ¦ãƒ¼ã‚¶ãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
@@ -6006,6 +6272,10 @@ msgstr "サイト検索"
msgid "Keyword(s)"
msgstr "キーワード"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "検索"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "ヘルプ検索"
@@ -6057,6 +6327,15 @@ msgstr "人々㯠%s をフォローã—ã¾ã—ãŸã€‚"
msgid "Groups %s is a member of"
msgstr "グループ %s ã¯ãƒ¡ãƒ³ãƒãƒ¼"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "招待"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "å‹äººã‚„åŒåƒšãŒ %s ã§åŠ ã‚るよã†èª˜ã£ã¦ãã ã•ã„。"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6128,47 +6407,64 @@ msgstr "メッセージ"
msgid "Moderate"
msgstr "管ç†"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "ユーザプロファイル"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "管ç†è€…"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "管ç†"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "数秒å‰"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "ç´„ 1 分å‰"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "ç´„ %d 分å‰"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "ç´„ 1 時間å‰"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "ç´„ %d 時間å‰"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "ç´„ 1 æ—¥å‰"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "ç´„ %d æ—¥å‰"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "ç´„ 1 ヵ月å‰"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "ç´„ %d ヵ月å‰"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "ç´„ 1 å¹´å‰"
diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po
index 1653bf31b..69bf4efb9 100644
--- a/locale/ko/LC_MESSAGES/statusnet.po
+++ b/locale/ko/LC_MESSAGES/statusnet.po
@@ -7,83 +7,90 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:15+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:22+0000\n"
"Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "수ë½"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "아바타 설정"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "회ì›ê°€ìž…"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "ê°œì¸ì •ë³´ 취급방침"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "초대"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "차단하기"
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "아바타 설정"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "저장"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "그러한 태그가 없습니다."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -97,72 +104,82 @@ msgstr "그러한 태그가 없습니다."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "그러한 사용ìžëŠ” 없습니다."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s 와 친구들, %d 페ì´ì§€"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s ë° ì¹œêµ¬ë“¤"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "%sì˜ ì¹œêµ¬ë“¤ì„ ìœ„í•œ 피드"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "%sì˜ ì¹œêµ¬ë“¤ì„ ìœ„í•œ 피드"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "%sì˜ ì¹œêµ¬ë“¤ì„ ìœ„í•œ 피드"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s ë° ì¹œêµ¬ë“¤"
@@ -181,20 +198,20 @@ msgstr "%1$s ë° %2$sì— ìžˆëŠ” ì¹œêµ¬ë“¤ì˜ ì—…ë°ì´íŠ¸!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "API 메서드를 ì°¾ì„ ìˆ˜ 없습니다."
@@ -228,8 +245,9 @@ msgstr "사용ìžë¥¼ ì—…ë°ì´íŠ¸ í•  수 없습니다."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "ì´ìš©ìžê°€ í”„ë¡œí•„ì„ ê°€ì§€ê³  있지 않습니다."
@@ -254,7 +272,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -373,7 +391,7 @@ msgstr "공개 streamì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다."
msgid "Could not find target user."
msgstr "ì–´ë– í•œ ìƒíƒœë„ ì°¾ì„ ìˆ˜ 없습니다."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -381,62 +399,62 @@ msgstr ""
"ë³„ëª…ì€ ë°˜ë“œì‹œ ì˜ì†Œë¬¸ìžì™€ 숫ìžë¡œë§Œ ì´ë£¨ì–´ì ¸ì•¼ 하며 스페ì´ìŠ¤ì˜ ì‚¬ìš©ì´ ë¶ˆê°€ 합니"
"다."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "ë³„ëª…ì´ ì´ë¯¸ 사용중 입니다. 다른 ë³„ëª…ì„ ì‹œë„í•´ 보십시오."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "유효한 ë³„ëª…ì´ ì•„ë‹™ë‹ˆë‹¤"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "홈페ì´ì§€ 주소형ì‹ì´ 올바르지 않습니다."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "ì‹¤ëª…ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤. (최대 255글ìž)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "ì„¤ëª…ì´ ë„ˆë¬´ 길어요. (최대 140글ìž)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "위치가 너무 ê¹ë‹ˆë‹¤. (최대 255글ìž)"
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "유효하지 ì•Šì€íƒœê·¸: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "ë³„ëª…ì´ ì´ë¯¸ 사용중 입니다. 다른 ë³„ëª…ì„ ì‹œë„í•´ 보십시오."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -448,16 +466,16 @@ msgstr ""
msgid "Group not found!"
msgstr "API 메서드를 ì°¾ì„ ìˆ˜ 없습니다."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "ë‹¹ì‹ ì€ ì´ë¯¸ ì´ ê·¸ë£¹ì˜ ë©¤ë²„ìž…ë‹ˆë‹¤."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "그룹 %sì— %s는 가입할 수 없습니다."
@@ -467,7 +485,7 @@ msgstr "그룹 %sì— %s는 가입할 수 없습니다."
msgid "You are not a member of this group."
msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "그룹 %sì—ì„œ %s 사용ìžë¥¼ 제거할 수 없습니다."
@@ -499,7 +517,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -543,7 +561,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -566,13 +584,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "계정"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -658,18 +676,6 @@ msgstr "%s / %sì˜ ì¢‹ì•„í•˜ëŠ” 글들"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s 좋아하는 ê¸€ì´ ì—…ë°ì´íŠ¸ ë습니다. %Sì— ì˜í•´ / %s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s 타임ë¼ì¸"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "%2$sì— ìžˆëŠ” %1$sì˜ ì—…ë°ì´íŠ¸!"
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -680,12 +686,12 @@ msgstr "%1$s / %2$sì—게 답신 ì—…ë°ì´íŠ¸"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$së‹˜ì´ %2$s/%3$sì˜ ì—…ë°ì´íŠ¸ì— 답변했습니다."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s 공개 타임ë¼ì¸"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "모ë‘ë¡œë¶€í„°ì˜ ì—…ë°ì´íŠ¸ %sê°œ!"
@@ -700,12 +706,12 @@ msgstr "%sì— ë‹µì‹ "
msgid "Repeats of %s"
msgstr "%sì— ë‹µì‹ "
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "%s íƒœê·¸ëœ í†µì§€"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "%2$sì— ìžˆëŠ” %1$sì˜ ì—…ë°ì´íŠ¸!"
@@ -722,8 +728,7 @@ msgstr "그러한 문서는 없습니다."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "ë³„ëª…ì´ ì—†ìŠµë‹ˆë‹¤."
@@ -735,7 +740,7 @@ msgstr "사ì´ì¦ˆê°€ 없습니다."
msgid "Invalid size."
msgstr "옳지 ì•Šì€ í¬ê¸°"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "아바타"
@@ -747,35 +752,35 @@ msgstr "ë‹¹ì‹ ì˜ ê°œì¸ì ì¸ 아바타를 업로드할 수 있습니다."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "프로필 ë§¤ì¹­ì´ ì—†ëŠ” 사용ìž"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "아바타 설정"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "ì›ëž˜ 설정"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "미리보기"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "삭제"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "올리기"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "ìžë¥´ê¸°"
@@ -783,7 +788,7 @@ msgstr "ìžë¥´ê¸°"
msgid "Pick a square area of the image to be your avatar"
msgstr "ë‹¹ì‹ ì˜ ì•„ë°”íƒ€ê°€ ë  ì´ë¯¸ì§€ì˜ì—­ì„ 지정하세요."
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "íŒŒì¼ ë°ì´í„°ë¥¼ 잃어버렸습니다."
@@ -817,23 +822,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "아니오"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "ì´ ì‚¬ìš©ìžë¥¼ 차단해제합니다."
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "네, 맞습니다."
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "ì´ ì‚¬ìš©ìž ì°¨ë‹¨í•˜ê¸°"
@@ -841,41 +846,45 @@ msgstr "ì´ ì‚¬ìš©ìž ì°¨ë‹¨í•˜ê¸°"
msgid "Failed to save block information."
msgstr "ì •ë³´ì°¨ë‹¨ì„ ì €ìž¥í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "그러한 ê·¸ë£¹ì´ ì—†ìŠµë‹ˆë‹¤."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "ì´ìš©ìž 프로필"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s 와 친구들, %d 페ì´ì§€"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
#, fuzzy
msgid "A list of the users blocked from joining this group."
msgstr "ì´ ê·¸ë£¹ì˜ íšŒì›ë¦¬ìŠ¤íŠ¸"
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "ì‚¬ìš©ìž ì°¨ë‹¨ í•´ì œì— ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "차단해제"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "ì´ ì‚¬ìš©ìžë¥¼ 차단해제합니다."
@@ -934,7 +943,7 @@ msgid "Conversation"
msgstr "ì¸ì¦ 코드"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "통지"
@@ -956,7 +965,7 @@ msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "ë‹¹ì‹ ì˜ ì„¸ì…˜í† í°ê´€ë ¨ 문제가 있습니다."
@@ -982,12 +991,13 @@ msgstr "ì´ í†µì§€ë¥¼ 지울 수 없습니다."
msgid "Delete this application"
msgstr "ì´ ê²Œì‹œê¸€ 삭제하기"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "로그ì¸í•˜ê³  있지 않습니다."
@@ -1017,7 +1027,7 @@ msgstr "ì •ë§ë¡œ 통지를 삭제하시겠습니까?"
msgid "Do not delete this notice"
msgstr "ì´ í†µì§€ë¥¼ 지울 수 없습니다."
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "ì´ ê²Œì‹œê¸€ 삭제하기"
@@ -1036,19 +1046,19 @@ msgstr "ë‹¹ì‹ ì€ ë‹¤ë¥¸ 사용ìžì˜ ìƒíƒœë¥¼ 삭제하지 ì•Šì•„ë„ ëœë‹¤."
msgid "Delete user"
msgstr "삭제"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "ì´ ê²Œì‹œê¸€ 삭제하기"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1159,6 +1169,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "저장"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1261,31 +1283,31 @@ msgstr "%s 그룹 편집"
msgid "You must be logged in to create a group."
msgstr "ê·¸ë£¹ì„ ë§Œë“¤ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "관리ìžë§Œ ê·¸ë£¹ì„ íŽ¸ì§‘í•  수 있습니다."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "ë‹¤ìŒ ì–‘ì‹ì„ ì´ìš©í•´ ê·¸ë£¹ì„ íŽ¸ì§‘í•˜ì‹­ì‹œì˜¤."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "ì„¤ëª…ì´ ë„ˆë¬´ 길어요. (최대 140글ìž)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "ê·¸ë£¹ì„ ì—…ë°ì´íŠ¸ í•  수 없습니다."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "좋아하는 ê²Œì‹œê¸€ì„ ìƒì„±í•  수 없습니다."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "ì˜µì…˜ë“¤ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -1406,7 +1428,7 @@ msgid "Cannot normalize that email address"
msgstr "ê·¸ ì´ë©”ì¼ ì£¼ì†Œë¥¼ 정규화 í•  수 없습니다."
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "유효한 ì´ë©”ì¼ ì£¼ì†Œê°€ 아닙니다."
@@ -1602,6 +1624,25 @@ msgstr "그러한 통지는 없습니다."
msgid "Cannot read file."
msgstr "파ì¼ì„ 잃어버렸습니다."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "옳지 ì•Šì€ í¬ê¸°"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "ë‹¹ì‹ ì€ ì´ ì‚¬ìš©ìžì—게 메시지를 보낼 수 없습니다."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "회ì›ì´ ë‹¹ì‹ ì„ ì°¨ë‹¨í•´ì™”ìŠµë‹ˆë‹¤."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1634,7 +1675,7 @@ msgstr "회ì›ì´ ë‹¹ì‹ ì„ ì°¨ë‹¨í•´ì™”ìŠµë‹ˆë‹¤."
msgid "User is not a member of group."
msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "사용ìžë¥¼ 차단합니다."
@@ -1671,98 +1712,104 @@ msgstr "ID가 없습니다."
msgid "You must be logged in to edit a group."
msgstr "ê·¸ë£¹ì„ ë§Œë“¤ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
#, fuzzy
msgid "Group design"
msgstr "그룹"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "사용ìžë¥¼ ì—…ë°ì´íŠ¸ í•  수 없습니다."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "싱í¬ì„¤ì •ì´ 저장ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "그룹 로고"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, fuzzy, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "ë‹¹ì‹ ê·¸ë£¹ì˜ ë¡œê³  ì´ë¯¸ì§€ë¥¼ 업로드할 수 있습니다."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "프로필 ë§¤ì¹­ì´ ì—†ëŠ” 사용ìž"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
#, fuzzy
msgid "Pick a square area of the image to be the logo."
msgstr "ë‹¹ì‹ ì˜ ì•„ë°”íƒ€ê°€ ë  ì´ë¯¸ì§€ì˜ì—­ì„ 지정하세요."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "로고를 ì—…ë°ì´íŠ¸í–ˆìŠµë‹ˆë‹¤."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "로고 ì—…ë°ì´íŠ¸ì— 실패했습니다."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s 그룹 회ì›"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "%s 그룹 회ì›, %d페ì´ì§€"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "ì´ ê·¸ë£¹ì˜ íšŒì›ë¦¬ìŠ¤íŠ¸"
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "관리ìž"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "차단하기"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
#, fuzzy
msgid "Make user an admin of the group"
msgstr "관리ìžë§Œ ê·¸ë£¹ì„ íŽ¸ì§‘í•  수 있습니다."
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
#, fuzzy
msgid "Make Admin"
msgstr "관리ìž"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s 타임ë¼ì¸"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "%2$sì— ìžˆëŠ” %1$sì˜ ì—…ë°ì´íŠ¸!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "그룹"
@@ -2011,16 +2058,19 @@ msgstr "ê°œì¸ì ì¸ 메시지"
msgid "Optionally add a personal message to the invitation."
msgstr "ì´ˆëŒ€ìž¥ì— ë©”ì‹œì§€ 첨부하기."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "보내기"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$së‹˜ì´ ê·€í•˜ë¥¼ %2$sì— ì´ˆëŒ€í•˜ì˜€ìŠµë‹ˆë‹¤."
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2076,7 +2126,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "ê·¸ë£¹ê°€ìž…ì„ ìœ„í•´ì„œëŠ” 로그ì¸ì´ 필요합니다."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "ë³„ëª…ì´ ì—†ìŠµë‹ˆë‹¤."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s 는 그룹 %sì— ê°€ìž…í–ˆìŠµë‹ˆë‹¤."
@@ -2085,11 +2140,11 @@ msgstr "%s 는 그룹 %sì— ê°€ìž…í–ˆìŠµë‹ˆë‹¤."
msgid "You must be logged in to leave a group."
msgstr "ê·¸ë£¹ì„ ë– ë‚˜ê¸° 위해서는 로그ì¸í•´ì•¼ 합니다."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s가 그룹%s를 떠났습니다."
@@ -2107,8 +2162,7 @@ msgstr "틀린 계정 ë˜ëŠ” 비밀 번호"
msgid "Error setting user. You are probably not authorized."
msgstr "ì¸ì¦ì´ ë˜ì§€ 않았습니다."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "로그ì¸"
@@ -2364,8 +2418,8 @@ msgstr "ì—°ê²°"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "지ì›í•˜ëŠ” 형ì‹ì˜ ë°ì´í„°ê°€ 아닙니다."
@@ -2511,7 +2565,8 @@ msgstr "새 비밀번호를 저장 할 수 없습니다."
msgid "Password saved."
msgstr "비밀 번호 저장"
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2544,7 +2599,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "초대"
@@ -2640,7 +2694,7 @@ msgstr ""
msgid "SSL"
msgstr "SMS"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "복구"
@@ -2699,11 +2753,11 @@ msgstr "유효한 태그가 아닙니다: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "ì´ìš©ìž 셀프 í…Œí¬ %s - %d 페ì´ì§€"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "옳지 ì•Šì€ í†µì§€ ë‚´ìš©"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2728,7 +2782,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64ìž ì‚¬ì´ì— ì˜ì†Œë¬¸ìž, 숫ìžë¡œë§Œ ì”니다. 기호나 ê³µë°±ì„ ì“°ë©´ 안 ë©ë‹ˆë‹¤."
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "실명"
@@ -2757,7 +2811,7 @@ msgid "Bio"
msgstr "ìžê¸°ì†Œê°œ"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2782,7 +2836,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr "ë‹¹ì‹ ì„ ìœ„í•œ 태그, (문ìž,숫ìž,-, ., _ë¡œ 구성) 콤마 í˜¹ì€ ê³µë°±ìœ¼ë¡œ 구분."
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "언어"
@@ -2808,7 +2862,7 @@ msgstr "나ì—게 구ë…하는 사람ì—게 ìžë™ êµ¬ë… ì‹ ì²­"
msgid "Bio is too long (max %d chars)."
msgstr "ìžê¸°ì†Œê°œê°€ 너무 ê¹ë‹ˆë‹¤. (최대 140글ìž)"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "íƒ€ìž„ì¡´ì´ ì„¤ì • ë˜ì§€ 않았습니다."
@@ -2838,7 +2892,8 @@ msgstr "í”„ë¡œí•„ì„ ì €ìž¥ í•  수 없습니다."
msgid "Couldn't save tags."
msgstr "태그를 저장할 수 없습니다."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "설정 저장"
@@ -2851,48 +2906,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "공개 streamì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "공개 타임ë¼ì¸, %d 페ì´ì§€"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "í¼ë¸”릭 타임ë¼ì¸"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "í¼ë¸”릭 스트림 피드"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "í¼ë¸”릭 스트림 피드"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "í¼ë¸”릭 스트림 피드"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2901,7 +2956,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3074,8 +3129,7 @@ msgstr "í™•ì¸ ì½”ë“œ 오류"
msgid "Registration successful"
msgstr "íšŒì› ê°€ìž…ì´ ì„±ê³µì ìž…니다."
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "회ì›ê°€ìž…"
@@ -3116,7 +3170,7 @@ msgid "Same as password above. Required."
msgstr "위와 ê°™ì€ ë¹„ë°€ 번호. 필수 사항."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "ì´ë©”ì¼"
@@ -3221,7 +3275,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "다른 마ì´í¬ë¡œë¸”로깅 ì„œë¹„ìŠ¤ì˜ ê·€í•˜ì˜ í”„ë¡œí•„ URL"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "구ë…"
@@ -3264,7 +3318,7 @@ msgstr "ë¼ì´ì„ ìŠ¤ì— ë™ì˜í•˜ì§€ 않는다면 등ë¡í•  수 없습니다."
msgid "You already repeated that notice."
msgstr "ë‹¹ì‹ ì€ ì´ë¯¸ ì´ ì‚¬ìš©ìžë¥¼ 차단하고 있습니다."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "ìƒì„±"
@@ -3274,47 +3328,47 @@ msgstr "ìƒì„±"
msgid "Repeated!"
msgstr "ìƒì„±"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "%sì— ë‹µì‹ "
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "%2$sì—ì„œ %1$s까지 메시지"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "%sì˜ í†µì§€ 피드"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "%sì˜ í†µì§€ 피드"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "%sì˜ í†µì§€ 피드"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3326,6 +3380,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%2$sì—ì„œ %1$s까지 메시지"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "ë‹¹ì‹ ì€ ì´ ì‚¬ìš©ìžì—게 메시지를 보낼 수 없습니다."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "프로필 ë§¤ì¹­ì´ ì—†ëŠ” 사용ìž"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3341,8 +3405,9 @@ msgstr "ë‹¹ì‹ ì€ ì´ ì‚¬ìš©ìžì—게 메시지를 보낼 수 없습니다."
msgid "User is already sandboxed."
msgstr "회ì›ì´ ë‹¹ì‹ ì„ ì°¨ë‹¨í•´ì™”ìŠµë‹ˆë‹¤."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3366,8 +3431,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "아바타 설정"
@@ -3402,8 +3467,8 @@ msgstr "페ì´ì§€ìˆ˜"
msgid "Description"
msgstr "설명"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "통계"
@@ -3464,35 +3529,35 @@ msgstr "%s ë‹˜ì˜ ì¢‹ì•„í•˜ëŠ” 글들"
msgid "Could not retrieve favorite notices."
msgstr "좋아하는 ê²Œì‹œê¸€ì„ ë³µêµ¬í•  수 없습니다."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "%sì˜ ì¹œêµ¬ë“¤ì„ ìœ„í•œ 피드"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "%sì˜ ì¹œêµ¬ë“¤ì„ ìœ„í•œ 피드"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "%sì˜ ì¹œêµ¬ë“¤ì„ ìœ„í•œ 피드"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3500,7 +3565,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3514,68 +3579,68 @@ msgstr "%s 그룹"
msgid "%1$s group, page %2$d"
msgstr "%s 그룹 회ì›, %d페ì´ì§€"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "그룹 프로필"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "설명"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "그룹 í–‰ë™"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "%s ê·¸ë£¹ì„ ìœ„í•œ 공지피드"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "%s ê·¸ë£¹ì„ ìœ„í•œ 공지피드"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "%s ê·¸ë£¹ì„ ìœ„í•œ 공지피드"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "%sì˜ ë³´ë‚¸ìª½ì§€í•¨"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "회ì›"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(없습니다.)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "모든 회ì›"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "ìƒì„±"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3585,7 +3650,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3596,7 +3661,7 @@ msgstr ""
"**%s** 는 %%%%site.name%%%% [마ì´í¬ë¡œë¸”로깅)(http://en.wikipedia.org/wiki/"
"Micro-blogging)ì˜ ì‚¬ìš©ìž ê·¸ë£¹ìž…ë‹ˆë‹¤. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
#, fuzzy
msgid "Admins"
msgstr "관리ìž"
@@ -3712,150 +3777,139 @@ msgid "User is already silenced."
msgstr "회ì›ì´ ë‹¹ì‹ ì„ ì°¨ë‹¨í•´ì™”ìŠµë‹ˆë‹¤."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "유효한 ì´ë©”ì¼ ì£¼ì†Œê°€ 아닙니다."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "사ì´íŠ¸ 공지"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "%sì— í¬ìŠ¤íŒ… í•  새로운 ì´ë©”ì¼ ì£¼ì†Œ"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "로컬 뷰"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "언어 설정"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "사ì´íŠ¸ 공지"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "새로운 메시지입니다."
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "트위터 í™˜ê²½ì„¤ì •ì„ ì €ìž¥í•  수 없습니다."
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "사ì´íŠ¸ 공지"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "사ì´íŠ¸ 공지"
#: actions/smssettings.php:58
#, fuzzy
@@ -3958,6 +4012,66 @@ msgstr "ê·€í•˜ì˜ íœ´ëŒ€í°ì˜ 통신회사는 무엇입니까?"
msgid "No code entered"
msgstr "코드가 ìž…ë ¥ ë˜ì§€ 않았습니다."
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "주 사ì´íŠ¸ 네비게ì´ì…˜"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "아바타 설정"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "ë‹¹ì‹ ì€ ì´ í”„ë¡œí•„ì— êµ¬ë…ë˜ì§€ 않고있습니다."
@@ -4064,22 +4178,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "ì´ìš©ìž 셀프 í…Œí¬ %s - %d 페ì´ì§€"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "%sì˜ í†µì§€ 피드"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "%sì˜ í†µì§€ 피드"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "%sì˜ í†µì§€ 피드"
@@ -4133,7 +4247,7 @@ msgstr "ë‹¹ì‹ ì˜ êµ¬ë…ìžë‚˜ 구ë…하는 ì‚¬ëžŒì— íƒœê¹…ì„ ìœ„í•´ ì´ ì–‘ì‹
msgid "No such tag."
msgstr "그러한 태그가 없습니다."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API 메서드를 구성중 입니다."
@@ -4160,81 +4274,83 @@ msgstr "요청한 프로필id가 없습니다."
msgid "Unsubscribed"
msgstr "구ë…취소 ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "ì´ìš©ìž"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "프로필"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "새 사용ìžë¥¼ 초대"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "모든 예약 구ë…"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "나ì—게 구ë…하는 사람ì—게 ìžë™ êµ¬ë… ì‹ ì²­"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "ì´ˆëŒ€ê¶Œì„ ë³´ëƒˆìŠµë‹ˆë‹¤"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "ì´ˆëŒ€ê¶Œì„ ë³´ëƒˆìŠµë‹ˆë‹¤"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4367,16 +4483,22 @@ msgstr "%s 그룹 회ì›, %d페ì´ì§€"
msgid "Search for more groups"
msgstr "프로필ì´ë‚˜ í…스트 검색"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "ë‹¹ì‹ ì€ í•´ë‹¹ ê·¸ë£¹ì˜ ë©¤ë²„ê°€ 아닙니다."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "%2$sì— ìžˆëŠ” %1$sì˜ ì—…ë°ì´íŠ¸!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4420,7 +4542,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "ê°œì¸ì ì¸"
@@ -4461,6 +4583,11 @@ msgstr "ê·¸ë£¹ì„ ì—…ë°ì´íŠ¸ í•  수 없습니다."
msgid "Group leave failed."
msgstr "그룹 프로필"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "ê·¸ë£¹ì„ ì—…ë°ì´íŠ¸ í•  수 없습니다."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4479,28 +4606,28 @@ msgstr "메시지를 삽입할 수 없습니다."
msgid "Could not update message with new URI."
msgstr "새 URI와 함께 메시지를 ì—…ë°ì´íŠ¸í•  수 없습니다."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "해쉬테그를 추가 í•  ë•Œì— ë°ì´íƒ€ë² ì´ìŠ¤ ì—러 : %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "통지를 ì €ìž¥í•˜ëŠ”ë° ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "게시글 저장문제. ì•Œë ¤ì§€ì§€ì•Šì€ íšŒì›"
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"너무 ë§Žì€ ê²Œì‹œê¸€ì´ ë„ˆë¬´ 빠르게 올ë¼ì˜µë‹ˆë‹¤. 한숨고르고 ëª‡ë¶„í›„ì— ë‹¤ì‹œ í¬ìŠ¤íŠ¸ë¥¼ "
"해보세요."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
@@ -4509,20 +4636,20 @@ msgstr ""
"너무 ë§Žì€ ê²Œì‹œê¸€ì´ ë„ˆë¬´ 빠르게 올ë¼ì˜µë‹ˆë‹¤. 한숨고르고 ëª‡ë¶„í›„ì— ë‹¤ì‹œ í¬ìŠ¤íŠ¸ë¥¼ "
"해보세요."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "ì´ ì‚¬ì´íŠ¸ì— 게시글 í¬ìŠ¤íŒ…으로부터 ë‹¹ì‹ ì€ ê¸ˆì§€ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "통지를 ì €ìž¥í•˜ëŠ”ë° ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "통지를 ì €ìž¥í•˜ëŠ”ë° ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4550,23 +4677,38 @@ msgstr "구ë…하고 있지 않습니다!"
msgid "Couldn't delete self-subscription."
msgstr "예약 구ë…ì„ ì‚­ì œ í•  수 없습니다."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "예약 구ë…ì„ ì‚­ì œ í•  수 없습니다."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "예약 구ë…ì„ ì‚­ì œ í•  수 없습니다."
-#: classes/User.php:372
+#: classes/User.php:373
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "%2$sì—ì„œ %1$s까지 메시지"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "새 ê·¸ë£¹ì„ ë§Œë“¤ 수 없습니다."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "그룹 ë§´ë²„ì‹­ì„ ì„¸íŒ…í•  수 없습니다."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "그룹 ë§´ë²„ì‹­ì„ ì„¸íŒ…í•  수 없습니다."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "구ë…ì„ ì €ìž¥í•  수 없습니다."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "프로필 세팅 바꾸기"
@@ -4605,127 +4747,188 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "제목없는 페ì´ì§€"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "주 사ì´íŠ¸ 네비게ì´ì…˜"
-#: lib/action.php:439
-msgid "Home"
-msgstr "홈"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "ê°œì¸ í”„ë¡œí•„ê³¼ 친구 타임ë¼ì¸"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "ê°œì¸ì ì¸"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "ë‹¹ì‹ ì˜ ì´ë©”ì¼, 아바타, 비밀 번호, í”„ë¡œí•„ì„ ë³€ê²½í•˜ì„¸ìš”."
-#: lib/action.php:444
-msgid "Connect"
-msgstr "ì—°ê²°"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "ì„œë²„ì— ìž¬ì ‘ì† í•  수 없습니다 : %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "ì—°ê²°"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "주 사ì´íŠ¸ 네비게ì´ì…˜"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "초대"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "관리ìž"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "%sì— ì¹œêµ¬ë¥¼ 가입시키기 위해 친구와 ë™ë£Œë¥¼ 초대합니다."
-#: lib/action.php:458
-msgid "Logout"
-msgstr "로그아웃"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "초대"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "ì´ ì‚¬ì´íŠ¸ë¡œë¶€í„° 로그아웃"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "로그아웃"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "계정 만들기"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "회ì›ê°€ìž…"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "ì´ ì‚¬ì´íŠ¸ 로그ì¸"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "ë„움ë§"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "로그ì¸"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "ë„ì›€ì´ í•„ìš”í•´!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "검색"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "ë„움ë§"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "프로필ì´ë‚˜ í…스트 검색"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "검색"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "사ì´íŠ¸ 공지"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "로컬 뷰"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "페ì´ì§€ 공지"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "ë³´ì¡° 사ì´íŠ¸ 네비게ì´ì…˜"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "ë„움ë§"
+
+#: lib/action.php:754
msgid "About"
msgstr "ì •ë³´"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "ìžì£¼ 묻는 질문"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "ê°œì¸ì •ë³´ 취급방침"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "소스 코드"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "ì—°ë½í•˜ê¸°"
-#: lib/action.php:751
+#: lib/action.php:771
#, fuzzy
msgid "Badge"
msgstr "찔러 보기"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "ë¼ì½”니카 소프트웨어 ë¼ì´ì„ ìŠ¤"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4734,12 +4937,12 @@ msgstr ""
"**%%site.name%%** 는 [%%site.broughtby%%](%%site.broughtbyurl%%)가 제공하는 "
"마ì´í¬ë¡œë¸”로깅서비스입니다."
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** 는 마ì´í¬ë¡œë¸”로깅서비스입니다."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4750,117 +4953,159 @@ msgstr ""
"ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. StatusNet는 [GNU Affero General Public License](http://www."
"fsf.org/licensing/licenses/agpl-3.0.html) ë¼ì´ì„ ìŠ¤ì— ë”°ë¼ ì‚¬ìš©í•  수 있습니다."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "ë¼ì½”니카 소프트웨어 ë¼ì´ì„ ìŠ¤"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "모든 것"
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "ë¼ì´ì„ ìŠ¤"
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "페ì´ì§€ìˆ˜"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "ë’· 페ì´ì§€"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "ì•ž 페ì´ì§€"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "ë‹¹ì‹ ì€ ì´ ì‚¬ìš©ìžì—게 메시지를 보낼 수 없습니다."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "ê°€ìž…ì´ í—ˆìš©ë˜ì§€ 않습니다."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "ëª…ë ¹ì´ ì•„ì§ ì‹¤í–‰ë˜ì§€ 않았습니다."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "ëª…ë ¹ì´ ì•„ì§ ì‹¤í–‰ë˜ì§€ 않았습니다."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "트위터 í™˜ê²½ì„¤ì •ì„ ì €ìž¥í•  수 없습니다."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "ì´ë©”ì¼ ì£¼ì†Œ 확ì¸ì„œ"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "초대"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "SMS ì¸ì¦"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "ê°œì¸ì ì¸"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "SMS ì¸ì¦"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "ì´ìš©ìž"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS ì¸ì¦"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS ì¸ì¦"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "SMS ì¸ì¦"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "사ì´íŠ¸ 공지"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS ì¸ì¦"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4956,12 +5201,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "비밀번호 변경"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "비밀번호 변경"
@@ -5047,12 +5292,12 @@ msgstr "%s가 그룹%s를 떠났습니다."
msgid "Fullname: %s"
msgstr "ì „ì²´ì´ë¦„: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "위치: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "홈페ì´ì§€: %s"
@@ -5239,20 +5484,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "í™•ì¸ ì½”ë“œê°€ 없습니다."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
#, fuzzy
msgid "Go to the installer."
msgstr "ì´ ì‚¬ì´íŠ¸ 로그ì¸"
@@ -5354,6 +5599,11 @@ msgstr "ì¢ì€ 리스트ì—ì„œ 태그 ì„ íƒí•˜ê¸°"
msgid "Go"
msgstr "Go "
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "그룹 í˜¹ì€ í† í”½ì˜ í™ˆíŽ˜ì´ì§€ë‚˜ 블로그 URL"
@@ -5445,23 +5695,23 @@ msgstr "파ì¼ì„ ì˜¬ë¦¬ëŠ”ë° ì‹œìŠ¤í…œ 오류 ë°œìƒ"
msgid "Not an image or corrupt file."
msgstr "그림 파ì¼ì´ 아니거나 ì†ìƒëœ íŒŒì¼ ìž…ë‹ˆë‹¤."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "지ì›í•˜ì§€ 않는 그림 íŒŒì¼ í˜•ì‹ìž…니다."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "파ì¼ì„ 잃어버렸습니다."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "ì•Œ 수 없는 ì¢…ë¥˜ì˜ íŒŒì¼ìž…니다"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5491,11 +5741,11 @@ msgstr "ì‚¬ìš©ìž ì´ë¦„ê³¼ 비밀번호로 로그ì¸"
msgid "Sign up for a new account"
msgstr "새 ê³„ì •ì„ ìœ„í•œ 회ì›ê°€ìž…"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "ì´ë©”ì¼ ì£¼ì†Œ 확ì¸ì„œ"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5512,12 +5762,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$së‹˜ì´ ê·€í•˜ì˜ ì•Œë¦¼ 메시지를 %2$sì—ì„œ 듣고 있습니다."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5536,19 +5786,19 @@ msgstr ""
"\n"
"그럼 ì´ë§Œ,%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"소개: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "%sì— í¬ìŠ¤íŒ… í•  새로운 ì´ë©”ì¼ ì£¼ì†Œ"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5563,21 +5813,21 @@ msgstr ""
"í¬ìŠ¤íŒ… 주소는 %1$s입니다.새 메시지를 등ë¡í•˜ë ¤ë©´ %2$ 주소로 ì´ë©”ì¼ì„ ë³´ë‚´ì‹­ì‹œ"
"오.ì´ë©”ì¼ ì‚¬ìš©ë²•ì€ %3$s 페ì´ì§€ë¥¼ 보십시오.안녕히,%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s ìƒíƒœ"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS ì¸ì¦"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s 사용ìžê°€ 찔러 봤습니다."
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5593,12 +5843,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "%s로부터 새로운 비밀 메시지가 ë„착하였습니다."
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5617,12 +5867,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%së‹˜ì´ ë‹¹ì‹ ì˜ ê²Œì‹œê¸€ì„ ì¢‹ì•„í•˜ëŠ” 글로 추가했습니다."
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5643,12 +5893,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5764,6 +6014,12 @@ msgstr "ì—게"
msgid "Available characters"
msgstr "사용 가능한 글ìž"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "보내기"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "게시글 보내기"
@@ -5823,25 +6079,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "ìƒì„±"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "답장하기"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "ê²Œì‹œê¸€ì´ ë“±ë¡ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -5917,7 +6173,7 @@ msgstr "%sì˜ ê²Œì‹œê¸€ì˜ íƒœê·¸"
msgid "Unknown"
msgstr "알려지지 ì•Šì€ í–‰ë™"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "구ë…"
@@ -5925,24 +6181,24 @@ msgstr "구ë…"
msgid "All subscriptions"
msgstr "모든 예약 구ë…"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "구ë…ìž"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "모든 구ë…ìž"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "ì´ìš©ìž"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "가입한 때"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "모든 그룹"
@@ -5985,7 +6241,12 @@ msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
msgid "Repeat this notice"
msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "ì´ ê·¸ë£¹ì˜ íšŒì›ë¦¬ìŠ¤íŠ¸"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6008,6 +6269,10 @@ msgstr "검색"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "검색"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6062,6 +6327,15 @@ msgstr "%sì— ì˜í•´ 구ë…ë˜ëŠ” 사람들"
msgid "Groups %s is a member of"
msgstr "%s ê·¸ë£¹ë“¤ì€ ì˜ ë©¤ë²„ìž…ë‹ˆë‹¤."
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "초대"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "%sì— ì¹œêµ¬ë¥¼ 가입시키기 위해 친구와 ë™ë£Œë¥¼ 초대합니다."
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6136,47 +6410,63 @@ msgstr "메시지"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "ì´ìš©ìž 프로필"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "관리ìž"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "몇 초 전"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "1분 전"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "%d분 전"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "1시간 전"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "%d시간 전"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "하루 전"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "%dì¼ ì „"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "1달 전"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "%d달 전"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "1ë…„ ì „"
diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po
index 14efaf620..74b9cb228 100644
--- a/locale/mk/LC_MESSAGES/statusnet.po
+++ b/locale/mk/LC_MESSAGES/statusnet.po
@@ -9,77 +9,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:18+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:24+0000\n"
"Language-Team: Macedonian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural= n==1 || n%10==1 ? 0 : 1;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "ПриÑтап"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Ðагодувања за приÑтап на веб-Ñтраницата"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "РегиÑтрација"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Приватен"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Да им забранам на анонимните (ненајавени) кориÑници да ја гледаат веб-"
"Ñтраницата?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Само Ñо покана"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Приватно"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "РегиÑтрирање Ñамо Ñо покана."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Затворен"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Само Ñо покана"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "Зачувај"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Затворен"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Зачувај нагодувања на приÑтап"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Зачувај"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Ðема таква Ñтраница"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -93,52 +99,60 @@ msgstr "Ðема таква Ñтраница"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Ðема таков кориÑник."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s и пријателите, ÑÑ‚Ñ€. %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s и пријатели"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Канал Ñо пријатели на %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Канал Ñо пријатели на %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Канал за пријатели на %S (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
"Ова е иÑторијата за %s и пријателите, но доÑега никој нема објавено ништо."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -147,7 +161,8 @@ msgstr ""
"Пробајте да Ñе претплатите на повеќе луѓе, [зачленете Ñе во група](%%action."
"groups%%) или објавете нешто Ñамите."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -157,7 +172,7 @@ msgstr ""
"на кориÑникот или да [објавите нешто што Ñакате тој да го прочита](%%%%"
"action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -167,7 +182,8 @@ msgstr ""
"го подбуцнете кориÑникот %s или да објавите забелешка што Ñакате тој да ја "
"прочита."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Вие и пријателите"
@@ -185,20 +201,20 @@ msgstr "Подновувања од %1$s и пријатели на %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API методот не е пронајден."
@@ -232,8 +248,9 @@ msgstr "Ðе можев да го подновам кориÑникот."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "КориÑникот нема профил."
@@ -259,7 +276,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -372,68 +389,68 @@ msgstr "Ðе можев да го утврдам целниот кориÑник
msgid "Could not find target user."
msgstr "Ðе можев да го пронајдам целниот кориÑник."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Прекарот мора да има Ñамо мали букви и бројки и да нема празни меÑта."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Тој прекар е во употреба. Одберете друг."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ðеправилен прекар."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Главната Ñтраница не е важечка URL-адреÑа."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Целото име е предолго (макÑимум 255 знаци)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "ОпиÑот е предолг (дозволено е највеќе %d знаци)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Локацијата е предолга (макÑимумот е 255 знаци)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Премногу алијаÑи! Дозволено е највеќе %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ðеважечки алијаÑ: „%s“"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "ÐлијаÑот „%s“ е зафатен. Одберете друг."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "ÐлијаÑот не може да биде иÑÑ‚ како прекарот."
@@ -444,15 +461,15 @@ msgstr "ÐлијаÑот не може да биде иÑÑ‚ како прекаÑ
msgid "Group not found!"
msgstr "Групата не е пронајдена!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Веќе членувате во таа група."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Блокирани Ñте од таа група од админиÑтраторот."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Ðе можам да го зачленам кориÑникот %1$s во групата 2$s."
@@ -461,7 +478,7 @@ msgstr "Ðе можам да го зачленам кориÑникот %1$s вÐ
msgid "You are not a member of this group."
msgstr "Ðе членувате во оваа група."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Ðе можев да го отÑтранам кориÑникот %1$s од групата %2$s."
@@ -492,7 +509,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -535,7 +552,7 @@ msgstr "Жетонот на барањето %s е одбиен и поништÐ
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -561,13 +578,13 @@ msgstr ""
"<strong>%3$s</strong> податоците за Вашата %4$s Ñметка. Треба да дозволувате "
"приÑтап до Вашата %4$s Ñметка Ñамо на трети Ñтрани на кои им верувате."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Сметка"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -650,18 +667,6 @@ msgstr "%1$s / Омилени од %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "Подновувања на %1$s омилени на %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "ИÑторија на %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Подновувања од %1$s на %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -672,12 +677,12 @@ msgstr "%1$s / Подновувања кои Ñпоменуваат %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s подновувања коишто Ñе одговор на подновувањата од %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Јавна иÑторија на %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s подновуввања од Ñите!"
@@ -692,12 +697,12 @@ msgstr "Повторено за %s"
msgid "Repeats of %s"
msgstr "Повторувања на %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Забелешки означени Ñо %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Подновувањата Ñе означени Ñо %1$s на %2$s!"
@@ -713,8 +718,7 @@ msgstr "Ðема таков прилог."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ðема прекар."
@@ -726,7 +730,7 @@ msgstr "Ðема големина."
msgid "Invalid size."
msgstr "Погрешна големина."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Ðватар"
@@ -740,35 +744,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "КориÑник без Ñоодветен профил"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Ðагодувања на аватарот"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Оригинал"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Преглед"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Бриши"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Подигни"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "ОтÑечи"
@@ -776,7 +780,7 @@ msgstr "ОтÑечи"
msgid "Pick a square area of the image to be your avatar"
msgstr "Одберете квадратна површина од Ñликата за аватар"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Податоците за податотеката Ñе изгубени."
@@ -812,22 +816,22 @@ msgstr ""
"од кориÑникот."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Ðе"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Ðе го блокирај кориÑников"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Да"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Блокирај го кориÑников"
@@ -835,39 +839,43 @@ msgstr "Блокирај го кориÑников"
msgid "Failed to save block information."
msgstr "Ðе можев да ги Ñнимам инофрмациите за блокот."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Ðема таква група."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s блокирани профили"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s блокирани профили, ÑÑ‚Ñ€. %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "ЛиÑтана кориÑниците блокирани од придружување во оваа група."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Одблокирај кориÑник од група"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Одблокирај"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Одблокирај го овој корÑник"
@@ -923,7 +931,7 @@ msgid "Conversation"
msgstr "Разговор"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Забелешки"
@@ -942,7 +950,7 @@ msgstr "Ðе Ñте ÑопÑтвеник на овој програм."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Се појави проблем Ñо Вашиот ÑеÑиÑки жетон."
@@ -968,12 +976,13 @@ msgstr "Ðе го бриши овој програм"
msgid "Delete this application"
msgstr "Избриши го програмов"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ðе Ñте најавени."
@@ -1002,7 +1011,7 @@ msgstr "Дали Ñте Ñигурни дека Ñакате да ја избрÐ
msgid "Do not delete this notice"
msgstr "Ðе ја бриши оваа забелешка"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Бриши ја оваа забелешка"
@@ -1018,7 +1027,7 @@ msgstr "Може да бришете Ñамо локални кориÑници.
msgid "Delete user"
msgstr "Бриши кориÑник"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1026,12 +1035,12 @@ msgstr ""
"Дали Ñе Ñигурни дека Ñакате да го избришете овој кориÑник? Ова воедно ќе ги "
"избрише Ñите податоци за кориÑникот од базата, без да може да Ñе вратат."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Избриши овој кориÑник"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Изглед"
@@ -1134,6 +1143,18 @@ msgstr "Врати оÑновно-зададени нагодувања"
msgid "Reset back to default"
msgstr "Врати по оÑновно"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Зачувај"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Зачувај изглед"
@@ -1225,29 +1246,29 @@ msgstr "Уреди ја групата %s"
msgid "You must be logged in to create a group."
msgstr "Мора да Ñте најавени за да можете да Ñоздавате групи."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Мора да Ñте админиÑтратор за да можете да ја уредите групата."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "ОБразецов Ñлужи за уредување на групата."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "опиÑот е предолг (макÑимум %d знаци)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Ðе можев да ја подновам групата."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Ðе можеше да Ñе Ñоздадат алијаÑи."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Ðагодувањата Ñе зачувани."
@@ -1368,7 +1389,7 @@ msgid "Cannot normalize that email address"
msgstr "Ðеможам да ја нормализирам таа е-поштенÑка адреÑа"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ðеправилна адреÑа за е-пошта."
@@ -1561,6 +1582,22 @@ msgstr "Ðема таква податотека."
msgid "Cannot read file."
msgstr "Податотеката не може да Ñе прочита."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Погрешна улога."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Оваа улога е резервирана и не може да Ñе зададе."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Ðе можете да им доделувате улоги на кориÑниците на оваа веб-Ñтраница."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "КориÑникот веќе ја има таа улога."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1590,7 +1627,7 @@ msgstr "КориÑникот е веќе блокиран од оваа груп
msgid "User is not a member of group."
msgstr "КориÑникот не членува во групата."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Блокирај кориÑник од група"
@@ -1627,11 +1664,11 @@ msgstr "Ðема ID."
msgid "You must be logged in to edit a group."
msgstr "Мора да Ñте најавени за да можете да уредувате група."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Изглед на групата"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1639,20 +1676,20 @@ msgstr ""
"Прилагодете го изгледот на Вашата група Ñо позадинÑка Ñлика и палета од бои "
"по Ваш избор."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Ðе можев да го подновам Вашиот изглед."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Ðагодувањата Ñе зачувани."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Лого на групата"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1660,62 +1697,68 @@ msgstr ""
"Можете да подигнете Ñлика за логото на Вашата група. МакÑималната дозволена "
"големина на податотеката е %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "КориÑник без Ñоодветен профил."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Одберете квадратен проÑтор на Ñликата за лого."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Логото е подновено."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Подновата на логото не уÑпеа."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Членови на групата %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Членови на групата %1$s, ÑÑ‚Ñ€. %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "ЛиÑта на кориÑниците на овааг група."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "ÐдминиÑтратор"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Блокирај"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Ðаправи го кориÑникот админиÑтратор на групата"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Ðаправи го/ја админиÑтратор"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Ðаправи го кориÑникот админиÑтратор"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "ИÑторија на %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Подновувања од членови на %1$s на %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Групи"
@@ -1976,16 +2019,18 @@ msgstr "Лична порака"
msgid "Optionally add a personal message to the invitation."
msgstr "Можете да додадете и лична порака во поканата."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "ИÑпрати"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s ве покани да Ñе придружите на %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2046,7 +2091,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Мора да Ñте најавени за да можете да Ñе зачлените во група."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Ðема прекар или ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s Ñе зачлени во групата %2$s"
@@ -2055,11 +2104,11 @@ msgstr "%1$s Ñе зачлени во групата %2$s"
msgid "You must be logged in to leave a group."
msgstr "Мора да Ñте најавени за да можете да ја напуштите групата."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Ðе членувате во таа група."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ја напушти групата %2$s"
@@ -2076,8 +2125,7 @@ msgstr "Ðеточно кориÑничко име или лозинка"
msgid "Error setting user. You are probably not authorized."
msgstr "Грешка при поÑтавувањето на кориÑникот. Веројатно не Ñе заверени."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Ðајава"
@@ -2334,8 +2382,8 @@ msgstr "тип на Ñодржини "
msgid "Only "
msgstr "Само "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Ова не е поддржан формат на податотека."
@@ -2476,7 +2524,8 @@ msgstr "Ðе можам да ја зачувам новата лозинка."
msgid "Password saved."
msgstr "Лозинката е зачувана."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Патеки"
@@ -2509,7 +2558,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Ðеважечки SSL-Ñервер. Дозволени Ñе најмногу 255 знаци"
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Веб-Ñтраница"
@@ -2597,7 +2645,7 @@ msgstr "Директориум на позадината"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Ðикогаш"
@@ -2653,11 +2701,11 @@ msgstr "Ðе е важечка ознака за луѓе: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "КориÑтници Ñамоозначени Ñо %1$s - ÑÑ‚Ñ€. %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ðеважечка Ñодржина на забелешката"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2684,7 +2732,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 мали букви или бројки. Без интерпукциÑки знаци и празни меÑта."
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Цело име"
@@ -2712,7 +2760,7 @@ msgid "Bio"
msgstr "Биографија"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2739,7 +2787,7 @@ msgstr ""
"Ознаки за Ð’Ð°Ñ Ñамите (букви, бројки, -, . и _), одделени Ñо запирка или "
"празно меÑто"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Јазик"
@@ -2767,7 +2815,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Биографијата е преголема (највеќе до %d знаци)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Ðе е избрана чаÑовна зона."
@@ -2796,7 +2844,8 @@ msgstr "Ðе можам да го зачувам профилот."
msgid "Couldn't save tags."
msgstr "Ðе можев да ги зачувам ознаките."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Ðагодувањата Ñе зачувани"
@@ -2809,28 +2858,28 @@ msgstr "Ðадминато е ограничувањето на Ñтраница
msgid "Could not retrieve public stream."
msgstr "Ðе можам да го вратам јавниот поток."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Јавна иÑторија, ÑÑ‚Ñ€. %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Јавна иÑторија"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Канал на јавниот поток (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Канал на јавниот поток (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Канал на јавниот поток (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2838,11 +2887,11 @@ msgid ""
msgstr ""
"Ова е јавната иÑторија за %%site.name%%, но доÑега никој ништо нема објавено."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Создајте ја првата забелешка!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2850,7 +2899,7 @@ msgstr ""
"Зошто не [региÑтрирате Ñметка](%%action.register%%) и Ñтанете првиот "
"објавувач!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2864,7 +2913,7 @@ msgstr ""
"Ñподелувате забелешки за Ñебе Ñо приајтелите, ÑемејÑтвото и колегите! "
"([Прочитајте повеќе](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3044,8 +3093,7 @@ msgstr "Жалиме, неважечки код за поканата."
msgid "Registration successful"
msgstr "РегиÑтрацијата е уÑпешна"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "РегиÑтрирај Ñе"
@@ -3088,7 +3136,7 @@ msgid "Same as password above. Required."
msgstr "ИÑто што и лозинката погоре. Задолжително поле."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Е-пошта"
@@ -3195,7 +3243,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL на Вашиот профил на друга компатибилна Ñлужба за микроблогирање."
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Претплати Ñе"
@@ -3233,7 +3281,7 @@ msgstr "Ðе можете да повторувате ÑопÑтвена забÐ
msgid "You already repeated that notice."
msgstr "Веќе ја имате повторено таа забелешка."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Повторено"
@@ -3241,33 +3289,33 @@ msgstr "Повторено"
msgid "Repeated!"
msgstr "Повторено!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Одговори иÑпратени до %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Одговори на %1$s, ÑÑ‚Ñ€. %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Канал Ñо одговори за %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Канал Ñо одговори за %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Канал Ñо одговори за %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3276,7 +3324,7 @@ msgstr ""
"Ова е иÑторијата на која Ñе прикажани одговорите на %1$s, но %2$s Ñè уште "
"нема добиено порака од некој што Ñака да ја прочита."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3285,7 +3333,7 @@ msgstr ""
"Можете да започнувате разговори Ñо други кориÑници, да Ñе претплаќате на "
"други луѓе или да [Ñе зачленувате во групи](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3299,6 +3347,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Одговори на %1$s на %2$s!"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Ðа оваа веб-Ñтраница не можете да одземате кориÑнички улоги."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "КориÑникот ја нема оваа улога."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3311,8 +3367,9 @@ msgstr "Ðе можете да Ñтавате кориÑници во пеÑоч
msgid "User is already sandboxed."
msgstr "КориÑникот е веќе во пеÑочен режим."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "СеÑии"
@@ -3336,8 +3393,8 @@ msgstr "Поправка на грешки во ÑеÑија"
msgid "Turn on debugging output for sessions."
msgstr "Вклучи извод од поправка на грешки за ÑеÑии."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Зачувај нагодувања на веб-Ñтраницата"
@@ -3367,8 +3424,8 @@ msgstr "Организација"
msgid "Description"
msgstr "ОпиÑ"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "СтатиÑтики"
@@ -3432,22 +3489,22 @@ msgstr "Омилени забелешки на %1$s, ÑÑ‚Ñ€. %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Ðе можев да ги вратам омилените забелешки."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Канал за омилени забелешки на %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Канал за омилени забелешки на %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Канал за омилени забелешки на %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3456,7 +3513,7 @@ msgstr ""
"омилена забелешка веднаш до Ñамата забелешката што Ви Ñе допаѓа за да ја "
"обележите за подоцна, или за да Ñ Ð´Ð°Ð´ÐµÑ‚Ðµ на важноÑÑ‚."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3465,7 +3522,7 @@ msgstr ""
"%s Ñè уште нема додадено забелешки како омилени. Објавете нешто интереÑно, "
"што кориÑникот би го обележал како омилено :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3476,7 +3533,7 @@ msgstr ""
"%%action.register%%%%) и потоа објавите нешто интереÑно што кориÑникот би го "
"додал како омилено :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Ова е начин да го Ñподелите она што Ви Ñе допаѓа."
@@ -3490,67 +3547,67 @@ msgstr "Група %s"
msgid "%1$s group, page %2$d"
msgstr "Група %1$s, ÑÑ‚Ñ€. %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Профил на група"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Забелешка"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "ÐлијаÑи"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Групни дејÑтва"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Канал Ñо забелешки за групата %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Канал Ñо забелешки за групата %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Канал Ñо забелешки за групата%s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF за групата %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Членови"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Ðема)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Сите членови"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Создадено"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3566,7 +3623,7 @@ msgstr ""
"Ñе](%%%%action.register%%%%) за да Ñтанете дел од оваа група и многу повеќе! "
"([Прочитајте повеќе](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3579,7 +3636,7 @@ msgstr ""
"Ñлободната програмÑка алатка [StatusNet](http://status.net/). Ðејзините "
"членови Ñи разменуваат кратки пораки за нивниот живот и интереÑи. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "ÐдминиÑтратори"
@@ -3701,152 +3758,138 @@ msgid "User is already silenced."
msgstr "КориÑникот е веќе замолчен."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "ОÑновни нагодувања за оваа StatusNet веб-Ñтраница."
+msgid "Basic settings for this StatusNet site"
+msgstr "ОÑновни поÑтавки за оваа StatusNet веб-Ñтраница."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Должината на името на веб-Ñтраницата не може да изнеÑува нула."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Мора да имате важечка контактна е-поштенÑка адреÑа."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Ðепознат јазик „%s“"
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "Ðеважечки URL за извештај од Ñнимката."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Ðеважечка вредноÑÑ‚ на пуштањето на Ñнимката."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "ЧеÑтотата на Ñнимките мора да биде бројка."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Минималното ограничување на текÑтот изнеÑува 140 знаци."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "Ограничувањето на дуплирањето мора да изнеÑува барем 1 Ñекунда."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Општи"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Име на веб-Ñтраницата"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Името на Вашата веб-Ñтраница, како на пр. „Микроблог на Вашафирма“"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Овозможено од"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
"ТекÑÑ‚ за врÑката за наведување на авторите во долната колонцифра на Ñекоја "
"Ñтраница"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URL-адреÑа на овозможувачот на уÑлугите"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
"URL-адреÑата која е кориÑти за врÑки за автори во долната колоцифра на "
"Ñекоја Ñтраница"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Контактна е-пошта за Вашата веб-Ñтраница"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Локално"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "ОÑновна чаÑовна зона"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Матична чаÑовна зона за веб-Ñтраницата; обично UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr "ОÑновен јазик"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Снимки"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "По ÑлучајноÑÑ‚ во текот на поÑета"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Во зададена задача"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Снимки од податоци"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Кога да им Ñе иÑпраќаат ÑтатиÑтички податоци на status.net Ñерверите"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "ЧеÑтота"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Ќе Ñе иÑпраќаат Ñнимки на Ñекои N поÑети"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL на извештајот"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Снимките ќе Ñе иÑпраќаат на оваа URL-адреÑа"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr "Јазик на веб-Ñтраницата ако прелиÑтувачот не може да го препознае Ñам"
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Ограничувања"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Ограничување на текÑтот"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "МакÑимален број на знаци за забелешки."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Ограничување на дуплирањето"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Колку долго треба да почекаат кориÑниците (во Ñекунди) за да можат повторно "
"да го објават иÑтото."
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Објава на Ñтраница"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Уреди објава за цела веб-Ñтраница"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Ðе можам да ја зачувам објавата за веб-Ñтраницата."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "Објавата за цела веб-Ñтраница не треба да има повеќе од 255 знаци"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "ТекÑÑ‚ на објавата за веб-Ñтраницата"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+"ТекÑÑ‚ за главна објава по цела веб-Ñтраница (највеќе до 255 знаци; дозволено "
+"и HTML)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Зачувај ја објавава"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Ðагодувања за СМС"
@@ -3946,6 +3989,64 @@ msgstr ""
msgid "No code entered"
msgstr "Ðема внеÑено код"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Снимки"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "Раководење Ñо поÑтавки за Ñнимки"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Ðеважечка вредноÑÑ‚ на пуштањето на Ñнимката."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "ЧеÑтотата на Ñнимките мора да биде бројка."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "Ðеважечки URL за извештај од Ñнимката."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "По ÑлучајноÑÑ‚ во текот на поÑета"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Во зададена задача"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Снимки од податоци"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Кога да им Ñе иÑпраќаат ÑтатиÑтички податоци на status.net Ñерверите"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "ЧеÑтота"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Ќе Ñе иÑпраќаат Ñнимки на Ñекои N поÑети"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL на извештајот"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Снимките ќе Ñе иÑпраќаат на оваа URL-адреÑа"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Зачувај поÑтавки за Ñнимки"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Ðе Ñте претплатени на тој профил."
@@ -3957,17 +4058,16 @@ msgstr "Ðе можев да ја зачувам претплатата."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Ова дејÑтво прифаќа Ñамо POST-барања"
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Ðема таква податотека."
+msgstr "Ðема таков профил."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Ðе Ñте претплатени на тој профил."
+msgstr ""
+"Ðе можете да Ñе претплатите на OMB 0.1 оддалечен профил Ñо ова дејÑтво."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4061,22 +4161,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "СМС"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Забелешки означени Ñо %1$s, ÑÑ‚Ñ€. %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Канал Ñо забелешки за ознаката %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Канал Ñо забелешки за ознаката %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Канал Ñо забелешки за ознаката %s (Atom)"
@@ -4130,7 +4230,7 @@ msgstr "Со овој образец додавајте ознаки во Ваш
msgid "No such tag."
msgstr "Ðема таква ознака."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API-методот е во изработка."
@@ -4154,7 +4254,7 @@ msgstr "Во барањето нема id на профилот."
msgid "Unsubscribed"
msgstr "Претплатата е откажана"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4162,70 +4262,71 @@ msgstr ""
"Лиценцата на потокот на Ñледачот „%1$s“ не е компатибилна Ñо лиценцата на "
"веб-Ñтраницата „%2$s“."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "КориÑник"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "КориÑнички нагодувања за оваа StatusNet веб-Ñтраница."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Ðеважечко ограничување за биографијата. Мора да е бројчено."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "ÐЕважечки текÑÑ‚ за добредојде. Дозволени Ñе највеќе 255 знаци."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Ðеважечки Ð¾Ð¿Ð¸Ñ Ð¿Ð¾ оÑновно: „%1$s“ не е кориÑник."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профил"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Ограничување за биографијата"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "МакÑимална големина на профилната биографија во знаци."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Ðови кориÑници"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Добредојде за нов кориÑник"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "ТекÑÑ‚ за добредојде на нови кориÑници (највеќе до 255 знаци)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "ОÑновно-зададена претплата"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "ÐвтоматÑки претплатувај нови кориÑници на овој кориÑник."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Покани"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Поканите Ñе овозможени"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Дали да им е дозволено на кориÑниците да канат други кориÑници."
@@ -4356,18 +4457,24 @@ msgstr "Групи %1$s, ÑÑ‚Ñ€. %2$d"
msgid "Search for more groups"
msgstr "Пребарај уште групи"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s не членува во ниедна група."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Обидете Ñе Ñо [пребарување на групи](%%action.groupsearch%%) и придружете им "
"Ñе."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Подновувања од %1$s на %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4423,7 +4530,7 @@ msgstr ""
msgid "Plugins"
msgstr "Приклучоци"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Верзија"
@@ -4463,6 +4570,10 @@ msgstr "Ðе е дел од групата."
msgid "Group leave failed."
msgstr "Ðапуштањето на групата не уÑпеа."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Ðе можев да ја подновам локалната група."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4480,27 +4591,27 @@ msgstr "Ðе можев да ја иÑпратам пораката."
msgid "Could not update message with new URI."
msgstr "Ðе можев да ја подновам пораката Ñо нов URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Грешка во базата на податоци при вметнувањето на хеш-ознака: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Проблем Ñо зачувувањето на белешката. Премногу долго."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Проблем Ñо зачувувањето на белешката. Ðепознат кориÑник."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Премногу забелњшки за прекратко време; здивнете малку и продолжете за "
"неколку минути."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4508,19 +4619,19 @@ msgstr ""
"Премногу дуплирани пораки во прекратко време; здивнете малку и продолжете за "
"неколку минути."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Забрането Ви е да објавувате забелешки на оваа веб-Ñтраница."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Проблем во зачувувањето на белешката."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Проблем при зачувувањето на групното приемно Ñандаче."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4546,23 +4657,35 @@ msgstr "Ðе Ñте претплатени!"
msgid "Couldn't delete self-subscription."
msgstr "Ðе можам да ја избришам Ñамопретплатата."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Ðе можете да го избришете OMB-жетонот за претплата."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Претплата не може да Ñе избрише."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Добредојдовте на %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Ðе можев да ја Ñоздадам групата."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Ðе можев да поÑтавам URI на групата."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Ðе можев да назначам членÑтво во групата."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Ðе можев да ги зачувам информациите за локалните групи."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Смени профилни нагодувања"
@@ -4600,124 +4723,170 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Страница без наÑлов"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Главна навигација"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Дома"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
-msgstr "Личен профил и иÑторија на пријатели"
+msgstr "Личен профил и хронологија на пријатели"
+
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Лично"
-#: lib/action.php:441
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Промена на е-пошта, аватар, лозинка, профил"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Поврзи Ñе"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Поврзи Ñе Ñо уÑлуги"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Поврзи Ñе"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
-msgstr "Промена на конфигурацијата на веб-Ñтраницата"
+msgstr "Промена на поÑтавките на веб-Ñтраницата"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Покани"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Ðдмин"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Поканете пријатели и колеги да Ви Ñе придружат на %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Одјави Ñе"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Покани"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Одјава"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Одјава"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Создај Ñметка"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "РегиÑтрација"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Ðајава"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Помош"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Ðајава"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Ðапомош!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Барај"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Помош"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Пребарајте луѓе или текÑÑ‚"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Барај"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Ðапомена за веб-Ñтраницата"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Локални прегледи"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Ðапомена за Ñтраницата"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Споредна навигација"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Помош"
+
+#: lib/action.php:754
msgid "About"
msgstr "За"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "ЧПП"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "УÑлови"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "ПриватноÑÑ‚"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Изворен код"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Контакт"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Значка"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Лиценца на програмот StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4726,12 +4895,12 @@ msgstr ""
"**%%site.name%%** е ÑÐµÑ€Ð²Ð¸Ñ Ð·Ð° микроблогирање што ви го овозможува [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** е ÑÐµÑ€Ð²Ð¸Ñ Ð·Ð° микроблогирање."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4742,111 +4911,149 @@ msgstr ""
"верзија %s, доÑтапен пд [GNU Affero General Public License](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Лиценца на Ñодржините на веб-Ñтраницата"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Содржината и податоците на %1$s Ñе лични и доверливи."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
"ÐвторÑките права на Ñодржината и податоците Ñе во ÑопÑтвеноÑÑ‚ на %1$s. Сите "
"права задржани."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"ÐвторÑките права на Ñодржината и податоците им припаѓаат на учеÑниците. Сите "
"права задржани."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Сите "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "лиценца."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Прелом на Ñтраници"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "По"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Пред"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Сè уште не е поддржана обработката на оддалечена Ñодржина."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Сè уште не е поддржана обработката на XML Ñодржина."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Сè уште не е доÑтапна обработката на вметната Base64 Ñодржина."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Ðе можете да ја менувате оваа веб-Ñтраница."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Менувањето на тој алатник не е дозволено."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() не е имплементирано."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() не е имплементирано."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Ðе можам да ги избришам нагодувањата за изглед."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "ОÑновни нагодувања на веб-Ñтраницата"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Веб-Ñтраница"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Конфигурација на изгледот"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Изглед"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Конфигурација на кориÑник"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "КориÑник"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Конфигурација на приÑтапот"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Конфигурација на патеки"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Конфигурација на ÑеÑиите"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Уреди објава за веб-Ñтраницата"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "ПоÑтавки за Ñнимки"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API-реÑурÑот бара да може и да чита и да запишува, а вие можете Ñамо да "
"читате."
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, 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"
@@ -4937,11 +5144,11 @@ msgstr "Забелешки кадешто Ñе јавува овој прилоÐ
msgid "Tags for this attachment"
msgstr "Ознаки за овој прилог"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Менувањето на лозинката не уÑпеа"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Менувањето на лозинка не е дозволено"
@@ -5028,12 +5235,12 @@ msgstr "%s ја напушти групата %s"
msgid "Fullname: %s"
msgstr "Име и презиме: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Локација: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Домашна Ñтраница: %s"
@@ -5143,9 +5350,9 @@ msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr "Оваа врÑка може да Ñе употреби Ñамо еднаш, и трае Ñамо 2 минути: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "Претплатата на %s е откажана"
+msgstr "Откажана претплата на %s"
#: lib/command.php:709
msgid "You are not subscribed to anyone."
@@ -5178,7 +5385,6 @@ msgstr[0] "Ðе ни го иÑпративте тој профил."
msgstr[1] "Ðе ни го иÑпративте тој профил."
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5257,19 +5463,19 @@ msgstr ""
"tracks - Ñè уште не е имплементирано.\n"
"tracking - Ñè уште не е имплементирано.\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Ðема пронајдено конфигурациÑка податотека. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Побарав конфигурациони податотеки на Ñледниве меÑта: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "Препорачуваме да го пуштите инÑталатерот за да го поправите ова."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Оди на инÑталаторот."
@@ -5368,6 +5574,11 @@ msgstr "Одберете ознака за да ја уточните лиÑта
msgid "Go"
msgstr "Оди"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Додели улога „%s“ на кориÑников"
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL на Ñтраницата или блогот на групата или темата"
@@ -5459,23 +5670,23 @@ msgstr "СиÑтемÑка грешка при подигањето на подÐ
msgid "Not an image or corrupt file."
msgstr "Ðе е Ñлика или податотеката е пореметена."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Ðеподдржан фомрат на Ñлики."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Податотеката е изгубена."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Ðепознат тип на податотека"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "МБ"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "кб"
@@ -5505,11 +5716,11 @@ msgstr "Ðајава Ñо кориÑничко име и лозинка"
msgid "Sign up for a new account"
msgstr "Создај нова Ñметка"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Потврдување на адреÑата"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5539,12 +5750,12 @@ msgstr ""
"Ви благодариме за потрошеното време, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s Ñега ги Ñледи Вашите забелешки на %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5570,17 +5781,17 @@ msgstr ""
"Изменете Ñи ја е-поштенÑката адреÑа или ги нагодувањата за извеÑтувања на %8"
"$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Биографија: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Ðова е-поштенÑка адреÑа за објавување на %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5601,21 +5812,21 @@ msgstr ""
"Со иÑкрена почит,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð½Ð° %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Потврда за СМС"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s Ве подбуцна"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5642,12 +5853,12 @@ msgstr ""
"Со почит,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Ðова приватна порака од %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5680,12 +5891,12 @@ msgstr ""
"Со почит,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) додаде Ваша забелешка како омилена"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5723,12 +5934,12 @@ msgstr ""
"Со иÑкрена почит,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) Ви иÑпрати забелешка што Ñака да ја прочитате"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5862,6 +6073,11 @@ msgstr "За"
msgid "Available characters"
msgstr "РаÑположиви знаци"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "ИÑпрати"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "ИÑпрати забелешка"
@@ -5920,23 +6136,23 @@ msgstr "З"
msgid "at"
msgstr "во"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "во контекÑÑ‚"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Повторено од"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Одговори на забелешкава"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Одговор"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Забелешката е повторена"
@@ -6009,7 +6225,7 @@ msgstr "Ознаки во забелешките на %s"
msgid "Unknown"
msgstr "Ðепознато"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Претплати"
@@ -6017,23 +6233,23 @@ msgstr "Претплати"
msgid "All subscriptions"
msgstr "Сите претплати"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Претплатници"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Сите претплатници"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "КориÑнички ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Член од"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Сите групи"
@@ -6073,7 +6289,12 @@ msgstr "Да ја повторам белешкава?"
msgid "Repeat this notice"
msgstr "Повтори ја забелешкава"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Одземи му ја улогата „%s“ на кориÑников"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Ðе е зададен кориÑник за еднокориÑничкиот режим."
@@ -6093,6 +6314,10 @@ msgstr "Пребарај по веб-Ñтраницата"
msgid "Keyword(s)"
msgstr "Клучен збор"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Барај"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Помош Ñо пребарување"
@@ -6144,6 +6369,15 @@ msgstr "Луѓе претплатени на %s"
msgid "Groups %s is a member of"
msgstr "Групи кадешто членува %s"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Покани"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Поканете пријатели и колеги да Ви Ñе придружат на %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6214,47 +6448,61 @@ msgstr "Порака"
msgid "Moderate"
msgstr "Модерирај"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "КориÑничка улога"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "ÐдминиÑтратор"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Модератор"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "пред неколку Ñекунди"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "пред една минута"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "пред %d минути"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "пред еден чаÑ"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "пред %d чаÑа"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "пред еден ден"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "пред %d денови"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "пред еден меÑец"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "пред %d меÑеца"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "пред една година"
diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po
index cf3daf093..b687e445e 100644
--- a/locale/nb/LC_MESSAGES/statusnet.po
+++ b/locale/nb/LC_MESSAGES/statusnet.po
@@ -1,5 +1,6 @@
# Translation of StatusNet to Norwegian (bokmål)‬
#
+# Author@translatewiki.net: Laaknor
# Author@translatewiki.net: Nghtwlkr
# --
# This file is distributed under the same license as the StatusNet package.
@@ -8,75 +9,81 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:22+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-08 21:11:29+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.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63415); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Tilgang"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Innstillinger for nettstedstilgang"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registrering"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privat"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Forhindre anonyme brukere (ikke innlogget) å se nettsted?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Kun invitasjon"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privat"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Gjør at registrering kun kan skje gjennom invitasjon."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Lukket"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Kun invitasjon"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
msgstr "Deaktiver nye registreringer."
-#: 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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Lukket"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Lagre tilgangsinnstillinger"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Lagre"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Ingen slik side"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -90,51 +97,59 @@ msgstr "Ingen slik side"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Ingen slik bruker"
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s og venner, side %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s og venner"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Mating for venner av %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Mating for venner av %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Mating for venner av %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "Dette er tidslinjen for %s og venner, men ingen har postet noe enda."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -143,7 +158,8 @@ msgstr ""
"Prøv å abbonere på flere personer, [bli med i en gruppe](%%action.groups%%) "
"eller post noe selv."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -153,7 +169,7 @@ msgstr ""
"å få hans eller hennes oppmerksomhet](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -162,7 +178,8 @@ msgstr ""
"Hvorfor ikke [opprette en konto](%%%%action.register%%%%) og så knuff %s "
"eller post en notis for å få hans eller hennes oppmerksomhet."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Du og venner"
@@ -180,20 +197,20 @@ msgstr "Oppdateringer fra %1$s og venner på %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "API-metode ikke funnet!"
@@ -227,8 +244,9 @@ msgstr "Klarte ikke å oppdatere bruker."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Brukeren har ingen profil."
@@ -255,7 +273,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -366,68 +384,68 @@ msgstr "Kunne ikke bestemme kildebruker."
msgid "Could not find target user."
msgstr "Kunne ikke finne målbruker."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Kallenavn kan kun ha små bokstaver og tall og ingen mellomrom."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Det nicket er allerede i bruk. Prøv et annet."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ugyldig nick."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Hjemmesiden er ikke en gyldig URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Beklager, navnet er for langt (max 250 tegn)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
-msgstr ""
+msgstr "Plassering er for lang (maks 255 tegn)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "For mange alias! Maksimum %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ugyldig alias: «%s»"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Aliaset «%s» er allerede i bruk. Prøv et annet."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias kan ikke være det samme som kallenavn."
@@ -438,15 +456,15 @@ msgstr "Alias kan ikke være det samme som kallenavn."
msgid "Group not found!"
msgstr "Gruppe ikke funnet!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Du er allerede medlem av den gruppen."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Du har blitt blokkert fra den gruppen av administratoren."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Kunne ikke legge bruker %1$s til gruppe %2$s."
@@ -455,7 +473,7 @@ msgstr "Kunne ikke legge bruker %1$s til gruppe %2$s."
msgid "You are not a member of this group."
msgstr "Du er ikke et medlem av denne gruppen."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Kunne ikke fjerne bruker %1$s fra gruppe %2$s."
@@ -480,14 +498,13 @@ msgid "No oauth_token parameter provided."
msgstr "Ingen verdi for oauth_token er oppgitt."
#: actions/apioauthauthorize.php:106
-#, fuzzy
msgid "Invalid token."
-msgstr "Ugyldig størrelse"
+msgstr "Ugyldig symbol."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -500,7 +517,7 @@ msgstr "Ugyldig størrelse"
#: actions/unsubscribe.php:69 actions/userauthorization.php:52
#: lib/designsettings.php:294
msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "Det var et problem med din sesjons-autentisering. Prøv igjen."
#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
@@ -508,11 +525,11 @@ msgstr "Ugyldig kallenavn / passord!"
#: actions/apioauthauthorize.php:159
msgid "Database error deleting OAuth application user."
-msgstr ""
+msgstr "Databasefeil ved sletting av bruker fra programmet OAuth."
#: actions/apioauthauthorize.php:185
msgid "Database error inserting OAuth application user."
-msgstr ""
+msgstr "Databasefeil ved innsetting av bruker i programmet OAuth."
#: actions/apioauthauthorize.php:214
#, php-format
@@ -528,16 +545,16 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
msgid "Unexpected form submission."
-msgstr ""
+msgstr "Uventet skjemainnsending."
#: actions/apioauthauthorize.php:259
msgid "An application would like to connect to your account"
-msgstr ""
+msgstr "Et program ønsker å koble til kontoen din"
#: actions/apioauthauthorize.php:276
msgid "Allow or deny access"
@@ -550,14 +567,17 @@ msgid ""
"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
"give access to your %4$s account to third parties you trust."
msgstr ""
+"Programmet <strong>%1$s</strong> av <strong>%2$s</strong> ønsker å kunne "
+"<strong>%3$s</strong> dine %4$s-kontodata. Du bør bare gi tilgang til din %4"
+"$s-konto til tredjeparter du stoler på."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Konto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -582,7 +602,7 @@ msgstr "Tillat eller nekt tilgang til din kontoinformasjon."
#: actions/apistatusesdestroy.php:107
msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "Denne metoden krever en POST eller DELETE."
#: actions/apistatusesdestroy.php:130
msgid "You may not delete another user's status."
@@ -613,7 +633,7 @@ msgstr "Ingen status med den ID-en funnet."
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
-msgstr ""
+msgstr "Det er for langt. Maks notisstørrelse er %d tegn."
#: actions/apistatusesupdate.php:202
msgid "Not found"
@@ -622,7 +642,7 @@ msgstr "Ikke funnet"
#: actions/apistatusesupdate.php:225 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
-msgstr ""
+msgstr "Maks notisstørrelse er %d tegn, inklusive vedleggs-URL."
#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261
msgid "Unsupported format."
@@ -638,18 +658,6 @@ msgstr "%1$s / Favoritter fra %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s oppdateringer markert som favoritt av %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s tidslinje"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Oppdateringar fra %1$s på %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -660,12 +668,12 @@ msgstr "%1$s / Oppdateringer som nevner %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s oppdateringer som svarer på oppdateringer fra %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s offentlig tidslinje"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s oppdateringer fra alle sammen!"
@@ -680,12 +688,12 @@ msgstr "Gjentatt til %s"
msgid "Repeats of %s"
msgstr "Repetisjoner av %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Notiser merket med %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Oppdateringer merket med %1$s på %2$s!"
@@ -701,8 +709,7 @@ msgstr "Ingen slike vedlegg."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ingen kallenavn."
@@ -714,7 +721,7 @@ msgstr "Ingen størrelse."
msgid "Invalid size."
msgstr "Ugyldig størrelse"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Brukerbilde"
@@ -722,49 +729,49 @@ msgstr "Brukerbilde"
#: actions/avatarsettings.php:78
#, php-format
msgid "You can upload your personal avatar. The maximum file size is %s."
-msgstr ""
+msgstr "Du kan laste opp en personlig avatar. Maks filstørrelse er %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
-msgstr ""
+msgstr "Bruker uten samsvarende profil"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Avatarinnstillinger"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Forhåndsvis"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Slett"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Last opp"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Beskjær"
#: actions/avatarsettings.php:328
msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Velg et kvadratisk utsnitt av bildet som din avatar."
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
-msgstr ""
+msgstr "Mistet våre fildata."
#: actions/avatarsettings.php:366
msgid "Avatar updated."
@@ -792,66 +799,73 @@ msgid ""
"unsubscribed from you, unable to subscribe to you in the future, and you "
"will not be notified of any @-replies from them."
msgstr ""
+"Er du sikker på at du vil blokkere denne brukeren? Etter dette vil de ikke "
+"lenger abbonere på deg, vil ikke kunne abbonere på deg i fremtiden og du vil "
+"ikke bli varslet om @-svar fra dem."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nei"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Ikke blokker denne brukeren"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Blokker denne brukeren"
#: actions/block.php:167
msgid "Failed to save block information."
-msgstr ""
-
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+msgstr "Kunne ikke lagre blokkeringsinformasjon."
+
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Ingen slik gruppe."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s blokkerte profiler"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s blokkerte profiler, side %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
-msgstr ""
+msgstr "En liste over brukere som er blokkert fra å delta i denne gruppen."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
-msgstr ""
+msgstr "Opphev blokkering av bruker fra gruppe"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
-msgstr ""
+msgstr "Opphev blokkering"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
-msgstr ""
+msgstr "Opphev blokkering av denne brukeren"
#: actions/bookmarklet.php:50
msgid "Post to "
@@ -867,12 +881,12 @@ msgstr "Fant ikke bekreftelseskode."
#: actions/confirmaddress.php:85
msgid "That confirmation code is not for you!"
-msgstr ""
+msgstr "Den bekreftelseskoden er ikke til deg."
#: actions/confirmaddress.php:90
#, php-format
msgid "Unrecognized address type %s"
-msgstr ""
+msgstr "Ukjent adressetype %s"
#: actions/confirmaddress.php:94
msgid "That address has already been confirmed."
@@ -905,9 +919,9 @@ msgid "Conversation"
msgstr "Samtale"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
-msgstr ""
+msgstr "Notiser"
#: actions/deleteapplication.php:63
msgid "You must be logged in to delete an application."
@@ -924,7 +938,7 @@ msgstr "Du er ikke eieren av dette programmet."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -950,12 +964,13 @@ msgstr "Ikke slett dette programmet"
msgid "Delete this application"
msgstr "Slett dette programmet"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ikke logget inn."
@@ -984,7 +999,7 @@ msgstr "Er du sikker på at du vil slette denne notisen?"
msgid "Do not delete this notice"
msgstr "Ikke slett denne notisen"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Slett denne notisen"
@@ -1000,7 +1015,7 @@ msgstr "Du kan bare slette lokale brukere."
msgid "Delete user"
msgstr "Slett bruker"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1008,12 +1023,12 @@ msgstr ""
"Er du sikker på at du vil slette denne brukeren? Dette vil slette alle data "
"om brukeren fra databasen, uten sikkerhetskopi."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Slett denne brukeren"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1028,7 +1043,7 @@ msgstr "Ugyldig logo-URL."
#: actions/designadminpanel.php:279
#, php-format
msgid "Theme not available: %s"
-msgstr ""
+msgstr "Tema ikke tilgjengelig: %s"
#: actions/designadminpanel.php:375
msgid "Change logo"
@@ -1039,18 +1054,16 @@ msgid "Site logo"
msgstr "Nettstedslogo"
#: actions/designadminpanel.php:387
-#, fuzzy
msgid "Change theme"
-msgstr "Endre"
+msgstr "Endre tema"
#: actions/designadminpanel.php:404
-#, fuzzy
msgid "Site theme"
-msgstr "Endre"
+msgstr "Nettstedstema"
#: actions/designadminpanel.php:405
msgid "Theme for the site."
-msgstr ""
+msgstr "Tema for nettstedet."
#: actions/designadminpanel.php:417 lib/designsettings.php:101
msgid "Change background image"
@@ -1067,6 +1080,7 @@ msgid ""
"You can upload a background image for the site. The maximum file size is %1"
"$s."
msgstr ""
+"Du kan laste opp et bakgrunnsbilde for nettstedet. Maks filstørrelse er %1$s."
#: actions/designadminpanel.php:457 lib/designsettings.php:139
msgid "On"
@@ -1078,11 +1092,11 @@ msgstr "Av"
#: actions/designadminpanel.php:474 lib/designsettings.php:156
msgid "Turn background image on or off."
-msgstr ""
+msgstr "Slå på eller av bakgrunnsbilde."
#: actions/designadminpanel.php:479 lib/designsettings.php:161
msgid "Tile background image"
-msgstr ""
+msgstr "Gjenta bakgrunnsbildet"
#: actions/designadminpanel.php:488 lib/designsettings.php:170
msgid "Change colours"
@@ -1115,7 +1129,19 @@ msgstr ""
#: actions/designadminpanel.php:584 lib/designsettings.php:254
msgid "Reset back to default"
-msgstr ""
+msgstr "Tilbakestill til standardverdier"
+
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Lagre"
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
@@ -1185,7 +1211,7 @@ msgstr "Organisasjon er for lang (maks 255 tegn)."
#: actions/editapplication.php:209 actions/newapplication.php:194
msgid "Organization homepage is required."
-msgstr ""
+msgstr "Hjemmeside for organisasjon kreves."
#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
@@ -1196,45 +1222,43 @@ msgid "Callback URL is not valid."
msgstr ""
#: actions/editapplication.php:258
-#, fuzzy
msgid "Could not update application."
-msgstr "Klarte ikke å oppdatere bruker."
+msgstr "Kunne ikke oppdatere programmet."
#: actions/editgroup.php:56
#, php-format
msgid "Edit %s group"
-msgstr ""
+msgstr "Rediger %s gruppe"
#: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
msgid "You must be logged in to create a group."
msgstr "Du må være innlogget for å opprette en gruppe."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
-msgstr "Gjør brukeren til en administrator for gruppen"
+msgstr "Du må være en administrator for å redigere gruppen."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Bruk dette skjemaet for å redigere gruppen."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "beskrivelse er for lang (maks %d tegn)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Kunne ikke oppdatere gruppe."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Kunne ikke opprette alias."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
-msgstr ""
+msgstr "Lagret valg."
#: actions/emailsettings.php:60
msgid "Email settings"
@@ -1243,7 +1267,7 @@ msgstr "E-postinnstillinger"
#: actions/emailsettings.php:71
#, php-format
msgid "Manage how you get email from %%site.name%%."
-msgstr ""
+msgstr "Velg hvordan du mottar e-post fra %%site.name%%."
#: actions/emailsettings.php:100 actions/imsettings.php:100
#: actions/smssettings.php:104
@@ -1293,11 +1317,11 @@ msgstr "innkommende e-post"
#: actions/emailsettings.php:138 actions/smssettings.php:157
msgid "Send email to this address to post new notices."
-msgstr ""
+msgstr "Send e-post til denne adressen for å poste nye notiser."
#: actions/emailsettings.php:145 actions/smssettings.php:162
msgid "Make a new email address for posting to; cancels the old one."
-msgstr ""
+msgstr "Angi en ny e-postadresse for å poste til; fjerner den gamle."
#: actions/emailsettings.php:148 actions/smssettings.php:164
msgid "New"
@@ -1306,7 +1330,7 @@ msgstr "Ny"
#: actions/emailsettings.php:153 actions/imsettings.php:139
#: actions/smssettings.php:169
msgid "Preferences"
-msgstr ""
+msgstr "Innstillinger"
#: actions/emailsettings.php:158
msgid "Send me notices of new subscriptions through email."
@@ -1314,15 +1338,15 @@ msgstr ""
#: actions/emailsettings.php:163
msgid "Send me email when someone adds my notice as a favorite."
-msgstr ""
+msgstr "Send meg en e-post når noen legger min notis til som favoritt."
#: actions/emailsettings.php:169
msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "Send meg en e-post når noen sender meg en privat melding."
#: actions/emailsettings.php:174
msgid "Send me email when someone sends me an \"@-reply\"."
-msgstr ""
+msgstr "Send meg en e-post når noen sender meg et «@-svar»."
#: actions/emailsettings.php:179
msgid "Allow friends to nudge me and send me an email."
@@ -1330,7 +1354,7 @@ msgstr ""
#: actions/emailsettings.php:185
msgid "I want to post notices by email."
-msgstr ""
+msgstr "Jeg vil poste notiser med e-post."
#: actions/emailsettings.php:191
msgid "Publish a MicroID for my email address."
@@ -1339,7 +1363,7 @@ msgstr "Publiser en MicroID for min e-postadresse."
#: actions/emailsettings.php:302 actions/imsettings.php:264
#: actions/othersettings.php:180 actions/smssettings.php:284
msgid "Preferences saved."
-msgstr ""
+msgstr "Innstillinger lagret."
#: actions/emailsettings.php:320
msgid "No email address."
@@ -1350,7 +1374,7 @@ msgid "Cannot normalize that email address"
msgstr "Klarer ikke normalisere epostadressen"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ugyldig e-postadresse."
@@ -1360,12 +1384,12 @@ msgstr "Det er allerede din e-postadresse."
#: actions/emailsettings.php:337
msgid "That email address already belongs to another user."
-msgstr ""
+msgstr "Den e-postadressen tilhører allerede en annen bruker."
#: actions/emailsettings.php:353 actions/imsettings.php:319
#: actions/smssettings.php:337
msgid "Couldn't insert confirmation code."
-msgstr ""
+msgstr "Kunne ikke sette inn bekreftelseskode."
#: actions/emailsettings.php:359
msgid ""
@@ -1400,7 +1424,7 @@ msgstr "Adressen ble fjernet."
#: actions/emailsettings.php:446 actions/smssettings.php:518
msgid "No incoming email address."
-msgstr ""
+msgstr "Ingen innkommende e-postadresse."
#: actions/emailsettings.php:456 actions/emailsettings.php:478
#: actions/smssettings.php:528 actions/smssettings.php:552
@@ -1413,15 +1437,15 @@ msgstr ""
#: actions/emailsettings.php:481 actions/smssettings.php:555
msgid "New incoming email address added."
-msgstr ""
+msgstr "Ny innkommende e-postadresse lagt til."
#: actions/favor.php:79
msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "Denne notisen er allerede en favoritt."
#: actions/favor.php:92 lib/disfavorform.php:140
msgid "Disfavor favorite"
-msgstr ""
+msgstr "Fjern favoritt"
#: actions/favorited.php:65 lib/popularnoticesection.php:91
#: lib/publicgroupnav.php:93
@@ -1481,22 +1505,20 @@ msgid "A selection of some great users on %s"
msgstr ""
#: actions/file.php:34
-#, fuzzy
msgid "No notice ID."
-msgstr "Nytt nick"
+msgstr "Ingen notis-ID."
#: actions/file.php:38
-#, fuzzy
msgid "No notice."
-msgstr "Nytt nick"
+msgstr "Ingen notis."
#: actions/file.php:42
msgid "No attachments."
-msgstr ""
+msgstr "Ingen vedlegg."
#: actions/file.php:51
msgid "No uploaded attachments."
-msgstr ""
+msgstr "Ingen opplastede vedlegg."
#: actions/finishremotesubscribe.php:69
msgid "Not expecting this response!"
@@ -1515,9 +1537,8 @@ msgid "That user has blocked you from subscribing."
msgstr ""
#: actions/finishremotesubscribe.php:110
-#, fuzzy
msgid "You are not authorized."
-msgstr "Ikke autorisert."
+msgstr "Du er ikke autorisert."
#: actions/finishremotesubscribe.php:113
msgid "Could not convert request token to access token."
@@ -1539,22 +1560,38 @@ msgstr "Ingen slik fil."
msgid "Cannot read file."
msgstr "Kan ikke lese fil."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Ugyldig rolle."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Denne rollen er reservert og kan ikke stilles inn."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Du kan ikke tildele brukerroller på dette nettstedet."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "Bruker har allerede denne rollen."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
msgid "No profile specified."
-msgstr ""
+msgstr "Ingen profil oppgitt."
#: actions/groupblock.php:76 actions/groupunblock.php:76
#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46
#: actions/unsubscribe.php:84 lib/profileformaction.php:77
msgid "No profile with that ID."
-msgstr ""
+msgstr "Ingen profil med den ID'en."
#: actions/groupblock.php:81 actions/groupunblock.php:81
#: actions/makeadmin.php:81
msgid "No group specified."
-msgstr ""
+msgstr "Ingen gruppe oppgitt."
#: actions/groupblock.php:91
msgid "Only an admin can block group members."
@@ -1567,11 +1604,11 @@ msgstr "Du er allerede logget inn!"
#: actions/groupblock.php:100
msgid "User is not a member of group."
-msgstr ""
+msgstr "Bruker er ikke et medlem av gruppa."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
-msgstr ""
+msgstr "Blokker bruker fra gruppe"
#: actions/groupblock.php:162
#, php-format
@@ -1583,7 +1620,7 @@ msgstr ""
#: actions/groupblock.php:178
msgid "Do not block this user from this group"
-msgstr ""
+msgstr "Ikke blokker denne brukeren fra denne gruppa"
#: actions/groupblock.php:179
msgid "Block this user from this group"
@@ -1601,93 +1638,99 @@ msgstr "Ingen ID."
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Klarte ikke å oppdatere bruker."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr ""
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Gruppelogo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Brukeren har ingen profil."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo oppdatert."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
-msgstr ""
+msgstr "Kunne ikke oppdatere logo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s gruppemedlemmer"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
-msgstr ""
+msgstr "%1$s gruppemedlemmer, side %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "En liste over brukerne i denne gruppen."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administrator"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blokkér"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Gjør brukeren til en administrator for gruppen"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Gjør til administrator"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Gjør denne brukeren til administrator"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s tidslinje"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Oppdateringer fra medlemmer av %1$s på %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupper"
@@ -1695,7 +1738,7 @@ msgstr "Grupper"
#: actions/groups.php:64
#, php-format
msgid "Groups, page %d"
-msgstr ""
+msgstr "Grupper, side %d"
#: actions/groups.php:90
#, php-format
@@ -1751,7 +1794,7 @@ msgstr ""
#: actions/groupunblock.php:128 actions/unblock.php:86
msgid "Error removing the block."
-msgstr ""
+msgstr "Feil under oppheving av blokkering."
#: actions/imsettings.php:59
#, fuzzy
@@ -1895,7 +1938,7 @@ msgstr ""
#: actions/invite.php:144
msgid "Invitation(s) sent to the following people:"
-msgstr ""
+msgstr "Invitasjon(er) sendt til følgende personer:"
#: actions/invite.php:150
msgid ""
@@ -1924,16 +1967,18 @@ msgstr "Personlig melding"
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Send"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s har invitert deg til %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1989,7 +2034,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du må være innlogget for å bli med i en gruppe."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "ngen kallenavn eller ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1998,11 +2047,11 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr ""
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s forlot gruppe %2$s"
@@ -2020,8 +2069,7 @@ msgstr "Feil brukernavn eller passord"
msgid "Error setting user. You are probably not authorized."
msgstr "Ikke autorisert."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Logg inn"
@@ -2102,28 +2150,28 @@ msgstr "Klarte ikke å lagre avatar-informasjonen"
#: actions/newgroup.php:53
msgid "New group"
-msgstr ""
+msgstr "Ny gruppe"
#: actions/newgroup.php:110
msgid "Use this form to create a new group."
-msgstr ""
+msgstr "Bruk dette skjemaet for å opprette en ny gruppe."
#: actions/newmessage.php:71 actions/newmessage.php:231
msgid "New message"
-msgstr ""
+msgstr "Ny melding"
#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:358
msgid "You can't send a message to this user."
-msgstr ""
+msgstr "Du kan ikke sende en melding til denne brukeren."
#: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:342
#: lib/command.php:475
msgid "No content!"
-msgstr ""
+msgstr "Inget innhold."
#: actions/newmessage.php:158
msgid "No recipient specified."
-msgstr ""
+msgstr "Ingen mottaker oppgitt."
#: actions/newmessage.php:164 lib/command.php:361
msgid ""
@@ -2132,7 +2180,7 @@ msgstr ""
#: actions/newmessage.php:181
msgid "Message sent"
-msgstr ""
+msgstr "Melding sendt"
#: actions/newmessage.php:185
#, fuzzy, php-format
@@ -2141,15 +2189,15 @@ msgstr "Direktemeldinger til %s"
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
-msgstr ""
+msgstr "Ajax-feil"
#: actions/newnotice.php:69
msgid "New notice"
-msgstr ""
+msgstr "Ny notis"
#: actions/newnotice.php:211
msgid "Notice posted"
-msgstr ""
+msgstr "Notis postet"
#: actions/noticesearch.php:68
#, php-format
@@ -2264,8 +2312,8 @@ msgstr "innholdstype "
msgid "Only "
msgstr "Bare "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2287,7 +2335,7 @@ msgstr ""
#: actions/othersettings.php:108
msgid " (free service)"
-msgstr ""
+msgstr " (gratis tjeneste)"
#: actions/othersettings.php:116
msgid "Shorten URLs with"
@@ -2408,7 +2456,8 @@ msgstr "Klarer ikke å lagre nytt passord."
msgid "Password saved."
msgstr "Passordet ble lagret"
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2441,7 +2490,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2533,7 +2581,7 @@ msgstr ""
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Aldri"
@@ -2587,11 +2635,11 @@ msgstr "Ugyldig e-postadresse"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Mikroblogg av %s"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr ""
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2614,7 +2662,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 små bokstaver eller nummer, ingen punktum eller mellomrom"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullt navn"
@@ -2643,7 +2691,7 @@ msgid "Bio"
msgstr "Om meg"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2668,7 +2716,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Språk"
@@ -2695,7 +2743,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "«Om meg» er for lang (maks %d tegn)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Tidssone ikke valgt."
@@ -2726,7 +2774,8 @@ msgstr "Klarte ikke å lagre profil."
msgid "Couldn't save tags."
msgstr "Klarte ikke å lagre profil."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr ""
@@ -2739,46 +2788,46 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr ""
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "%s offentlig strøm"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2787,7 +2836,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2958,8 +3007,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -2999,7 +3047,7 @@ msgid "Same as password above. Required."
msgstr "Samme som passord over. Kreves."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-post"
@@ -3101,7 +3149,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr ""
@@ -3139,7 +3187,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "Du er allerede logget inn!"
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Gjentatt"
@@ -3147,47 +3195,47 @@ msgstr "Gjentatt"
msgid "Repeated!"
msgstr "Gjentatt!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Svar til %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Svar til %1$s, side %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Svarstrøm for %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Svarstrøm for %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Svarstrøm for %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, fuzzy, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr "Dette er tidslinjen for %s og venner, men ingen har postet noe enda."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, fuzzy, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3202,6 +3250,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Svar til %1$s på %2$s!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Du er allerede logget inn!"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Brukeren har ingen profil."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3216,8 +3274,9 @@ msgstr "Du er allerede logget inn!"
msgid "User is already sandboxed."
msgstr "Du er allerede logget inn!"
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3241,8 +3300,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Innstillinger for IM"
@@ -3273,8 +3332,8 @@ msgstr "Organisasjon"
msgid "Description"
msgstr "Beskrivelse"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistikk"
@@ -3335,35 +3394,35 @@ msgstr "%s og venner"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Feed for %s sine venner"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Feed for %s sine venner"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Feed for %s sine venner"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3371,7 +3430,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3385,70 +3444,70 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "Alle abonnementer"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "Klarte ikke å lagre profil."
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr ""
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "Klarte ikke å lagre profil."
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "Medlem siden"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "Opprett"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3458,7 +3517,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3467,7 +3526,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3581,146 +3640,135 @@ msgid "User is already silenced."
msgstr "Du er allerede logget inn!"
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Ugyldig e-postadresse"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr ""
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr ""
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr ""
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr ""
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
+msgstr "Foretrukket språk"
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Notiser"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
msgstr ""
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Kunne ikke lagre dine innstillinger for utseende."
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Slett notis"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Innstillinger for IM"
#: actions/smssettings.php:58
#, fuzzy
@@ -3819,6 +3867,65 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Innstillinger for IM"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3926,22 +4033,22 @@ msgstr "Ingen Jabber ID."
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Mikroblogg av %s"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr ""
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Feed for taggen %s"
@@ -3994,7 +4101,7 @@ msgstr ""
msgid "No such tag."
msgstr ""
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API-metode under utvikling."
@@ -4019,81 +4126,82 @@ msgstr ""
msgid "Unsubscribed"
msgstr ""
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "slett"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Alle abonnementer"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, 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:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Bekreftelseskode"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4215,16 +4323,22 @@ msgstr "Alle abonnementer"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "Du er allerede logget inn!"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Oppdateringar fra %1$s på %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4268,7 +4382,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Personlig"
@@ -4309,6 +4423,11 @@ msgstr "Klarte ikke å oppdatere bruker."
msgid "Group leave failed."
msgstr "Klarte ikke å lagre profil."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Kunne ikke oppdatere gruppe."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4326,43 +4445,43 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr ""
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr ""
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4389,25 +4508,40 @@ msgstr "Alle abonnementer"
msgid "Couldn't delete self-subscription."
msgstr "Klarte ikke å lagre avatar-informasjonen"
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Klarte ikke å lagre avatar-informasjonen"
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr ""
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "Klarte ikke å lagre avatar-informasjonen"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Klarte ikke å lagre avatar-informasjonen"
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "Klarte ikke å lagre avatar-informasjonen"
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Klarte ikke å lagre avatar-informasjonen"
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Endre profilinnstillingene dine"
@@ -4446,126 +4580,174 @@ msgstr "%1$s sin status på %2$s"
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "Hjem"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personlig"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "Endre passordet ditt"
-#: lib/action.php:444
-msgid "Connect"
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Connect to services"
msgstr "Koble til"
-#: lib/action.php:444
-msgid "Connect to services"
-msgstr ""
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Koble til"
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr ""
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr ""
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrator"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Logg ut"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Inviter"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
-msgstr ""
+msgstr "Logg ut fra nettstedet"
-#: lib/action.php:463
-#, fuzzy
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Logg ut"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
-msgstr "Opprett en ny konto"
+msgstr "Opprett en konto"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrer"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
-msgstr ""
+msgstr "Log inn på nettstedet"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Hjelp"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Logg inn"
-#: lib/action.php:469
-#, fuzzy
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
+msgstr "Hjelp meg."
+
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
msgstr "Hjelp"
-#: lib/action.php:472 lib/searchaction.php:127
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr "Søk etter personer eller tekst"
+
+#: lib/action.php:491
+msgctxt "MENU"
msgid "Search"
msgstr "Søk"
-#: lib/action.php:472
-msgid "Search for people or text"
-msgstr ""
-
-#: lib/action.php:493
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr ""
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr ""
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Hjelp"
+
+#: lib/action.php:754
msgid "About"
msgstr "Om"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "OSS/FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr ""
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Kilde"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4574,12 +4756,12 @@ msgstr ""
"**%%site.name%%** er en mikrobloggingtjeneste av [%%site.broughtby%%](%%site."
"broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** er en mikrobloggingtjeneste. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4587,106 +4769,146 @@ msgid ""
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr ""
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
-msgstr ""
+msgstr "Alle "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
-msgstr ""
+msgstr "lisens."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
-msgstr ""
+msgstr "Etter"
-#: lib/action.php:1149
-#, fuzzy
+#: lib/action.php:1169
msgid "Before"
-msgstr "Tidligere »"
+msgstr "Før"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
-msgstr ""
+msgstr "Du kan ikke gjøre endringer på dette nettstedet."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr ""
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Nettstedslogo"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr ""
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Personlig"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr ""
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr ""
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr ""
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr ""
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Slett notis"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr ""
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4782,12 +5004,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Passordet ble lagret"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Passordet ble lagret"
@@ -4873,12 +5095,12 @@ msgstr "%1$s sin status på %2$s"
msgid "Fullname: %s"
msgstr "Fullt navn"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -5067,20 +5289,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Fant ikke bekreftelseskode."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5181,6 +5403,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5208,31 +5435,30 @@ msgstr ""
#: lib/groupnav.php:85
msgid "Group"
-msgstr ""
+msgstr "Gruppe"
#: lib/groupnav.php:101
msgid "Blocked"
-msgstr ""
+msgstr "Blokkert"
#: lib/groupnav.php:102
#, php-format
msgid "%s blocked users"
-msgstr ""
+msgstr "%s blokkerte brukere"
#: lib/groupnav.php:108
#, php-format
msgid "Edit %s group properties"
-msgstr ""
+msgstr "Rediger %s gruppeegenskaper"
#: lib/groupnav.php:113
-#, fuzzy
msgid "Logo"
-msgstr "Logg ut"
+msgstr "Logo"
#: lib/groupnav.php:114
#, php-format
msgid "Add or edit %s logo"
-msgstr ""
+msgstr "Legg til eller rediger %s logo"
#: lib/groupnav.php:120
#, php-format
@@ -5241,11 +5467,11 @@ msgstr ""
#: lib/groupsbymemberssection.php:71
msgid "Groups with most members"
-msgstr ""
+msgstr "Grupper med flest medlemmer"
#: lib/groupsbypostssection.php:71
msgid "Groups with most posts"
-msgstr ""
+msgstr "Grupper med flest innlegg"
#: lib/grouptagcloudsection.php:56
#, php-format
@@ -5254,81 +5480,76 @@ msgstr ""
#: lib/htmloutputter.php:103
msgid "This page is not available in a media type you accept"
-msgstr ""
+msgstr "Denne siden er ikke tilgjengelig i en mediatype du aksepterer"
#: lib/imagefile.php:75
#, php-format
msgid "That file is too big. The maximum file size is %s."
-msgstr ""
+msgstr "Filen er for stor. Maks filstørrelse er %s."
#: lib/imagefile.php:80
msgid "Partial upload."
-msgstr ""
+msgstr "Delvis opplasting."
#: lib/imagefile.php:88 lib/mediafile.php:170
msgid "System error uploading file."
-msgstr ""
+msgstr "Systemfeil ved opplasting av fil."
#: lib/imagefile.php:96
msgid "Not an image or corrupt file."
-msgstr ""
+msgstr "Ikke et bilde eller en korrupt fil."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
-msgstr ""
+msgstr "Bildefilformatet støttes ikke."
-#: lib/imagefile.php:118
-#, fuzzy
+#: lib/imagefile.php:122
msgid "Lost our file."
-msgstr "Klarte ikke å lagre profil."
+msgstr "Mistet filen vår."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
-msgstr ""
+msgstr "Ukjent filtype"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
-msgstr ""
+msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
-msgstr ""
+msgstr "kB"
#: lib/jabber.php:220
#, php-format
msgid "[%s]"
-msgstr ""
+msgstr "[%s]"
#: lib/jabber.php:400
#, php-format
msgid "Unknown inbox source %d."
-msgstr ""
+msgstr "Ukjent innbokskilde %d."
#: lib/joinform.php:114
-#, fuzzy
msgid "Join"
-msgstr "Logg inn"
+msgstr "Bli med"
#: lib/leaveform.php:114
-#, fuzzy
msgid "Leave"
-msgstr "Lagre"
+msgstr "Forlat"
#: lib/logingroupnav.php:80
-#, fuzzy
msgid "Login with a username and password"
-msgstr "Ugyldig brukernavn eller passord"
+msgstr "Logg inn med brukernavn og passord"
#: lib/logingroupnav.php:86
-#, fuzzy
msgid "Sign up for a new account"
-msgstr "Opprett en ny konto"
+msgstr "Registrer deg for en ny konto"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
-msgstr ""
+msgstr "Bekreftelse av e-postadresse"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5344,14 +5565,26 @@ msgid ""
"Thanks for your time, \n"
"%s\n"
msgstr ""
+"Hei %s.\n"
+"\n"
+"Noen skrev nettopp inn denne e-postadressen på %s.\n"
+"\n"
+"Dersom det var deg og du vil bekrefte det, bruk nettadressen under:\n"
+"\n"
+"%s\n"
+"\n"
+"Om ikke, bare ignorer denne meldingen.\n"
+"\n"
+"Takk for tiden din,\n"
+"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s lytter nå til dine notiser på %2$s."
-#: lib/mail.php:241
-#, fuzzy, php-format
+#: lib/mail.php:245
+#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
"\n"
@@ -5366,22 +5599,26 @@ msgid ""
msgstr ""
"%1$s lytter nå til dine notiser på %2$s.\n"
"\n"
-"\t%3$s\n"
+"%3$s\n"
"\n"
+"%4$s%5$s%6$s\n"
"Vennlig hilsen,\n"
-"%4$s.\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Endre e-postadressen din eller dine varslingsvalg på %8$s\n"
-#: lib/mail.php:258
-#, fuzzy, php-format
+#: lib/mail.php:262
+#, php-format
msgid "Bio: %s"
-msgstr "Om meg"
+msgstr "Biografi: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
-msgstr ""
+msgstr "Ny e-postadresse for posting til %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5393,22 +5630,30 @@ msgid ""
"Faithfully yours,\n"
"%4$s"
msgstr ""
+"Du har en ny adresse for posting på %1$s.\n"
+"\n"
+"Send e-post til %2$s for å poste nye meldinger.\n"
+"\n"
+"Flere e-postinstrukser på %3$s.\n"
+"\n"
+"Vennlig hilsen,\n"
+"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s status"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
-msgstr ""
+msgstr "SMS-bekreftelse"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
-msgstr ""
+msgstr "Du har blitt knuffet av %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5423,13 +5668,24 @@ msgid ""
"With kind regards,\n"
"%4$s\n"
msgstr ""
+"%1$s (%2$s) lurer på hva du gjør nå for tiden og inviterer deg til å poste "
+"noen nyheter.\n"
+"\n"
+"La oss høre fra deg :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"Ikke svar på denne e-posten; det vil ikke nå frem til dem.\n"
+"\n"
+"Med vennlig hilsen,\n"
+"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
-msgstr ""
+msgstr "Ny privat melding fra %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5447,13 +5703,27 @@ msgid ""
"With kind regards,\n"
"%5$s\n"
msgstr ""
+"%1$s (%2$s) sendte deg en privat melding:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"Du kan svare på deres melding her:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Ikke svar på denne e-posten; det vil ikke nå frem til dem.\n"
+"\n"
+"Med vennlig hilsen,\n"
+"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
-msgstr ""
+msgstr "%s /@%s) la din notis til som en favoritt"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5473,13 +5743,29 @@ msgid ""
"Faithfully yours,\n"
"%6$s\n"
msgstr ""
+"%1$s (@%7$s) la akkurat din notis fra %2$s til som en av sine favoritter.\n"
+"\n"
+"Nettadressen til din notis er:\n"
+"\n"
+"%3$s\n"
+"\n"
+"Teksten i din notis er:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Du kan se listen over %1$s sine favoritter her:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Vennlig hilsen,\n"
+"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) sendte en notis for din oppmerksomhet"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5493,29 +5779,42 @@ msgid ""
"\t%4$s\n"
"\n"
msgstr ""
+"%1$s (@%9$s) sendte deg akkurat en notis for din oppmerksomhet (et '@-svar') "
+"på %2$s.\n"
+"\n"
+"Notisen er her:\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."
-msgstr ""
+msgstr "Bare brukeren kan lese sine egne postbokser."
#: lib/mailbox.php:139
msgid ""
"You have no private messages. You can send private message to engage other "
"users in conversation. People can send you messages for your eyes only."
msgstr ""
+"Du har ingen private meldinger. Du kan sende private meldinger for å "
+"engasjere andre brukere i en samtale. Personer kan sende deg meldinger som "
+"bare du kan se."
#: lib/mailbox.php:227 lib/noticelist.php:482
-#, fuzzy
msgid "from"
msgstr "fra"
#: lib/mailhandler.php:37
msgid "Could not parse message."
-msgstr ""
+msgstr "Kunne ikke tolke meldingen."
#: lib/mailhandler.php:42
msgid "Not a registered user."
-msgstr ""
+msgstr "Ikke en registrert bruker."
#: lib/mailhandler.php:46
msgid "Sorry, that is not your incoming email address."
@@ -5526,9 +5825,9 @@ msgid "Sorry, no incoming email allowed."
msgstr ""
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Direktemeldinger til %s"
+msgstr "Meldingstypen støttes ikke: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5558,136 +5857,136 @@ msgstr ""
#: lib/mediafile.php:165
msgid "File upload stopped by extension."
-msgstr ""
+msgstr "Filopplasting stoppet grunnet filendelse."
#: lib/mediafile.php:179 lib/mediafile.php:216
msgid "File exceeds user's quota."
-msgstr ""
+msgstr "Fil overgår brukers kvote."
#: lib/mediafile.php:196 lib/mediafile.php:233
msgid "File could not be moved to destination directory."
-msgstr ""
+msgstr "Filen kunne ikke flyttes til målmappen."
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
-msgstr "Klarte ikke å oppdatere bruker."
+msgstr "Kunne ikke avgjøre filens MIME-type."
#: lib/mediafile.php:270
#, php-format
msgid " Try using another %s format."
-msgstr ""
+msgstr " Prøv å bruke et annet %s-format."
#: lib/mediafile.php:275
#, php-format
msgid "%s is not a supported file type on this server."
-msgstr ""
+msgstr "filtypen %s støttes ikke på denne tjeneren."
#: lib/messageform.php:120
msgid "Send a direct notice"
-msgstr ""
+msgstr "Send en direktenotis"
#: lib/messageform.php:146
msgid "To"
-msgstr ""
+msgstr "Til"
#: lib/messageform.php:159 lib/noticeform.php:185
-#, fuzzy
msgid "Available characters"
-msgstr "6 eller flere tegn"
+msgstr "Tilgjengelige tegn"
+
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Send"
#: lib/noticeform.php:160
msgid "Send a notice"
-msgstr ""
+msgstr "Send en notis"
#: lib/noticeform.php:173
#, php-format
msgid "What's up, %s?"
-msgstr ""
+msgstr "Hva skjer %s?"
#: lib/noticeform.php:192
msgid "Attach"
-msgstr ""
+msgstr "Legg ved"
#: lib/noticeform.php:196
msgid "Attach a file"
-msgstr ""
+msgstr "Legg ved en fil"
#: lib/noticeform.php:212
-#, fuzzy
msgid "Share my location"
-msgstr "Klarte ikke å lagre profil."
+msgstr "Del min posisjon"
#: lib/noticeform.php:215
-#, fuzzy
msgid "Do not share my location"
-msgstr "Klarte ikke å lagre profil."
+msgstr "Ikke del min posisjon"
#: lib/noticeform.php:216
msgid ""
"Sorry, retrieving your geo location is taking longer than expected, please "
"try again later"
msgstr ""
+"Beklager, henting av din geoposisjon tar lenger tid enn forventet, prøv "
+"igjen senere"
#: lib/noticelist.php:429
#, php-format
msgid "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
-msgstr ""
+msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
#: lib/noticelist.php:430
msgid "N"
-msgstr ""
+msgstr "N"
#: lib/noticelist.php:430
msgid "S"
-msgstr ""
+msgstr "S"
#: lib/noticelist.php:431
msgid "E"
-msgstr ""
+msgstr "Ø"
#: lib/noticelist.php:431
msgid "W"
-msgstr ""
+msgstr "V"
#: lib/noticelist.php:438
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr ""
-#: lib/noticelist.php:583
-#, fuzzy
+#: lib/noticelist.php:601
msgid "Repeated by"
-msgstr "Opprett"
+msgstr "Repetert av"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
-msgstr ""
+msgstr "Svar på denne notisen"
-#: lib/noticelist.php:611
-#, fuzzy
+#: lib/noticelist.php:629
msgid "Reply"
-msgstr "svar"
+msgstr "Svar"
-#: lib/noticelist.php:655
-#, fuzzy
+#: lib/noticelist.php:673
msgid "Notice repeated"
-msgstr "Nytt nick"
+msgstr "Notis repetert"
#: lib/nudgeform.php:116
msgid "Nudge this user"
-msgstr ""
+msgstr "Knuff denne brukeren"
#: lib/nudgeform.php:128
msgid "Nudge"
-msgstr ""
+msgstr "Knuff"
#: lib/nudgeform.php:128
msgid "Send a nudge to this user"
-msgstr ""
+msgstr "Send et knuff til denne brukeren"
#: lib/oauthstore.php:283
msgid "Error inserting new profile"
@@ -5703,7 +6002,7 @@ msgstr ""
#: lib/oauthstore.php:345
msgid "Duplicate notice"
-msgstr ""
+msgstr "Duplikatnotis"
#: lib/oauthstore.php:490
msgid "Couldn't insert new subscription."
@@ -5719,23 +6018,23 @@ msgstr "Svar"
#: lib/personalgroupnav.php:114
msgid "Favorites"
-msgstr ""
+msgstr "Favoritter"
#: lib/personalgroupnav.php:125
msgid "Inbox"
-msgstr ""
+msgstr "Innboks"
#: lib/personalgroupnav.php:126
msgid "Your incoming messages"
-msgstr ""
+msgstr "Dine innkommende meldinger"
#: lib/personalgroupnav.php:130
msgid "Outbox"
-msgstr ""
+msgstr "Utboks"
#: lib/personalgroupnav.php:131
msgid "Your sent messages"
-msgstr ""
+msgstr "Dine sendte meldinger"
#: lib/personaltagcloudsection.php:56
#, php-format
@@ -5744,36 +6043,35 @@ msgstr ""
#: lib/plugin.php:114
msgid "Unknown"
-msgstr ""
+msgstr "Ukjent"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
-msgstr ""
+msgstr "Abonnement"
#: lib/profileaction.php:126
msgid "All subscriptions"
msgstr "Alle abonnementer"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
-msgstr ""
+msgstr "Abonnenter"
-#: lib/profileaction.php:157
-#, fuzzy
+#: lib/profileaction.php:159
msgid "All subscribers"
-msgstr "Alle abonnementer"
+msgstr "Alle abonnenter"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
-msgstr ""
+msgstr "Bruker-ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Medlem siden"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
-msgstr ""
+msgstr "Alle grupper"
#: lib/profileformaction.php:123
msgid "No return-to arguments."
@@ -5781,16 +6079,15 @@ msgstr ""
#: lib/profileformaction.php:137
msgid "Unimplemented method."
-msgstr ""
+msgstr "Ikke-implementert metode."
#: lib/publicgroupnav.php:78
-#, fuzzy
msgid "Public"
msgstr "Offentlig"
#: lib/publicgroupnav.php:82
msgid "User groups"
-msgstr ""
+msgstr "Brukergrupper"
#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
#, fuzzy
@@ -5806,16 +6103,19 @@ msgid "Popular"
msgstr ""
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "Kan ikke slette notisen."
+msgstr "Repeter denne notisen?"
#: lib/repeatform.php:132
-#, fuzzy
msgid "Repeat this notice"
-msgstr "Kan ikke slette notisen."
+msgstr "Repeter denne notisen"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr ""
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5829,34 +6129,36 @@ msgid "Sandbox this user"
msgstr "Kan ikke slette notisen."
#: lib/searchaction.php:120
-#, fuzzy
msgid "Search site"
-msgstr "Søk"
+msgstr "Søk nettsted"
#: lib/searchaction.php:126
msgid "Keyword(s)"
-msgstr ""
+msgstr "Nøkkelord"
+
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Søk"
#: lib/searchaction.php:162
-#, fuzzy
msgid "Search help"
-msgstr "Søk"
+msgstr "Søkehjelp"
#: lib/searchgroupnav.php:80
msgid "People"
-msgstr ""
+msgstr "Personer"
#: lib/searchgroupnav.php:81
msgid "Find people on this site"
-msgstr ""
+msgstr "Finn personer på dette nettstedet"
#: lib/searchgroupnav.php:83
msgid "Find content of notices"
-msgstr ""
+msgstr "Finn innhold i notiser"
#: lib/searchgroupnav.php:85
msgid "Find groups on this site"
-msgstr ""
+msgstr "Finn grupper på dette nettstedet"
#: lib/section.php:89
msgid "Untitled section"
@@ -5864,7 +6166,7 @@ msgstr ""
#: lib/section.php:106
msgid "More..."
-msgstr ""
+msgstr "Mer..."
#: lib/silenceform.php:67
msgid "Silence"
@@ -5890,6 +6192,15 @@ msgstr "Svar til %s"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Inviter"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5902,7 +6213,7 @@ msgstr ""
#: lib/tagcloudsection.php:56
msgid "None"
-msgstr ""
+msgstr "Ingen"
#: lib/topposterssection.php:74
msgid "Top posters"
@@ -5944,81 +6255,94 @@ msgid "User actions"
msgstr ""
#: lib/userprofile.php:251
-#, fuzzy
msgid "Edit profile settings"
-msgstr "Endre profilinnstillingene dine"
+msgstr "Endre profilinnstillinger"
#: lib/userprofile.php:252
msgid "Edit"
-msgstr ""
+msgstr "Rediger"
#: lib/userprofile.php:275
msgid "Send a direct message to this user"
-msgstr ""
+msgstr "Send en direktemelding til denne brukeren"
#: lib/userprofile.php:276
msgid "Message"
-msgstr ""
+msgstr "Melding"
#: lib/userprofile.php:314
msgid "Moderate"
-msgstr ""
+msgstr "Moderer"
+
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Brukerrolle"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administrator"
-#: lib/util.php:952
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderator"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "noen få sekunder siden"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "omtrent ett minutt siden"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "omtrent %d minutter siden"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "omtrent én time siden"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "omtrent %d timer siden"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "omtrent én dag siden"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "omtrent %d dager siden"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "omtrent én måned siden"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "omtrent %d måneder siden"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "omtrent ett år siden"
#: lib/webcolor.php:82
#, php-format
msgid "%s is not a valid color!"
-msgstr ""
+msgstr "%s er ikke en gyldig farge."
#: lib/webcolor.php:123
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
-msgstr ""
+msgstr "%s er ikke en gyldig farge. Bruk 3 eller 6 heksadesimale tegn."
#: lib/xmppmanager.php:402
#, php-format
msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr ""
+msgstr "Melding for lang - maks er %1$d tegn, du sendte %2$d."
diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po
index 1cd71ad86..c73771f84 100644
--- a/locale/nl/LC_MESSAGES/statusnet.po
+++ b/locale/nl/LC_MESSAGES/statusnet.po
@@ -10,75 +10,81 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:28+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:33+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Toegang"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Instellingen voor sitetoegang"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registratie"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privé"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Mogen anonieme gebruikers (niet aangemeld) de website bekijken?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Alleen op uitnodiging"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Geen anonieme toegang"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Registratie alleen op uitnodiging."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Gesloten"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Alleen op uitnodiging"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Gesloten"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Toegangsinstellingen opslaan"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Opslaan"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Deze pagina bestaat niet"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -92,45 +98,53 @@ msgstr "Deze pagina bestaat niet"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Onbekende gebruiker."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s en vrienden, pagina %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s en vrienden"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Feed voor vrienden van %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Feed voor vrienden van %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Feed voor vrienden van %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -138,7 +152,7 @@ msgstr ""
"Dit is de tijdlijn voor %s en vrienden, maar niemand heeft nog mededelingen "
"geplaatst."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -147,7 +161,8 @@ msgstr ""
"Probeer te abonneren op meer gebruikers, [word lid van een groep](%%action."
"groups%%) of plaats zelf berichten."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -157,7 +172,7 @@ msgstr ""
"bericht voor die gebruiker plaatsen](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -166,7 +181,8 @@ msgstr ""
"U kunt een [gebruiker aanmaken](%%%%action.register%%%%) en %s dan porren of "
"een bericht sturen."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "U en vrienden"
@@ -184,20 +200,20 @@ msgstr "Updates van %1$s en vrienden op %2$s."
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "De API-functie is niet aangetroffen."
@@ -231,8 +247,9 @@ msgstr "Het was niet mogelijk de gebruiker bij te werken."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Deze gebruiker heeft geen profiel."
@@ -258,7 +275,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -373,7 +390,7 @@ msgstr "Het was niet mogelijk de brongebruiker te bepalen."
msgid "Could not find target user."
msgstr "Het was niet mogelijk de doelgebruiker te vinden."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -381,63 +398,63 @@ msgstr ""
"De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties "
"zijn niet toegestaan."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr ""
"De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ongeldige gebruikersnaam!"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "De thuispagina is geen geldige URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "De volledige naam is te lang (maximaal 255 tekens)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Locatie is te lang (maximaal 255 tekens)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Te veel aliassen! Het maximale aantal is %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ongeldige alias: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "De alias \"%s\" wordt al gebruikt. Geef een andere alias op."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Een alias kan niet hetzelfde zijn als de gebruikersnaam."
@@ -448,15 +465,15 @@ msgstr "Een alias kan niet hetzelfde zijn als de gebruikersnaam."
msgid "Group not found!"
msgstr "De groep is niet aangetroffen!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "U bent al lid van die groep."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Een beheerder heeft ingesteld dat u geen lid mag worden van die groep."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Het was niet mogelijk gebruiker %1$s toe te voegen aan de groep %2$s."
@@ -465,7 +482,7 @@ msgstr "Het was niet mogelijk gebruiker %1$s toe te voegen aan de groep %2$s."
msgid "You are not a member of this group."
msgstr "U bent geen lid van deze groep."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Het was niet mogelijk gebruiker %1$s uit de group %2$s te verwijderen."
@@ -496,7 +513,7 @@ msgstr "Ongeldig token."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -545,7 +562,7 @@ msgstr "Het verzoektoken %s is geweigerd en ingetrokken."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -571,13 +588,13 @@ msgstr ""
"van het type \"<strong>%3$s</strong> tot uw gebruikersgegevens. Geef alleen "
"toegang tot uw gebruiker bij %4$s aan derde partijen die u vertrouwt."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Gebruiker"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -660,18 +677,6 @@ msgstr "%1$s / Favorieten van %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s updates op de favorietenlijst geplaatst door %2$s / %3$s"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s tijdlijn"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Updates van %1$s op %2$s."
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -682,12 +687,12 @@ msgstr "%1$s / Updates over %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s updates die een reactie zijn op updates van %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s publieke tijdlijn"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s updates van iedereen"
@@ -702,12 +707,12 @@ msgstr "Herhaald naar %s"
msgid "Repeats of %s"
msgstr "Herhaald van %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Mededelingen met het label %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Updates met het label %1$s op %2$s!"
@@ -723,8 +728,7 @@ msgstr "Deze bijlage bestaat niet."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Geen gebruikersnaam."
@@ -736,7 +740,7 @@ msgstr "Geen afmeting."
msgid "Invalid size."
msgstr "Ongeldige afmetingen."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -749,35 +753,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Gebruiker zonder bijbehorend profiel"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Avatarinstellingen"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Origineel"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Voorvertoning"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Verwijderen"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Uploaden"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Uitsnijden"
@@ -786,7 +790,7 @@ msgid "Pick a square area of the image to be your avatar"
msgstr ""
"Selecteer een vierkant in de afbeelding om deze als uw avatar in te stellen"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Ons bestand is verloren gegaan."
@@ -821,22 +825,22 @@ msgstr ""
"van deze gebruiker."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nee"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Gebruiker niet blokkeren"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Deze gebruiker blokkeren"
@@ -844,39 +848,43 @@ msgstr "Deze gebruiker blokkeren"
msgid "Failed to save block information."
msgstr "Het was niet mogelijk om de blokkadeinformatie op te slaan."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "De opgegeven groep bestaat niet."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s geblokkeerde profielen"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s geblokkeerde profielen, pagina %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Een lijst met voor deze groep geblokkeerde gebruikers."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Deze gebruiker weer toegang geven tot de groep"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Deblokkeer"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Deblokkeer deze gebruiker."
@@ -932,7 +940,7 @@ msgid "Conversation"
msgstr "Dialoog"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Mededelingen"
@@ -951,7 +959,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Er is een probleem met uw sessietoken."
@@ -977,12 +985,13 @@ msgstr "Deze applicatie niet verwijderen"
msgid "Delete this application"
msgstr "Deze applicatie verwijderen"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Niet aangemeld."
@@ -1011,7 +1020,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Deze mededeling verwijderen"
@@ -1027,7 +1036,7 @@ msgstr "U kunt alleen lokale gebruikers verwijderen."
msgid "Delete user"
msgstr "Gebruiker verwijderen"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1036,12 +1045,12 @@ msgstr ""
"worden alle gegevens van deze gebruiker uit de database verwijderd. Het is "
"niet mogelijk ze terug te zetten."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Gebruiker verwijderen"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Uiterlijk"
@@ -1144,6 +1153,18 @@ msgstr "Standaardontwerp toepassen"
msgid "Reset back to default"
msgstr "Standaardinstellingen toepassen"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Opslaan"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Ontwerp opslaan"
@@ -1235,29 +1256,29 @@ msgstr "Groep %s bewerken"
msgid "You must be logged in to create a group."
msgstr "U moet aangemeld zijn om een groep aan te kunnen maken."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "U moet beheerder zijn om de groep te kunnen bewerken."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Gebruik dit formulier om de groep te bewerken."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "de beschrijving is te lang (maximaal %d tekens)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Het was niet mogelijk de groep bij te werken."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Het was niet mogelijk de aliassen aan te maken."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "De instellingen zijn opgeslagen."
@@ -1377,7 +1398,7 @@ msgid "Cannot normalize that email address"
msgstr "Kan het emailadres niet normaliseren"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Geen geldig e-mailadres."
@@ -1575,6 +1596,22 @@ msgstr "Het bestand bestaat niet."
msgid "Cannot read file."
msgstr "Het bestand kon niet gelezen worden."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Ongeldige rol."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Deze rol is gereserveerd en kan niet ingesteld worden."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Op deze website kunt u geen gebruikersrollen toekennen."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "Deze gebruiker heeft deze rol al."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1604,7 +1641,7 @@ msgstr "Deze gebruiker is al de toegang tot de groep ontzegd."
msgid "User is not a member of group."
msgstr "De gebruiker is geen lid van de groep."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Gebruiker toegang tot de groep blokkeren"
@@ -1641,11 +1678,11 @@ msgstr "Geen ID."
msgid "You must be logged in to edit a group."
msgstr "U moet aangemeld zijn om een groep te kunnen bewerken."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Groepsontwerp"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1653,20 +1690,20 @@ msgstr ""
"De vormgeving van uw groep aanpassen met een achtergrondafbeelding en een "
"kleurenpalet van uw keuze."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Het was niet mogelijk uw ontwerp bij te werken."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "De ontwerpvoorkeuren zijn opgeslagen."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Groepslogo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1674,62 +1711,68 @@ msgstr ""
"Hier kunt u een logo voor uw groep uploaden. De maximale bestandsgrootte is %"
"s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Gebruiker zonder bijbehorend profiel."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Selecteer een vierkant uit de afbeelding die het logo wordt."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo geactualiseerd."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Het bijwerken van het logo is mislukt."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "leden van de groep %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s groeps leden, pagina %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Ledenlijst van deze groep"
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Beheerder"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blokkeren"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Deze gebruiker groepsbeheerder maken"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Beheerder maken"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Deze gebruiker beheerder maken"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s tijdlijn"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Updates voor leden van %1$s op %2$s."
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Groepen"
@@ -1992,16 +2035,18 @@ msgstr "Persoonlijk bericht"
msgid "Optionally add a personal message to the invitation."
msgstr "Persoonlijk bericht bij de uitnodiging (optioneel)."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Verzenden"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s heeft u uitgenodigd voor %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2062,7 +2107,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "U moet aangemeld zijn om lid te worden van een groep."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Geen gebruikersnaam of ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s is lid geworden van de groep %2$s"
@@ -2071,11 +2120,11 @@ msgstr "%1$s is lid geworden van de groep %2$s"
msgid "You must be logged in to leave a group."
msgstr "U moet aangemeld zijn om een groep te kunnen verlaten."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "U bent geen lid van deze groep"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s heeft de groep %2$s verlaten"
@@ -2094,8 +2143,7 @@ msgstr ""
"Er is een fout opgetreden bij het maken van de instellingen. U hebt "
"waarschijnlijk niet de juiste rechten."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Aanmelden"
@@ -2353,8 +2401,8 @@ msgstr "inhoudstype "
msgid "Only "
msgstr "Alleen "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Geen ondersteund gegevensformaat."
@@ -2493,7 +2541,8 @@ msgstr "Het was niet mogelijk het nieuwe wachtwoord op te slaan."
msgid "Password saved."
msgstr "Het wachtwoord is opgeslagen."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Paden"
@@ -2526,7 +2575,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "De SSL-server is ongeldig. De maximale lengte is 255 tekens."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Website"
@@ -2614,7 +2662,7 @@ msgstr "Achtergrondenmap"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nooit"
@@ -2670,11 +2718,11 @@ msgstr "Geen geldig gebruikerslabel: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Gebruikers die zichzelf met %1$s hebben gelabeld - pagina %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ongeldige mededelinginhoud"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2701,7 +2749,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Volledige naam"
@@ -2729,7 +2777,7 @@ msgid "Bio"
msgstr "Beschrijving"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2756,7 +2804,7 @@ msgstr ""
"Eigen labels (letter, getallen, -, ., en _). Gescheiden door komma's of "
"spaties"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Taal"
@@ -2784,7 +2832,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "De beschrijving is te lang (maximaal %d tekens)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Er is geen tijdzone geselecteerd."
@@ -2815,7 +2863,8 @@ msgstr "Het profiel kon niet opgeslagen worden."
msgid "Couldn't save tags."
msgstr "Het was niet mogelijk de labels op te slaan."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "De instellingen zijn opgeslagen."
@@ -2828,28 +2877,28 @@ msgstr "Meer dan de paginalimiet (%s)"
msgid "Could not retrieve public stream."
msgstr "Het was niet mogelijk de publieke stream op te halen."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Openbare tijdlijn, pagina %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Openbare tijdlijn"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Publieke streamfeed (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Publieke streamfeed (RSS 1.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Publieke streamfeed (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2858,11 +2907,11 @@ msgstr ""
"Dit is de publieke tijdlijn voor %%site.name%%, maar niemand heeft nog "
"berichten geplaatst."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "U kunt de eerste zijn die een bericht plaatst!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2870,7 +2919,7 @@ msgstr ""
"Waarom [registreert u geen gebruiker](%%action.register%%) en plaatst u als "
"eerste een bericht?"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2883,7 +2932,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:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3067,8 +3116,7 @@ msgstr "Sorry. De uitnodigingscode is ongeldig."
msgid "Registration successful"
msgstr "De registratie is voltooid"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registreren"
@@ -3109,7 +3157,7 @@ msgid "Same as password above. Required."
msgstr "Gelijk aan het wachtwoord hierboven. Verplicht"
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
@@ -3216,7 +3264,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "De URL van uw profiel bij een andere, compatibele microblogdienst"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Abonneren"
@@ -3254,7 +3302,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Herhaald"
@@ -3262,33 +3310,33 @@ msgstr "Herhaald"
msgid "Repeated!"
msgstr "Herhaald!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Antwoorden aan %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Antwoorden aan %1$s, pagina %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Antwoordenfeed voor %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Antwoordenfeed voor %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Antwoordenfeed voor %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3297,7 +3345,7 @@ msgstr ""
"Dit is de tijdlijn met de antwoorden aan %1$s, maar %2$s heeft nog geen "
"antwoorden ontvangen."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3306,7 +3354,7 @@ msgstr ""
"U kunt gesprekken aanknopen met andere gebruikers, op meer gebruikers "
"abonneren of [lid worden van groepen](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3320,6 +3368,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Antwoorden aan %1$s op %2$s."
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "U kunt geen gebruikersrollen intrekken op deze website."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "Deze gebruiker heeft deze rol niet."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3332,8 +3388,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessies"
@@ -3357,8 +3414,8 @@ msgstr "Sessies debuggen"
msgid "Turn on debugging output for sessions."
msgstr "Debuguitvoer voor sessies inschakelen."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Websiteinstellingen opslaan"
@@ -3388,8 +3445,8 @@ msgstr "Organisatie"
msgid "Description"
msgstr "Beschrijving"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistieken"
@@ -3452,22 +3509,22 @@ msgstr "Favoriete mededelingen van %1$s, pagina %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Het was niet mogelijk de favoriete mededelingen op te halen."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Favorietenfeed van %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Favorietenfeed van %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Favorietenfeed van %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3476,7 +3533,7 @@ msgstr ""
"toevoegen\" bij mededelingen die u aanstaan om ze op een lijst te bewaren en "
"ze uit te lichten."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3486,7 +3543,7 @@ msgstr ""
"een interessant bericht, en dan komt u misschien wel op de "
"favorietenlijst. :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3497,7 +3554,7 @@ msgstr ""
"action.register%%%%) en dan interessante mededelingen plaatsten die "
"misschien aan favorietenlijsten zijn toe te voegen. :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Dit is de manier om dat te delen wat u wilt."
@@ -3511,67 +3568,67 @@ msgstr "%s groep"
msgid "%1$s group, page %2$d"
msgstr "Groep %1$s, pagina %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Groepsprofiel"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Opmerking"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Aliassen"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Groepshandelingen"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Mededelingenfeed voor groep %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Mededelingenfeed voor groep %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Mededelingenfeed voor groep %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Vriend van een vriend voor de groep %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Leden"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(geen)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Alle leden"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Aangemaakt"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3587,7 +3644,7 @@ msgstr ""
"lid te worden van deze groep en nog veel meer! [Meer lezen...](%%%%doc.help%%"
"%%)"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3600,7 +3657,7 @@ msgstr ""
"[StatusNet](http://status.net/). De leden wisselen korte mededelingen uit "
"over hun ervaringen en interesses. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Beheerders"
@@ -3723,154 +3780,141 @@ msgid "User is already silenced."
msgstr "Deze gebruiker is al gemuilkorfd."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "Basisinstellingen voor deze StatusNet-website."
+msgid "Basic settings for this StatusNet site"
+msgstr "Basisinstellingen voor deze StatusNet-website"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "De sitenaam moet ingevoerd worden en mag niet leeg zijn."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr ""
"U moet een geldig e-mailadres opgeven waarop contact opgenomen kan worden."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "De taal \"%s\" is niet bekend."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "De rapportage-URL voor snapshots is ongeldig."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "De waarde voor het uitvoeren van snapshots is ongeldig."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "De snapshotfrequentie moet een getal zijn."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "De minimale tekstlimiet is 140 tekens."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "De duplicaatlimiet moet één of meer seconden zijn."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Algemeen"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Websitenaam"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "De naam van de website, zoals \"UwBedrijf Microblog\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Mogelijk gemaakt door"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
"De tekst die gebruikt worden in de \"creditsverwijzing\" in de voettekst van "
"iedere pagina"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "\"Mogelijk gemaakt door\"-URL"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
"URL die wordt gebruikt voor de verwijzing naar de hoster en dergelijke in de "
"voettekst van iedere pagina"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "E-mailadres om contact op te nemen met de websitebeheerder"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Lokaal"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Standaardtijdzone"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Standaardtijdzone voor de website. Meestal UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr "Standaardtaal"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Snapshots"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Willekeurig tijdens een websitehit"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Als geplande taak"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Snapshots van gegevens"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-"Wanneer statistische gegevens naar de status.net-servers verzonden worden"
+"De taal voor de website als deze niet uit de browserinstellingen opgemaakt "
+"kan worden"
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frequentie"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Iedere zoveel websitehits wordt een snapshot verzonden"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "Rapportage-URL"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Snapshots worden naar deze URL verzonden"
-
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limieten"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Tekstlimiet"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Maximaal aantal te gebruiken tekens voor mededelingen."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Duplicaatlimiet"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Hoe lang gebruikers moeten wachten (in seconden) voor ze hetzelfde kunnen "
"zenden."
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Websitebrede mededeling"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Websitebrede mededeling bewerken"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Het was niet mogelijk om de websitebrede mededeling op te slaan."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "De maximale lengte voor de websitebrede aankondiging is 255 tekens"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "Tekst voor websitebrede mededeling"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+"Tekst voor websitebrede aankondiging (maximaal 255 tekens - HTML is "
+"toegestaan)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Websitebrede mededeling opslaan"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS-instellingen"
@@ -3970,6 +4014,65 @@ msgstr ""
msgid "No code entered"
msgstr "Er is geen code ingevoerd"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Snapshots"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "Snapshotinstellingen beheren"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "De waarde voor het uitvoeren van snapshots is ongeldig."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "De snapshotfrequentie moet een getal zijn."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "De rapportage-URL voor snapshots is ongeldig."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Willekeurig tijdens een websitehit"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Als geplande taak"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Snapshots van gegevens"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+"Wanneer statistische gegevens naar de status.net-servers verzonden worden"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frequentie"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Iedere zoveel websitehits wordt een snapshot verzonden"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "Rapportage-URL"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Snapshots worden naar deze URL verzonden"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Snapshotinstellingen opslaan"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "U bent niet geabonneerd op dat profiel."
@@ -3981,17 +4084,17 @@ msgstr "Het was niet mogelijk het abonnement op te slaan."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Deze handeling accepteert alleen POST-verzoeken."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Het bestand bestaat niet."
+msgstr "Het profiel bestaat niet."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "U bent niet geabonneerd op dat profiel."
+msgstr ""
+"U kunt niet abonneren op een OMB 1.0 profiel van een andere omgeving via "
+"deze handeling."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4086,22 +4189,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Mededelingen met het label %1$s, pagina %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Mededelingenfeed voor label %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Mededelingenfeed voor label %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Mededelingenfeed voor label %s (Atom)"
@@ -4157,7 +4260,7 @@ msgstr ""
msgid "No such tag."
msgstr "Onbekend label."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "De API-functie is in bewerking."
@@ -4181,7 +4284,7 @@ msgstr "Het profiel-ID was niet aanwezig in het verzoek."
msgid "Unsubscribed"
msgstr "Het abonnement is opgezegd"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4189,70 +4292,71 @@ msgstr ""
"De licentie \"%1$s\" voor de stream die u wilt volgen is niet compatibel met "
"de sitelicentie \"%2$s\"."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Gebruiker"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Gebruikersinstellingen voor deze StatusNet-website."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Ongeldige beschrijvingslimiet. Het moet een getal zijn."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Ongeldige welkomsttekst. De maximale lengte is 255 tekens."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Ongeldig standaardabonnement: \"%1$s\" is geen gebruiker."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profiel"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Profiellimiet"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "De maximale lengte van de profieltekst in tekens."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nieuwe gebruikers"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Welkom voor nieuwe gebruikers"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Welkomsttekst voor nieuwe gebruikers. Maximaal 255 tekens."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Standaardabonnement"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Nieuwe gebruikers automatisch op deze gebruiker abonneren"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Uitnodigingen"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Uitnodigingen ingeschakeld"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Of gebruikers nieuwe gebruikers kunnen uitnodigen."
@@ -4384,17 +4488,23 @@ msgstr "Groepen voor %1$s, pagina %2$d"
msgid "Search for more groups"
msgstr "Meer groepen zoeken"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s is van geen enkele groep lid."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"U kunt [naar groepen zoeken](%%action.groupsearch%%) en daar lid van worden."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Updates van %1$s op %2$s."
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4450,7 +4560,7 @@ msgstr ""
msgid "Plugins"
msgstr "Plug-ins"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Versie"
@@ -4491,6 +4601,10 @@ msgstr "Geen lid van groep."
msgid "Group leave failed."
msgstr "Groepslidmaatschap opzeggen is mislukt."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Het was niet mogelijk de lokale groep bij te werken."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4508,31 +4622,31 @@ msgstr "Het was niet mogelijk het bericht in te voegen."
msgid "Could not update message with new URI."
msgstr "Het was niet mogelijk het bericht bij te werken met de nieuwe URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Er is een databasefout opgetreden bij de invoer van de hashtag: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr ""
"Er is een probleem opgetreden bij het opslaan van de mededeling. Deze is te "
"lang."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr ""
"Er was een probleem bij het opslaan van de mededeling. De gebruiker is "
"onbekend."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"U hebt te snel te veel mededelingen verstuurd. Kom even op adem en probeer "
"het over enige tijd weer."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4540,22 +4654,22 @@ msgstr ""
"Te veel duplicaatberichten te snel achter elkaar. Neem een adempauze en "
"plaats over een aantal minuten pas weer een bericht."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
"U bent geblokkeerd en mag geen mededelingen meer achterlaten op deze site."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr ""
"Er is een probleem opgetreden bij het opslaan van het Postvak IN van de "
"groep."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4580,23 +4694,36 @@ msgstr "Niet geabonneerd!"
msgid "Couldn't delete self-subscription."
msgstr "Het was niet mogelijk het abonnement op uzelf te verwijderen."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr ""
+"Het was niet mogelijk om het OMB-token voor het abonnement te verwijderen."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Kon abonnement niet verwijderen."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Welkom bij %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Het was niet mogelijk de groep aan te maken."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Het was niet mogelijk de groeps-URI in te stellen."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Het was niet mogelijk het groepslidmaatschap in te stellen."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Het was niet mogelijk de lokale groepsinformatie op te slaan."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Uw profielgegevens wijzigen"
@@ -4634,124 +4761,170 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Naamloze pagina"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Primaire sitenavigatie"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Start"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Persoonlijk profiel en tijdlijn van vrienden"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Persoonlijk"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Uw e-mailadres, avatar, wachtwoord of profiel wijzigen"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr "Met andere diensten koppelen"
+
+#: lib/action.php:443
msgid "Connect"
msgstr "Koppelen"
-#: lib/action.php:444
-msgid "Connect to services"
-msgstr "Met diensten verbinden"
-
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Websiteinstellingen wijzigen"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Uitnodigen"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Beheer"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Vrienden en collega's uitnodigen om u te vergezellen op %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Afmelden"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Uitnodigingen"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
-msgstr "Van de site afmelden"
+msgstr "Gebruiker afmelden"
+
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Afmelden"
-#: lib/action.php:463
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Gebruiker aanmaken"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registreren"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
-msgstr "Bij de site aanmelden"
+msgstr "Gebruiker aanmelden"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Help"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Aanmelden"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Help me!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Zoeken"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Help"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Naar gebruikers of tekst zoeken"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Zoeken"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Mededeling van de website"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Lokale weergaven"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Mededeling van de pagina"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Secundaire sitenavigatie"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Help"
+
+#: lib/action.php:754
msgid "About"
msgstr "Over"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Veel gestelde vragen"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "Gebruiksvoorwaarden"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacy"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Broncode"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contact"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Widget"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licentie van de StatusNet-software"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4760,12 +4933,12 @@ msgstr ""
"**%%site.name%%** is een microblogdienst van [%%site.broughtby%%](%%site."
"broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** is een microblogdienst. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4776,111 +4949,149 @@ msgstr ""
"versie %s, beschikbaar onder de [GNU Affero General Public License](http://"
"www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licentie voor siteinhoud"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Inhoud en gegevens van %1$s zijn persoonlijk en vertrouwelijk."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
"Auteursrechten op inhoud en gegevens rusten bij %1$s. Alle rechten "
"voorbehouden."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"Auteursrechten op inhoud en gegevens rusten bij de respectievelijke "
"gebruikers. Alle rechten voorbehouden."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Alle "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licentie."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginering"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Later"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Eerder"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Het is nog niet mogelijk inhoud uit andere omgevingen te verwerken."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Het is nog niet mogelijk ingebedde XML-inhoud te verwerken"
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Het is nog niet mogelijk ingebedde Base64-inhoud te verwerken"
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "U mag geen wijzigingen maken aan deze website."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Wijzigingen aan dat venster zijn niet toegestaan."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() is niet geïmplementeerd."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() is nog niet geïmplementeerd."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Het was niet mogelijk om de ontwerpinstellingen te verwijderen."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Basisinstellingen voor de website"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Website"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Instellingen vormgeving"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Uiterlijk"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Gebruikersinstellingen"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Gebruiker"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Toegangsinstellingen"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Padinstellingen"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Sessieinstellingen"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Websitebrede mededeling opslaan"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "Snapshotinstellingen"
+
+#: lib/apiauth.php:94
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:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4972,11 +5183,11 @@ msgstr "Mededelingen die deze bijlage bevatten"
msgid "Tags for this attachment"
msgstr "Labels voor deze bijlage"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Wachtwoord wijzigen is mislukt"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Wachtwoord wijzigen is niet toegestaan"
@@ -5063,12 +5274,12 @@ msgstr "%s heeft de groep %s verlaten"
msgid "Fullname: %s"
msgstr "Volledige naam: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Locatie: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Thuispagina: %s"
@@ -5182,9 +5393,9 @@ msgstr ""
"geldig: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "Uw abonnement op %s is opgezegd"
+msgstr "Het abonnement van %s is opgeheven"
#: lib/command.php:709
msgid "You are not subscribed to anyone."
@@ -5217,7 +5428,6 @@ msgstr[0] "U bent lid van deze groep:"
msgstr[1] "U bent lid van deze groepen:"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5270,6 +5480,7 @@ msgstr ""
"d <gebruiker> <tekst> - direct bericht aan gebruiker\n"
"get <gebruiker> - laatste mededeling van gebruiker opvragen\n"
"whois <gebruiker> - profielinformatie van gebruiker opvragen\n"
+"lose <gebruiker> - zorgt ervoor dat de gebruiker u niet meer volgt\n"
"fav <gebruiker> - laatste mededeling van gebruiker op favorietenlijst "
"zetten\n"
"fav #<mededeling-ID> - mededelingen met aangegeven ID op favorietenlijst "
@@ -5298,20 +5509,20 @@ msgstr ""
"tracks - nog niet beschikbaar\n"
"tracking - nog niet beschikbaar\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Er is geen instellingenbestand aangetroffen. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Er is gezocht naar instellingenbestanden op de volgende plaatsen: "
-#: lib/common.php:139
+#: lib/common.php:151
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:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Naar het installatieprogramma gaan."
@@ -5410,6 +5621,11 @@ msgstr "Kies een label om de lijst kleiner te maken"
msgid "Go"
msgstr "OK"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Deze gebruiker de rol \"%s\" geven"
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "De URL van de thuispagina of de blog van de groep of het onderwerp"
@@ -5501,23 +5717,23 @@ msgstr "Er is een systeemfout opgetreden tijdens het uploaden van het bestand."
msgid "Not an image or corrupt file."
msgstr "Het bestand is geen afbeelding of het bestand is beschadigd."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Niet ondersteund beeldbestandsformaat."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Het bestand is zoekgeraakt."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Onbekend bestandstype"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5547,11 +5763,11 @@ msgstr "Aanmelden met gebruikersnaam en wachtwoord"
msgid "Sign up for a new account"
msgstr "Nieuwe gebruiker aanmaken"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "E-mailadresbevestiging"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5581,12 +5797,12 @@ msgstr ""
"Dank u wel voor uw tijd.\n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s volgt nu uw berichten %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5611,17 +5827,17 @@ msgstr ""
"----\n"
"Wijzig uw e-mailadres of instellingen op %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Beschrijving: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nieuw e-mailadres om e-mail te versturen aan %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5642,21 +5858,21 @@ msgstr ""
"Met vriendelijke groet,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s status"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS-bevestiging"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s heeft u gepord"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5684,12 +5900,12 @@ msgstr ""
"Met vriendelijke groet,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "U hebt een nieuw privébericht van %s."
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5723,12 +5939,12 @@ msgstr ""
"Met vriendelijke groet,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) heeft uw mededeling als favoriet toegevoegd"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5766,12 +5982,12 @@ msgstr ""
"Met vriendelijke groet,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) heeft u een mededeling gestuurd"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5903,6 +6119,11 @@ msgstr "Aan"
msgid "Available characters"
msgstr "Beschikbare tekens"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "OK"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Mededeling verzenden"
@@ -5961,23 +6182,23 @@ msgstr "W"
msgid "at"
msgstr "op"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "in context"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Herhaald door"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Op deze mededeling antwoorden"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Antwoorden"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Mededeling herhaald"
@@ -6051,7 +6272,7 @@ msgstr "Labels in de mededelingen van %s"
msgid "Unknown"
msgstr "Onbekend"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Abonnementen"
@@ -6059,23 +6280,23 @@ msgstr "Abonnementen"
msgid "All subscriptions"
msgstr "Alle abonnementen"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Abonnees"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Alle abonnees"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "Gebruikers-ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Lid sinds"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Alle groepen"
@@ -6115,7 +6336,12 @@ msgstr "Deze mededeling herhalen?"
msgid "Repeat this notice"
msgstr "Deze mededeling herhalen"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "De gebruikersrol \"%s\" voor deze gebruiker intrekken"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Er is geen gebruiker gedefinieerd voor single-usermodus."
@@ -6135,6 +6361,10 @@ msgstr "Site doorzoeken"
msgid "Keyword(s)"
msgstr "Term(en)"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Zoeken"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Hulp bij zoeken"
@@ -6186,6 +6416,15 @@ msgstr "Gebruikers met een abonnement op %s"
msgid "Groups %s is a member of"
msgstr "Groepen waar %s lid van is"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Uitnodigen"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Vrienden en collega's uitnodigen om u te vergezellen op %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6256,47 +6495,61 @@ msgstr "Bericht"
msgid "Moderate"
msgstr "Modereren"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Gebruikersrol"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "Beheerder"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderator"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "een paar seconden geleden"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "ongeveer een minuut geleden"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "ongeveer %d minuten geleden"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "ongeveer een uur geleden"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "ongeveer %d uur geleden"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "ongeveer een dag geleden"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "ongeveer %d dagen geleden"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "ongeveer een maand geleden"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "ongeveer %d maanden geleden"
-#: lib/util.php:970
+#: lib/util.php:1033
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 55918d880..a16e15649 100644
--- a/locale/nn/LC_MESSAGES/statusnet.po
+++ b/locale/nn/LC_MESSAGES/statusnet.po
@@ -7,83 +7,90 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:25+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:30+0000\n"
"Language-Team: Norwegian Nynorsk\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Godta"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Avatar-innstillingar"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Registrér"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Personvern"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "Invitér"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "Blokkér"
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Avatar-innstillingar"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Lagra"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "Dette emneord finst ikkje."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -97,72 +104,82 @@ msgstr "Dette emneord finst ikkje."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Brukaren finst ikkje."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s med vener, side %d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s med vener"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Straum for vener av %s"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Straum for vener av %s"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Straum for vener av %s"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s med vener"
@@ -181,20 +198,20 @@ msgstr "Oppdateringar frå %1$s og vener på %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Fann ikkje API-metode."
@@ -228,8 +245,9 @@ msgstr "Kan ikkje oppdatera brukar."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Brukaren har inga profil."
@@ -254,7 +272,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -373,68 +391,68 @@ msgstr "Kan ikkje hente offentleg straum."
msgid "Could not find target user."
msgstr "Kan ikkje finna einkvan status."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Kallenamn må berre ha små bokstavar og nummer, ingen mellomrom."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ikkje eit gyldig brukarnamn."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Heimesida er ikkje ei gyldig internettadresse."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Ditt fulle namn er for langt (maksimalt 255 teikn)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Plassering er for lang (maksimalt 255 teikn)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ugyldig merkelapp: %s"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Kallenamnet er allereie i bruk. Prøv eit anna."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -446,16 +464,16 @@ msgstr ""
msgid "Group not found!"
msgstr "Fann ikkje API-metode."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "Du er allereie medlem av den gruppa"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Kunne ikkje melde brukaren %s inn i gruppa %s"
@@ -465,7 +483,7 @@ msgstr "Kunne ikkje melde brukaren %s inn i gruppa %s"
msgid "You are not a member of this group."
msgstr "Du er ikkje medlem av den gruppa."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Kunne ikkje fjerne %s fra %s gruppa "
@@ -497,7 +515,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -541,7 +559,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -564,13 +582,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Konto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -656,18 +674,6 @@ msgstr "%s / Favorittar frå %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s oppdateringar favorisert av %s / %s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s tidsline"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Oppdateringar frå %1$s på %2$s!"
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -678,12 +684,12 @@ msgstr "%1$s / Oppdateringar som svarar til %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s oppdateringar som svarar på oppdateringar frå %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s offentleg tidsline"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s oppdateringar frå alle saman!"
@@ -698,12 +704,12 @@ msgstr "Svar til %s"
msgid "Repeats of %s"
msgstr "Svar til %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Notisar merka med %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Oppdateringar frå %1$s på %2$s!"
@@ -720,8 +726,7 @@ msgstr "Slikt dokument finst ikkje."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ingen kallenamn."
@@ -733,7 +738,7 @@ msgstr "Ingen storleik."
msgid "Invalid size."
msgstr "Ugyldig storleik."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Brukarbilete"
@@ -745,35 +750,35 @@ msgstr "Du kan laste opp ein personleg avatar."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Kan ikkje finne brukar"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Avatar-innstillingar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Forhandsvis"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Slett"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Last opp"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Skaler"
@@ -781,7 +786,7 @@ msgstr "Skaler"
msgid "Pick a square area of the image to be your avatar"
msgstr "Velg eit utvalg av bildet som vil blir din avatar."
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Fant ikkje igjen fil data."
@@ -815,23 +820,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nei"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "LÃ¥s opp brukaren"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Jau"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Blokkér denne brukaren"
@@ -839,41 +844,45 @@ msgstr "Blokkér denne brukaren"
msgid "Failed to save block information."
msgstr "Lagring av informasjon feila."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Denne gruppa finst ikkje."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "Brukarprofil"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s med vener, side %d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
#, fuzzy
msgid "A list of the users blocked from joining this group."
msgstr "Ei liste over brukarane i denne gruppa."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "De-blokkering av brukar feila."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "LÃ¥s opp"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "LÃ¥s opp brukaren"
@@ -932,7 +941,7 @@ msgid "Conversation"
msgstr "Stadfestingskode"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Notisar"
@@ -954,7 +963,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Det var eit problem med sesjons billetten din."
@@ -980,12 +989,13 @@ msgstr "Kan ikkje sletta notisen."
msgid "Delete this application"
msgstr "Slett denne notisen"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ikkje logga inn"
@@ -1016,7 +1026,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Slett denne notisen"
@@ -1035,19 +1045,19 @@ msgstr "Du kan ikkje sletta statusen til ein annan brukar."
msgid "Delete user"
msgstr "Slett"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "Slett denne notisen"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1158,6 +1168,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Lagra"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1260,31 +1282,31 @@ msgstr "Rediger %s gruppa"
msgid "You must be logged in to create a group."
msgstr "Du må være logga inn for å lage ei gruppe."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Du må være administrator for å redigere gruppa"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Bruk dette skjemaet for å redigere gruppa"
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "skildringa er for lang (maks 140 teikn)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Kann ikkje oppdatera gruppa."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "Kunne ikkje lagre favoritt."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Lagra innstillingar."
@@ -1406,7 +1428,7 @@ msgid "Cannot normalize that email address"
msgstr "Klarar ikkje normalisera epostadressa"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ikkje ei gyldig epostadresse."
@@ -1602,6 +1624,25 @@ msgstr "Denne notisen finst ikkje."
msgid "Cannot read file."
msgstr "Mista fila vår."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Ugyldig storleik."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Du kan ikkje sende melding til denne brukaren."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Brukar har blokkert deg."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1634,7 +1675,7 @@ msgstr "Brukar har blokkert deg."
msgid "User is not a member of group."
msgstr "Du er ikkje medlem av den gruppa."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "Blokker brukaren"
@@ -1671,98 +1712,104 @@ msgstr "Ingen ID"
msgid "You must be logged in to edit a group."
msgstr "Du må være logga inn for å lage ei gruppe."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
#, fuzzy
msgid "Group design"
msgstr "Grupper"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Kan ikkje oppdatera brukar."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "Synkroniserings innstillingar blei lagra."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo åt gruppa"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, fuzzy, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "Du kan lasta opp ein logo for gruppa."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Kan ikkje finne brukar"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
#, fuzzy
msgid "Pick a square area of the image to be the logo."
msgstr "Velg eit utvalg av bildet som vil blir din avatar."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logo oppdatert."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Feil ved oppdatering av logo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s medlemmar i gruppa"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "%s medlemmar i gruppa, side %d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Ei liste over brukarane i denne gruppa."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administrator"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blokkér"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
#, fuzzy
msgid "Make user an admin of the group"
msgstr "Du må være administrator for å redigere gruppa"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
#, fuzzy
msgid "Make Admin"
msgstr "Administrator"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s tidsline"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Oppdateringar frå %1$s på %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupper"
@@ -2013,16 +2060,19 @@ msgstr "Personleg melding"
msgid "Optionally add a personal message to the invitation."
msgstr "Eventuelt legg til ei personleg melding til invitasjonen."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Send"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s har invitert deg til %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2078,7 +2128,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du må være logga inn for å bli med i ei gruppe."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Ingen kallenamn."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s blei medlem av gruppe %s"
@@ -2087,11 +2142,11 @@ msgstr "%s blei medlem av gruppe %s"
msgid "You must be logged in to leave a group."
msgstr "Du må være innlogga for å melde deg ut av ei gruppe."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Du er ikkje medlem av den gruppa."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s forlot %s gruppa"
@@ -2109,8 +2164,7 @@ msgstr "Feil brukarnamn eller passord"
msgid "Error setting user. You are probably not authorized."
msgstr "Ikkje autorisert."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Logg inn"
@@ -2369,8 +2423,8 @@ msgstr "Kopla til"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Ikkje eit støtta dataformat."
@@ -2516,7 +2570,8 @@ msgstr "Klarar ikkje lagra nytt passord."
msgid "Password saved."
msgstr "Lagra passord."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2549,7 +2604,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "Invitér"
@@ -2645,7 +2699,7 @@ msgstr ""
msgid "SSL"
msgstr "SMS"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Gjenopprett"
@@ -2704,11 +2758,11 @@ msgstr "Ikkje gyldig merkelapp: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Brukarar sjølv-merka med %s, side %d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ugyldig notisinnhald"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2734,7 +2788,7 @@ msgstr ""
"1-64 små bokstavar eller tal, ingen punktum (og liknande) eller mellomrom"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullt namn"
@@ -2763,7 +2817,7 @@ msgid "Bio"
msgstr "Om meg"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2790,7 +2844,7 @@ msgstr ""
"merkelappar for deg sjølv ( bokstavar, nummer, -, ., og _ ), komma eller "
"mellomroms separert."
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Språk"
@@ -2817,7 +2871,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "«Om meg» er for lang (maks 140 "
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Tidssone er ikkje valt."
@@ -2847,7 +2901,8 @@ msgstr "Kan ikkje lagra profil."
msgid "Couldn't save tags."
msgstr "Kan ikkje lagra merkelapp."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Lagra innstillingar."
@@ -2860,48 +2915,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Kan ikkje hente offentleg straum."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Offentleg tidsline, side %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Offentleg tidsline"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Offentleg straum"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Offentleg straum"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Offentleg straum"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2910,7 +2965,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3084,8 +3139,7 @@ msgstr "Feil med stadfestingskode."
msgid "Registration successful"
msgstr "Registreringa gikk bra"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrér"
@@ -3126,7 +3180,7 @@ msgid "Same as password above. Required."
msgstr "Samme som passord over. PÃ¥krevd."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Epost"
@@ -3234,7 +3288,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL til profilsida di på ei anna kompatibel mikrobloggingteneste."
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Ting"
@@ -3277,7 +3331,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "Lag"
@@ -3287,47 +3341,47 @@ msgstr "Lag"
msgid "Repeated!"
msgstr "Lag"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Svar til %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Melding til %1$s på %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Notisstraum for %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Notisstraum for %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Notisstraum for %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3339,6 +3393,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Melding til %1$s på %2$s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Du kan ikkje sende melding til denne brukaren."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Kan ikkje finne brukar"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3354,8 +3418,9 @@ msgstr "Du kan ikkje sende melding til denne brukaren."
msgid "User is already sandboxed."
msgstr "Brukar har blokkert deg."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3379,8 +3444,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Avatar-innstillingar"
@@ -3415,8 +3480,8 @@ msgstr "Paginering"
msgid "Description"
msgstr "Beskriving"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistikk"
@@ -3477,35 +3542,35 @@ msgstr "%s's favoritt meldingar"
msgid "Could not retrieve favorite notices."
msgstr "Kunne ikkje hente fram favorittane."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Straum for vener av %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Straum for vener av %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Straum for vener av %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3513,7 +3578,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3527,68 +3592,68 @@ msgstr "%s gruppe"
msgid "%1$s group, page %2$d"
msgstr "%s medlemmar i gruppa, side %d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Gruppe profil"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Merknad"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Gruppe handlingar"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Notisstraum for %s gruppa"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Notisstraum for %s gruppa"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Notisstraum for %s gruppa"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Utboks for %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Medlemmar"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Ingen)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Alle medlemmar"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "Lag"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3598,7 +3663,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3609,7 +3674,7 @@ msgstr ""
"**%s** er ei brukargruppe på %%%%site.name%%%%, ei [mikroblogging](http://en."
"wikipedia.org/wiki/Micro-blogging)-teneste"
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
#, fuzzy
msgid "Admins"
msgstr "Administrator"
@@ -3725,150 +3790,139 @@ msgid "User is already silenced."
msgstr "Brukar har blokkert deg."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Ikkje ei gyldig epostadresse"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Statusmelding"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Ny epostadresse for å oppdatera %s"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Lokale syningar"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "Foretrukke språk"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Statusmelding"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Ny melding"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Klarte ikkje å lagra Twitter-innstillingane dine!"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Statusmelding"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Statusmelding"
#: actions/smssettings.php:58
#, fuzzy
@@ -3972,6 +4026,66 @@ msgstr ""
msgid "No code entered"
msgstr "Ingen innskriven kode"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Navigasjon for hovudsida"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Avatar-innstillingar"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Du tingar ikkje oppdateringar til den profilen."
@@ -4078,22 +4192,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Brukarar sjølv-merka med %s, side %d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Notisstraum for %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Notisstraum for %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Notisstraum for %s"
@@ -4150,7 +4264,7 @@ msgstr ""
msgid "No such tag."
msgstr "Dette emneord finst ikkje."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API-metoden er ikkje ferdig enno."
@@ -4177,82 +4291,84 @@ msgstr "Ingen profil-ID i førespurnaden."
msgid "Unsubscribed"
msgstr "Fjerna tinging"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Brukar"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "Invitér nye brukarar"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Alle tingingar"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, 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:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Invitasjon(er) sendt"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "Invitasjon(er) sendt"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4386,16 +4502,22 @@ msgstr "%s medlemmar i gruppa, side %d"
msgid "Search for more groups"
msgstr "Søk etter folk eller innhald"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "Du er ikkje medlem av den gruppa."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Oppdateringar frå %1$s på %2$s!"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4439,7 +4561,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Personleg"
@@ -4480,6 +4602,11 @@ msgstr "Kann ikkje oppdatera gruppa."
msgid "Group leave failed."
msgstr "Gruppe profil"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Kann ikkje oppdatera gruppa."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4498,27 +4625,27 @@ msgstr "Kunne ikkje lagre melding."
msgid "Could not update message with new URI."
msgstr "Kunne ikkje oppdatere melding med ny URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "databasefeil ved innsetjing av skigardmerkelapp (#merkelapp): %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Eit problem oppstod ved lagring av notis."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Feil ved lagring av notis. Ukjend brukar."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
@@ -4526,20 +4653,20 @@ msgid ""
msgstr ""
"For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Du kan ikkje lengre legge inn notisar på denne sida."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Eit problem oppstod ved lagring av notis."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Eit problem oppstod ved lagring av notis."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4567,23 +4694,38 @@ msgstr "Ikkje tinga."
msgid "Couldn't delete self-subscription."
msgstr "Kan ikkje sletta tinging."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Kan ikkje sletta tinging."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Kan ikkje sletta tinging."
-#: classes/User.php:372
+#: classes/User.php:373
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Melding til %1$s på %2$s"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Kunne ikkje laga gruppa."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Kunne ikkje bli med i gruppa."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Kunne ikkje bli med i gruppa."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Kunne ikkje lagra abonnement."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Endra profilinnstillingane dine"
@@ -4622,127 +4764,188 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "Ingen tittel"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navigasjon for hovudsida"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Heim"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Personleg profil og oversyn over vener"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personleg"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Endra e-posten, avataren, passordet eller profilen"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Kopla til"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Klarte ikkje å omdirigera til tenaren: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Kopla til"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Navigasjon for hovudsida"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Invitér"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrator"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Inviter vennar og kollega til å bli med deg på %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Logg ut"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invitér"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Logg ut or sida"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Logg ut"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Opprett ny konto"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrér"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Logg inn or sida"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Hjelp"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Logg inn"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Hjelp meg!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Søk"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Hjelp"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Søk etter folk eller innhald"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Søk"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Statusmelding"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Lokale syningar"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Sidenotis"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Andrenivås side navigasjon"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Hjelp"
+
+#: lib/action.php:754
msgid "About"
msgstr "Om"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "OSS"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Personvern"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Kjeldekode"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
+#: lib/action.php:771
#, fuzzy
msgid "Badge"
msgstr "Dult"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNets programvarelisens"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4751,12 +4954,12 @@ msgstr ""
"**%%site.name%%** er ei mikrobloggingteneste av [%%site.broughtby%%](%%site."
"broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** er ei mikrobloggingteneste. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4767,117 +4970,159 @@ msgstr ""
"%s, tilgjengeleg under [GNU Affero General Public License](http://www.fsf."
"org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "StatusNets programvarelisens"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Alle"
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "lisens."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginering"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "« Etter"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Før »"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "Du kan ikkje sende melding til denne brukaren."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Registrering ikkje tillatt."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "Kommando ikkje implementert."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "Kommando ikkje implementert."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "Klarte ikkje å lagra Twitter-innstillingane dine!"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Stadfesting av epostadresse"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Invitér"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "SMS bekreftelse"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Personleg"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "SMS bekreftelse"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Brukar"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS bekreftelse"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS bekreftelse"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "SMS bekreftelse"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Statusmelding"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS bekreftelse"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4973,12 +5218,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Endra passord"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Endra passord"
@@ -5064,12 +5309,12 @@ msgstr "%s forlot %s gruppa"
msgid "Fullname: %s"
msgstr "Fullt namn: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Stad: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Heimeside: %s"
@@ -5259,20 +5504,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Ingen stadfestingskode."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
#, fuzzy
msgid "Go to the installer."
msgstr "Logg inn or sida"
@@ -5374,6 +5619,11 @@ msgstr "Velg ein merkelapp for å begrense lista"
msgid "Go"
msgstr "GÃ¥"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL til heimesida eller bloggen for gruppa eller emnet"
@@ -5465,23 +5715,23 @@ msgstr "Systemfeil ved opplasting av fil."
msgid "Not an image or corrupt file."
msgstr "Korrupt bilete."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Støttar ikkje bileteformatet."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Mista fila vår."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Ukjend fil type"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5511,11 +5761,11 @@ msgstr "Log inn med brukarnamn og passord."
msgid "Sign up for a new account"
msgstr "Opprett ny konto"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Stadfesting av epostadresse"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5532,12 +5782,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s høyrer no på notisane dine på %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5558,19 +5808,19 @@ msgstr ""
"Beste helsing,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"Bio: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Ny epostadresse for å oppdatera %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5590,21 +5840,21 @@ msgstr ""
"\n"
"Helsing frå %4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s status"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS bekreftelse"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Du har blitt dulta av %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5620,12 +5870,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Ny privat melding fra %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5644,12 +5894,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s la til di melding som ein favoritt"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5670,12 +5920,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5791,6 +6041,12 @@ msgstr "Til"
msgid "Available characters"
msgstr "Tilgjenglege teikn"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Send"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Send ei melding"
@@ -5850,25 +6106,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "Ingen innhald."
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Lag"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Svar på denne notisen"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Svar"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Melding lagra"
@@ -5944,7 +6200,7 @@ msgstr "Merkelappar i %s sine notisar"
msgid "Unknown"
msgstr "Uventa handling."
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Tingingar"
@@ -5952,24 +6208,24 @@ msgstr "Tingingar"
msgid "All subscriptions"
msgstr "Alle tingingar"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Tingarar"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Tingarar"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "Brukar"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Medlem sidan"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Alle gruppar"
@@ -6012,7 +6268,12 @@ msgstr "Svar på denne notisen"
msgid "Repeat this notice"
msgstr "Svar på denne notisen"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Ei liste over brukarane i denne gruppa."
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6035,6 +6296,10 @@ msgstr "Søk"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Søk"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6089,6 +6354,15 @@ msgstr "Mennesker som tingar %s"
msgid "Groups %s is a member of"
msgstr "Grupper %s er medlem av"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Invitér"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Inviter vennar og kollega til å bli med deg på %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6163,47 +6437,63 @@ msgstr "Melding"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Brukarprofil"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administrator"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "eit par sekund sidan"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "omtrent eitt minutt sidan"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "~%d minutt sidan"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "omtrent ein time sidan"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "~%d timar sidan"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "omtrent ein dag sidan"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "~%d dagar sidan"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "omtrent ein månad sidan"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "~%d månadar sidan"
-#: lib/util.php:970
+#: lib/util.php:1033
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 79b37a5e4..3a0bd39c3 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-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:31+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:36+0000\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
@@ -19,69 +19,75 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Dostęp"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Ustawienia dostępu witryny"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Rejestracja"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Prywatna"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Zabronić anonimowym użytkownikom (niezalogowanym) przeglądać witrynę?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Tylko zaproszeni"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Prywatna"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Rejestracja tylko za zaproszeniem."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Zamknięte"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Tylko zaproszeni"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Zamknięte"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
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
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Zapisz"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Nie ma takiej strony"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -95,45 +101,53 @@ msgstr "Nie ma takiej strony"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Brak takiego użytkownika."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s i przyjaciele, strona %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "Użytkownik %s i przyjaciele"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Kanał dla znajomych użytkownika %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Kanał dla znajomych użytkownika %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Kanał dla znajomych użytkownika %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -141,7 +155,7 @@ msgstr ""
"To jest oś czasu użytkownika %s i przyjaciół, ale nikt jeszcze nic nie "
"wysłał."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -150,7 +164,8 @@ msgstr ""
"Spróbuj subskrybować więcej osób, [dołączyć do grupy](%%action.groups%%) lub "
"wysłać coś samemu."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -160,7 +175,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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -169,7 +184,8 @@ msgstr ""
"Dlaczego nie [zarejestrujesz konta](%%%%action.register%%%%) i wtedy "
"szturchniesz użytkownika %s lub wyślesz wpis wymagającego jego uwagi."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Ty i przyjaciele"
@@ -187,20 +203,20 @@ msgstr "Aktualizacje z %1$s i przyjaciół na %2$s."
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Nie odnaleziono metody API."
@@ -233,8 +249,9 @@ msgstr "Nie można zaktualizować użytkownika."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Użytkownik nie posiada profilu."
@@ -260,7 +277,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -373,68 +390,68 @@ msgstr "Nie można określić użytkownika źródłowego."
msgid "Could not find target user."
msgstr "Nie można odnaleźć użytkownika docelowego."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Pseudonim może zawierać tylko małe litery i cyfry, bez spacji."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Pseudonim jest już używany. Spróbuj innego."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "To nie jest prawidłowy pseudonim."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Strona domowa nie jest prawidłowym adresem URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Imię i nazwisko jest za długie (maksymalnie 255 znaków)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Położenie jest za długie (maksymalnie 255 znaków)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Za dużo aliasów. Maksymalnie %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Nieprawidłowy alias: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Alias \"%s\" jest już używany. Spróbuj innego."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias nie może być taki sam jak pseudonim."
@@ -445,15 +462,15 @@ msgstr "Alias nie może być taki sam jak pseudonim."
msgid "Group not found!"
msgstr "Nie odnaleziono grupy."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Jesteś już członkiem tej grupy."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Zostałeś zablokowany w tej grupie przez administratora."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Nie można dołączyć użytkownika %1$s do grupy %2$s."
@@ -462,7 +479,7 @@ msgstr "Nie można dołączyć użytkownika %1$s do grupy %2$s."
msgid "You are not a member of this group."
msgstr "Nie jesteś członkiem tej grupy."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Nie można usunąć użytkownika %1$s z grupy %2$s."
@@ -493,7 +510,7 @@ msgstr "Nieprawidłowy token."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -535,7 +552,7 @@ msgstr "Token żądania %s został odrzucony lub unieważniony."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -561,13 +578,13 @@ msgstr ""
"uzyskać możliwość <strong>%3$s</strong> danych konta %4$s. Dostęp do konta %4"
"$s powinien być udostępniany tylko zaufanym osobom trzecim."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Konto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -648,18 +665,6 @@ msgstr "%1$s/ulubione wpisy od %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "Użytkownik %1$s aktualizuje ulubione według %2$s/%2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Oś czasu użytkownika %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Aktualizacje z %1$s na %2$s."
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -670,12 +675,12 @@ msgstr "%1$s/aktualizacje wspominajÄ…ce %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s aktualizuje tę odpowiedź na aktualizacje od %2$s/%3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Publiczna oś czasu użytkownika %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "Użytkownik %s aktualizuje od każdego."
@@ -690,12 +695,12 @@ msgstr "Powtórzone dla %s"
msgid "Repeats of %s"
msgstr "Powtórzenia %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Wpisy ze znacznikiem %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Aktualizacje ze znacznikiem %1$s na %2$s."
@@ -711,8 +716,7 @@ msgstr "Nie ma takiego załącznika."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Brak pseudonimu."
@@ -724,7 +728,7 @@ msgstr "Brak rozmiaru."
msgid "Invalid size."
msgstr "Nieprawidłowy rozmiar."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Awatar"
@@ -736,35 +740,35 @@ msgstr "Można wysłać osobisty awatar. Maksymalny rozmiar pliku to %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Użytkownik bez odpowiadającego profilu"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Ustawienia awatara"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Oryginał"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "PodglÄ…d"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Usuń"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Wyślij"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Przytnij"
@@ -772,7 +776,7 @@ msgstr "Przytnij"
msgid "Pick a square area of the image to be your avatar"
msgstr "Wybierz kwadratowy obszar obrazu do awatara"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Utracono dane pliku."
@@ -807,22 +811,22 @@ msgstr ""
"i nie będziesz powiadamiany o żadnych odpowiedziach @ od niego."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nie"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Nie blokuj tego użytkownika"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Tak"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Zablokuj tego użytkownika"
@@ -830,39 +834,43 @@ msgstr "Zablokuj tego użytkownika"
msgid "Failed to save block information."
msgstr "Zapisanie informacji o blokadzie nie powiodło się."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Nie ma takiej grupy."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s zablokowane profile"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s zablokowane profile, strona %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Lista użytkowników zablokowanych w tej grupie."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Odblokuj użytkownika w tej grupie"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Odblokuj"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Odblokuj tego użytkownika"
@@ -918,7 +926,7 @@ msgid "Conversation"
msgstr "Rozmowa"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Wpisy"
@@ -937,7 +945,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Wystąpił problem z tokenem sesji."
@@ -962,12 +970,13 @@ msgstr "Nie usuwaj tej aplikacji"
msgid "Delete this application"
msgstr "Usuń tę aplikację"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Niezalogowany."
@@ -996,7 +1005,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Usuń ten wpis"
@@ -1012,7 +1021,7 @@ msgstr "Nie można usuwać lokalnych użytkowników."
msgid "Delete user"
msgstr "Usuń użytkownika"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1020,12 +1029,12 @@ msgstr ""
"Na pewno usunąć tego użytkownika? Wyczyści to wszystkie dane o użytkowniku z "
"bazy danych, bez utworzenia kopii zapasowej."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Usuń tego użytkownika"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "WyglÄ…d"
@@ -1100,7 +1109,7 @@ msgstr "Zmień kolory"
#: actions/designadminpanel.php:510 lib/designsettings.php:191
msgid "Content"
-msgstr "Zawartość"
+msgstr "Treść"
#: actions/designadminpanel.php:523 lib/designsettings.php:204
msgid "Sidebar"
@@ -1126,6 +1135,18 @@ msgstr "Przywróć domyślny wygląd"
msgid "Reset back to default"
msgstr "Przywróć domyślne ustawienia"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Zapisz"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Zapisz wyglÄ…d"
@@ -1217,29 +1238,29 @@ msgstr "Zmodyfikuj grupÄ™ %s"
msgid "You must be logged in to create a group."
msgstr "Musisz być zalogowany, aby utworzyć grupę."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Musisz być administratorem, aby zmodyfikować grupę."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Użyj tego formularza, aby zmodyfikować grupę."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "opis jest za długi (maksymalnie %d znaków)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Nie można zaktualizować grupy."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Nie można utworzyć aliasów."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Zapisano opcje."
@@ -1358,7 +1379,7 @@ msgid "Cannot normalize that email address"
msgstr "Nie można znormalizować tego adresu e-mail"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "To nie jest prawidłowy adres e-mail."
@@ -1551,6 +1572,22 @@ msgstr "Nie ma takiego pliku."
msgid "Cannot read file."
msgstr "Nie można odczytać pliku."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Nieprawidłowa rola."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Ta rola jest zastrzeżona i nie może zostać ustawiona."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Nie można udzielić rol użytkownikom na tej witrynie."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "Użytkownik ma już tę rolę."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1580,7 +1617,7 @@ msgstr "Użytkownik został już zablokował w grupie."
msgid "User is not a member of group."
msgstr "Użytkownik nie jest członkiem grupy."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Zablokuj użytkownika w grupie"
@@ -1615,91 +1652,97 @@ msgstr "Brak identyfikatora."
msgid "You must be logged in to edit a group."
msgstr "Musisz być zalogowany, aby zmodyfikować grupę."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "WyglÄ…d grupy"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr "Dostosuj wygląd grupy za pomocą wybranego obrazu tła i palety kolorów."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Nie można zaktualizować wyglądu."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Zapisano preferencje wyglÄ…du."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo grupy"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "Można wysłać obraz logo grupy. Maksymalny rozmiar pliku to %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Użytkownik bez odpowiadającego profilu."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Wybierz kwadratowy obszar obrazu, który będzie logo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Zaktualizowano logo."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Zaktualizowanie logo nie powiodło się."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Członkowie grupy %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Członkowie grupy %1$s, strona %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Lista użytkowników znajdujących się w tej grupie."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administrator"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Zablokuj"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Uczyń użytkownika administratorem grupy"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Uczyń administratorem"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Uczyń tego użytkownika administratorem"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Oś czasu użytkownika %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Aktualizacje od członków %1$s na %2$s."
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupy"
@@ -1958,16 +2001,18 @@ msgstr "Osobista wiadomość"
msgid "Optionally add a personal message to the invitation."
msgstr "Opcjonalnie dodaj osobistą wiadomość do zaproszenia."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Wyślij"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s zapraszają cię, abyś dołączył do nich w %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2028,7 +2073,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Musisz być zalogowany, aby dołączyć do grupy."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Brak pseudonimu lub identyfikatora."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "Użytkownik %1$s dołączył do grupy %2$s"
@@ -2037,11 +2086,11 @@ msgstr "Użytkownik %1$s dołączył do grupy %2$s"
msgid "You must be logged in to leave a group."
msgstr "Musisz być zalogowany, aby opuścić grupę."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Nie jesteś członkiem tej grupy."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "Użytkownik %1$s opuścił grupę %2$s"
@@ -2058,8 +2107,7 @@ msgstr "Niepoprawna nazwa użytkownika lub hasło."
msgid "Error setting user. You are probably not authorized."
msgstr "Błąd podczas ustawiania użytkownika. Prawdopodobnie brak upoważnienia."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Zaloguj siÄ™"
@@ -2160,7 +2208,7 @@ msgstr "Nie można wysłać wiadomości do tego użytkownika."
#: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:342
#: lib/command.php:475
msgid "No content!"
-msgstr "Brak zawartości."
+msgstr "Brak treści."
#: actions/newmessage.php:158
msgid "No recipient specified."
@@ -2198,7 +2246,7 @@ msgid ""
"Search for notices on %%site.name%% by their contents. Separate search terms "
"by spaces; they must be 3 characters or more."
msgstr ""
-"Wyszukaj wpisy na %%site.name%% według ich zawartości. Oddziel wyszukiwane "
+"Wyszukaj wpisy na %%site.name%% według ich treści. Oddziel wyszukiwane "
"terminy spacjami. Terminy muszą mieć trzy znaki lub więcej."
#: actions/noticesearch.php:78
@@ -2313,8 +2361,8 @@ msgstr "typ zawartości "
msgid "Only "
msgstr "Tylko "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "To nie jest obsługiwany format danych."
@@ -2453,7 +2501,8 @@ msgstr "Nie można zapisać nowego hasła."
msgid "Password saved."
msgstr "Zapisano hasło."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Ścieżki"
@@ -2486,7 +2535,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Nieprawidłowy serwer SSL. Maksymalna długość to 255 znaków."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Witryny"
@@ -2576,7 +2624,7 @@ msgstr "Katalog tła"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nigdy"
@@ -2632,11 +2680,11 @@ msgstr "Nieprawidłowy znacznik osób: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Użytkownicy używający znacznika %1$s - strona %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Nieprawidłowa zawartość wpisu"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, 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Ä… witryny \"%2$s\"."
@@ -2661,7 +2709,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 małe litery lub liczby, bez spacji i znaków przestankowych"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "ImiÄ™ i nazwisko"
@@ -2689,7 +2737,7 @@ msgid "Bio"
msgstr "O mnie"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2716,7 +2764,7 @@ msgstr ""
"Znaczniki dla siebie (litery, liczby, -, . i _), oddzielone przecinkami lub "
"spacjami"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Język"
@@ -2743,7 +2791,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Wpis \"O mnie\" jest za długi (maksymalnie %d znaków)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Nie wybrano strefy czasowej."
@@ -2772,7 +2820,8 @@ msgstr "Nie można zapisać profilu."
msgid "Couldn't save tags."
msgstr "Nie można zapisać znaczników."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Zapisano ustawienia."
@@ -2785,28 +2834,28 @@ msgstr "Poza ograniczeniem strony (%s)"
msgid "Could not retrieve public stream."
msgstr "Nie można pobrać publicznego strumienia."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Publiczna oÅ› czasu, strona %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Publiczna oÅ› czasu"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Kanał publicznego strumienia (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Kanał publicznego strumienia (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Kanał publicznego strumienia (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2815,11 +2864,11 @@ msgstr ""
"To jest publiczna oÅ› czasu dla %%site.name%%, ale nikt jeszcze nic nie "
"wysłał."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Zostań pierwszym, który coś wyśle."
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2827,7 +2876,7 @@ msgstr ""
"Dlaczego nie [zarejestrujesz konta](%%action.register%%) i zostaniesz "
"pierwszym, który coś wyśle."
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2840,7 +2889,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:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3018,8 +3067,7 @@ msgstr "Nieprawidłowy kod zaproszenia."
msgid "Registration successful"
msgstr "Rejestracja powiodła się"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Zarejestruj siÄ™"
@@ -3062,7 +3110,7 @@ msgid "Same as password above. Required."
msgstr "Takie samo jak powyższe hasło. Wymagane."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
@@ -3168,7 +3216,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "Adres URL profilu na innej, zgodnej usłudze mikroblogowania"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Subskrybuj"
@@ -3206,7 +3254,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Powtórzono"
@@ -3214,33 +3262,33 @@ msgstr "Powtórzono"
msgid "Repeated!"
msgstr "Powtórzono."
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Odpowiedzi na %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "odpowiedzi dla użytkownika %1$s, strona %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Kanał odpowiedzi dla użytkownika %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Kanał odpowiedzi dla użytkownika %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Kanał odpowiedzi dla użytkownika %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3249,7 +3297,7 @@ msgstr ""
"To jest oś czasu wyświetlająca odpowiedzi na wpisy użytkownika %1$s, ale %2"
"$s nie otrzymał jeszcze wpisów wymagających jego uwagi."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3258,7 +3306,7 @@ msgstr ""
"Można nawiązać rozmowę z innymi użytkownikami, subskrybować więcej osób lub "
"[dołączyć do grup](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3272,6 +3320,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "odpowiedzi dla użytkownika %1$s na %2$s."
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Nie można unieważnić rol użytkowników na tej witrynie."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "Użytkownik nie ma tej roli."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3284,8 +3340,9 @@ msgstr "Nie można ograniczać użytkowników na tej witrynie."
msgid "User is already sandboxed."
msgstr "Użytkownik jest już ograniczony."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sesje"
@@ -3309,8 +3366,8 @@ msgstr "Debugowanie sesji"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Zapisz ustawienia witryny"
@@ -3340,8 +3397,8 @@ msgstr "Organizacja"
msgid "Description"
msgstr "Opis"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statystyki"
@@ -3403,22 +3460,22 @@ msgstr "Ulubione wpisy użytkownika %1$s, strona %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Nie można odebrać ulubionych wpisów."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Kanał dla ulubionych wpisów użytkownika %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Kanał dla ulubionych wpisów użytkownika %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Kanał dla ulubionych wpisów użytkownika %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3427,7 +3484,7 @@ msgstr ""
"na wpisach, które chciałbyś dodać do zakładek na później lub rzucić na nie "
"trochę światła."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3436,7 +3493,7 @@ msgstr ""
"Użytkownik %s nie dodał jeszcze żadnych wpisów do ulubionych. Wyślij coś "
"interesującego, aby chcieli dodać to do swoich ulubionych. :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3447,7 +3504,7 @@ msgstr ""
"[zarejestrujesz konta](%%%%action.register%%%%) i wyślesz coś "
"interesującego, aby chcieli dodać to do swoich ulubionych. :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "To jest sposób na współdzielenie tego, co chcesz."
@@ -3461,67 +3518,67 @@ msgstr "Grupa %s"
msgid "%1$s group, page %2$d"
msgstr "Grupa %1$s, strona %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Profil grupy"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "Adres URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Wpis"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Aliasy"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Działania grupy"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Kanał wpisów dla grupy %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Kanał wpisów dla grupy %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Kanał wpisów dla grupy %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF dla grupy %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Członkowie"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Brak)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Wszyscy członkowie"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Utworzono"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3537,7 +3594,7 @@ msgstr ""
"action.register%%%%), aby stać się częścią tej grupy i wiele więcej. "
"([Przeczytaj więcej](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3550,7 +3607,7 @@ msgstr ""
"narzędziu [StatusNet](http://status.net/). Jej członkowie dzielą się "
"krótkimi wiadomościami o swoim życiu i zainteresowaniach. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administratorzy"
@@ -3673,148 +3730,135 @@ msgid "User is already silenced."
msgstr "Użytkownik jest już wyciszony."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "Podstawowe ustawienia tej witryny StatusNet."
+msgid "Basic settings for this StatusNet site"
+msgstr "Podstawowe ustawienia tej witryny StatusNet"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Nazwa witryny nie może mieć zerową długość."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Należy posiadać prawidłowy kontaktowy adres e-mail."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Nieznany język \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "Nieprawidłowy adres URL zgłaszania migawek."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Nieprawidłowa wartość wykonania migawki."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "Częstotliwość migawek musi być liczbą."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Maksymalne ograniczenie tekstu to 14 znaków."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "Ograniczenie duplikatów musi wynosić jedną lub więcej sekund."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Ogólne"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nazwa witryny"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Nazwa strony, taka jak \"Mikroblog firmy X\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Dostarczane przez"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Tekst używany do odnośnika do zasług w stopce każdej strony"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "Adres URL \"Dostarczane przez\""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "Adres URL używany do odnośnika do zasług w stopce każdej strony"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Kontaktowy adres e-mail witryny"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Lokalne"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Domyślna strefa czasowa"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Domyśla strefa czasowa witryny, zwykle UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr "Domyślny język witryny"
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Migawki"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Losowo podczas trafienia WWW"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Jako zaplanowane zadanie"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Migawki danych"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Kiedy wysyłać dane statystyczne na serwery status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Częstotliwość"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Migawki będą wysyłane co N trafień WWW"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
+msgstr "Domyślny język"
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "Adres URL zgłaszania"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Migawki będą wysyłane na ten adres URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
+"Język witryny, kiedy automatyczne wykrywanie z ustawień przeglądarki nie "
+"jest dostępne"
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Ograniczenia"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Ograniczenie tekstu"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Maksymalna liczba znaków wpisów."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Ograniczenie duplikatów"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Ile czasu użytkownicy muszą czekać (w sekundach), aby ponownie wysłać to "
"samo."
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Wpis witryny"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Zmodyfikuj wiadomość witryny"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Nie można zapisać wpisu witryny."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "Maksymalna długość wpisu witryny to 255 znaków"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "Tekst wpisu witryny"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+"Tekst wpisu witryny (maksymalnie 255 znaków, można używać znaczników HTML)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Zapisz wpis witryny"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Ustawienia SMS"
@@ -3914,6 +3958,64 @@ msgstr ""
msgid "No code entered"
msgstr "Nie podano kodu"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Migawki"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "ZarzÄ…dzaj konfiguracjÄ… migawki"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Nieprawidłowa wartość wykonania migawki."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "Częstotliwość migawek musi być liczbą."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "Nieprawidłowy adres URL zgłaszania migawek."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Losowo podczas trafienia WWW"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Jako zaplanowane zadanie"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Migawki danych"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Kiedy wysyłać dane statystyczne na serwery status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Częstotliwość"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Migawki będą wysyłane co N trafień WWW"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "Adres URL zgłaszania"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Migawki będą wysyłane na ten adres URL"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Zapisz ustawienia migawki"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Nie jesteÅ› subskrybowany do tego profilu."
@@ -3925,17 +4027,17 @@ msgstr "Nie można zapisać subskrypcji."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Ta czynność przyjmuje tylko żądania POST."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Nie ma takiego pliku."
+msgstr "Nie ma takiego profilu."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Nie jesteÅ› subskrybowany do tego profilu."
+msgstr ""
+"Nie można subskrybować zdalnego profilu profilu OMB 0.1 za pomocą tej "
+"czynności."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4030,22 +4132,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Wpisy ze znacznikiem %1$s, strona %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Kanał wpisów dla znacznika %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Kanał wpisów dla znacznika %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Kanał wpisów dla znacznika %s (Atom)"
@@ -4100,7 +4202,7 @@ msgstr ""
msgid "No such tag."
msgstr "Nie ma takiego znacznika."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Metoda API jest w trakcie tworzenia."
@@ -4124,7 +4226,7 @@ msgstr "Brak identyfikatora profilu w żądaniu."
msgid "Unsubscribed"
msgstr "Zrezygnowano z subskrypcji"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4132,70 +4234,71 @@ msgstr ""
"Licencja nasłuchiwanego strumienia \"%1$s\" nie jest zgodna z licencją "
"witryny \"%2$s\"."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Użytkownik"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Ustawienia użytkownika dla tej witryny StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Nieprawidłowe ograniczenie informacji o sobie. Musi być liczbowa."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Nieprawidłowy tekst powitania. Maksymalna długość to 255 znaków."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, 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:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Ograniczenie informacji o sobie"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Maksymalna długość informacji o sobie jako liczba znaków."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nowi użytkownicy"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Powitanie nowego użytkownika"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Tekst powitania nowych użytkowników (maksymalnie 255 znaków)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Domyślna subskrypcja"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Automatyczne subskrybowanie nowych użytkowników do tego użytkownika."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Zaproszenia"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Zaproszenia są włączone"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Czy zezwolić użytkownikom zapraszanie nowych użytkowników."
@@ -4323,16 +4426,22 @@ msgstr "Grupy użytkownika %1$s, strona %2$d"
msgid "Search for more groups"
msgstr "Wyszukaj więcej grup"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "Użytkownik %s nie jest członkiem żadnej grupy."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "Spróbuj [wyszukać grupy](%%action.groupsearch%%) i dołączyć do nich."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Aktualizacje z %1$s na %2$s."
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4390,7 +4499,7 @@ msgstr ""
msgid "Plugins"
msgstr "Wtyczki"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Wersja"
@@ -4432,6 +4541,10 @@ msgstr "Nie jest częścią grupy."
msgid "Group leave failed."
msgstr "Opuszczenie grupy nie powiodło się."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Nie można zaktualizować lokalnej grupy."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4449,27 +4562,27 @@ msgstr "Nie można wprowadzić wiadomości."
msgid "Could not update message with new URI."
msgstr "Nie można zaktualizować wiadomości za pomocą nowego adresu URL."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "BÅ‚Ä…d bazy danych podczas wprowadzania znacznika mieszania: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problem podczas zapisywania wpisu. Za długi."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problem podczas zapisywania wpisu. Nieznany użytkownik."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Za dużo wpisów w za krótkim czasie, weź głęboki oddech i wyślij ponownie za "
"kilka minut."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4477,19 +4590,19 @@ msgstr ""
"Za dużo takich samych wiadomości w za krótkim czasie, weź głęboki oddech i "
"wyślij ponownie za kilka minut."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Zabroniono ci wysyłania wpisów na tej witrynie."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problem podczas zapisywania wpisu."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4514,23 +4627,35 @@ msgstr "Niesubskrybowane."
msgid "Couldn't delete self-subscription."
msgstr "Nie można usunąć autosubskrypcji."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Nie można usunąć tokenu subskrypcji OMB."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Nie można usunąć subskrypcji."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Witaj w %1$s, @%2$s."
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Nie można utworzyć grupy."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Nie można ustawić adresu URI grupy."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Nie można ustawić członkostwa w grupie."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Nie można zapisać informacji o lokalnej grupie."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Zmień ustawienia profilu"
@@ -4568,124 +4693,170 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Strona bez nazwy"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Główna nawigacja witryny"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Strona domowa"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Profil osobisty i oś czasu przyjaciół"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Osobiste"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Zmień adres e-mail, awatar, hasło, profil"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Połącz"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Połącz z serwisami"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Połącz"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Zmień konfigurację witryny"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ZaproÅ›"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administrator"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Zaproś przyjaciół i kolegów do dołączenia do ciebie na %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Wyloguj siÄ™"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ZaproÅ›"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Wyloguj siÄ™ z witryny"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Wyloguj siÄ™"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Utwórz konto"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "Zarejestruj siÄ™"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Zaloguj siÄ™ na witrynie"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Pomoc"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Zaloguj siÄ™"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Pomóż mi."
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Wyszukaj"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Pomoc"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Wyszukaj osoby lub tekst"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Wyszukaj"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Wpis witryny"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Lokalne widoki"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Wpis strony"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Druga nawigacja witryny"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Pomoc"
+
+#: lib/action.php:754
msgid "About"
msgstr "O usłudze"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "TOS"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Prywatność"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Kod źródłowy"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Odznaka"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licencja oprogramowania StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4694,12 +4865,12 @@ msgstr ""
"**%%site.name%%** jest usługą mikroblogowania prowadzoną przez [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** jest usługą mikroblogowania. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4710,111 +4881,149 @@ msgstr ""
"status.net/) w wersji %s, dostępnego na [Powszechnej Licencji Publicznej GNU "
"Affero](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licencja zawartości witryny"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Treść i dane %1$s są prywatne i poufne."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
"Prawa autorskie do treści i danych są własnością %1$s. Wszystkie prawa "
"zastrzeżone."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"Prawa autorskie do treści i danych są własnością współtwórców. Wszystkie "
"prawa zastrzeżone."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Wszystko "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licencja."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginacja"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Później"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Wcześniej"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Nie można jeszcze obsługiwać zdalnej treści."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Nie można jeszcze obsługiwać zagnieżdżonej treści XML."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Nie można jeszcze obsługiwać zagnieżdżonej treści Base64."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Nie można wprowadzić zmian witryny."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Zmiany w tym panelu nie sÄ… dozwolone."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() nie jest zaimplementowane."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() nie jest zaimplementowane."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Nie można usunąć ustawienia wyglądu."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Podstawowa konfiguracja witryny"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Witryna"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Konfiguracja wyglÄ…du"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "WyglÄ…d"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Konfiguracja użytkownika"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Użytkownik"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Konfiguracja dostępu"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Konfiguracja ścieżek"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Konfiguracja sesji"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Zmodyfikuj wpis witryny"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "Konfiguracja migawek"
+
+#: lib/apiauth.php:94
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:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4907,11 +5116,11 @@ msgstr "Powiadamia, kiedy pojawia się ten załącznik"
msgid "Tags for this attachment"
msgstr "Znaczniki dla tego załącznika"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Zmiana hasła nie powiodła się"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Zmiana hasła nie jest dozwolona"
@@ -4998,12 +5207,12 @@ msgstr "Użytkownik %1$s opuścił grupę %2$s"
msgid "Fullname: %s"
msgstr "ImiÄ™ i nazwisko: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Położenie: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Strona domowa: %s"
@@ -5112,7 +5321,7 @@ msgstr ""
"minuty: %s."
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
msgstr "Usunięto subskrypcję użytkownika %s"
@@ -5150,7 +5359,6 @@ msgstr[1] "Jesteś członkiem tych grup:"
msgstr[2] "Jesteś członkiem tych grup:"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5195,14 +5403,15 @@ msgstr ""
"on - włącza powiadomienia\n"
"off - wyłącza powiadomienia\n"
"help - wyświetla tę pomoc\n"
-"follow <pseudonim> - włącza obserwowanie użytkownika\n"
+"follow <pseudonim> - subskrybuje użytkownika\n"
"groups - wyświetla listę grup, do których dołączyłeś\n"
"subscriptions - wyświetla listę obserwowanych osób\n"
"subscribers - wyświetla listę osób, które cię obserwują\n"
-"leave <pseudonim> - rezygnuje z obserwowania użytkownika\n"
+"leave <pseudonim> - usuwa subskrypcję użytkownika\n"
"d <pseudonim> <tekst> - bezpośrednia wiadomość do użytkownika\n"
"get <pseudonim> - zwraca ostatni wpis użytkownika\n"
"whois <pseudonim> - zwraca informacje o profilu użytkownika\n"
+"lose <pseudonim> - wymusza użytkownika do zatrzymania obserwowania cię\n"
"fav <pseudonim> - dodaje ostatni wpis użytkownika jako \"ulubiony\"\n"
"fav #<identyfikator_wpisu> - dodaje wpis z podanym identyfikatorem jako "
"\"ulubiony\"\n"
@@ -5231,19 +5440,19 @@ msgstr ""
"tracks - jeszcze nie zaimplementowano\n"
"tracking - jeszcze nie zaimplementowano\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Nie odnaleziono pliku konfiguracji."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Szukano plików konfiguracji w następujących miejscach: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "Należy uruchomić instalator, aby to naprawić."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Przejdź do instalatora."
@@ -5340,6 +5549,11 @@ msgstr "Wybierz znacznik do ograniczonej listy"
msgid "Go"
msgstr "Przejdź"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Nadaj użytkownikowi rolę \"%s\""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "Adres URL strony domowej lub bloga grupy, albo temat"
@@ -5433,23 +5647,23 @@ msgstr "Błąd systemu podczas wysyłania pliku."
msgid "Not an image or corrupt file."
msgstr "To nie jest obraz lub lub plik jest uszkodzony."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Nieobsługiwany format pliku obrazu."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Utracono plik."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Nieznany typ pliku"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "KB"
@@ -5479,11 +5693,11 @@ msgstr "Zaloguj się za pomocą nazwy użytkownika i hasła"
msgid "Sign up for a new account"
msgstr "Załóż nowe konto"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Potwierdzenie adresu e-mail"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5513,12 +5727,12 @@ msgstr ""
"Dziękujemy za twój czas, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "Użytkownik %1$s obserwuje teraz twoje wpisy na %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5543,17 +5757,17 @@ msgstr ""
"----\n"
"Zmień adres e-mail lub opcje powiadamiania na %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "O mnie: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Nowy adres e-mail do wysyłania do %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5574,21 +5788,21 @@ msgstr ""
"Z poważaniem,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Stan użytkownika %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Potwierdzenie SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Zostałeś szturchnięty przez %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5615,12 +5829,12 @@ msgstr ""
"Z poważaniem,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nowa prywatna wiadomość od użytkownika %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5653,12 +5867,12 @@ msgstr ""
"Z poważaniem,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "Użytkownik %s (@%s) dodał twój wpis jako ulubiony"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5696,12 +5910,12 @@ msgstr ""
"Z poważaniem,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "Użytkownik %s (@%s) wysłał wpis wymagający twojej uwagi"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5830,6 +6044,11 @@ msgstr "Do"
msgid "Available characters"
msgstr "Dostępne znaki"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Wyślij"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Wyślij wpis"
@@ -5888,23 +6107,23 @@ msgstr "Zachód"
msgid "at"
msgstr "w"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "w rozmowie"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Powtórzone przez"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Odpowiedz na ten wpis"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Odpowiedz"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Powtórzono wpis"
@@ -5977,7 +6196,7 @@ msgstr "Znaczniki we wpisach użytkownika %s"
msgid "Unknown"
msgstr "Nieznane"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Subskrypcje"
@@ -5985,23 +6204,23 @@ msgstr "Subskrypcje"
msgid "All subscriptions"
msgstr "Wszystkie subskrypcje"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Subskrybenci"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Wszyscy subskrybenci"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "Identyfikator użytkownika"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Członek od"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Wszystkie grupy"
@@ -6041,7 +6260,12 @@ msgstr "Powtórzyć ten wpis?"
msgid "Repeat this notice"
msgstr "Powtórz ten wpis"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Unieważnij rolę \"%s\" tego użytkownika"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
"Nie określono pojedynczego użytkownika dla trybu pojedynczego użytkownika."
@@ -6062,6 +6286,10 @@ msgstr "Przeszukaj witrynÄ™"
msgid "Keyword(s)"
msgstr "SÅ‚owa kluczowe"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Wyszukaj"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Przeszukaj pomoc"
@@ -6113,6 +6341,15 @@ msgstr "Osoby subskrybowane do %s"
msgid "Groups %s is a member of"
msgstr "Grupy %s są członkiem"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ZaproÅ›"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Zaproś przyjaciół i kolegów do dołączenia do ciebie na %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6183,47 +6420,61 @@ msgstr "Wiadomość"
msgid "Moderate"
msgstr "Moderuj"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Rola użytkownika"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administrator"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderator"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "kilka sekund temu"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "około minutę temu"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "około %d minut temu"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "około godzinę temu"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "około %d godzin temu"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "blisko dzień temu"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "około %d dni temu"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "około miesiąc temu"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "około %d miesięcy temu"
-#: lib/util.php:970
+#: lib/util.php:1033
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 e742dda19..7041bea81 100644
--- a/locale/pt/LC_MESSAGES/statusnet.po
+++ b/locale/pt/LC_MESSAGES/statusnet.po
@@ -9,78 +9,86 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:34+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:48+0000\n"
"Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Acesso"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Gravar configurações do site"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Registar"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privado"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Proibir utilizadores anónimos (sem sessão iniciada) de ver o site?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Só por convite"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privado"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Permitir o registo só a convidados."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Fechado"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Só por convite"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Fechado"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Gravar configurações do site"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Gravar"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Página não encontrada."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -94,52 +102,60 @@ msgstr "Página não encontrada."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Utilizador não encontrado."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "Perfis bloqueados de %1$s, página %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s e amigos"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Fonte para os amigos de %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Fonte para os amigos de %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Fonte para os amigos de %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
"Estas são as notas de %s e dos amigos, mas ainda não publicaram nenhuma."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -148,7 +164,8 @@ msgstr ""
"Tente subscrever mais pessoas, [juntar-se a um grupo] (%%action.groups%%) ou "
"publicar qualquer coisa."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -157,7 +174,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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -166,7 +183,8 @@ msgstr ""
"Podia [registar uma conta](%%action.register%%) e depois tocar %s ou "
"publicar uma nota à sua atenção."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Você e seus amigos"
@@ -184,20 +202,20 @@ msgstr "Actualizações de %1$s e amigos no %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Método da API não encontrado."
@@ -230,8 +248,9 @@ msgstr "Não foi possível actualizar o utilizador."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Utilizador não tem perfil."
@@ -257,7 +276,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -369,68 +388,68 @@ msgstr "Não foi possível determinar o utilizador de origem."
msgid "Could not find target user."
msgstr "Não foi possível encontrar o utilizador de destino."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Utilizador só deve conter letras minúsculas e números. Sem espaços."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Utilizador já é usado. Tente outro."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Utilizador não é válido."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Página de ínicio não é uma URL válida."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Nome completo demasiado longo (máx. 255 caracteres)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Localidade demasiado longa (máx. 255 caracteres)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Demasiados sinónimos (máx. %d)."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Sinónimo inválido: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Sinónimo \"%s\" já em uso. Tente outro."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Os sinónimos não podem ser iguais ao nome do utilizador."
@@ -441,15 +460,15 @@ msgstr "Os sinónimos não podem ser iguais ao nome do utilizador."
msgid "Group not found!"
msgstr "Grupo não foi encontrado!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Já é membro desse grupo."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Foi bloqueado desse grupo pelo gestor."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
@@ -458,7 +477,7 @@ msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
msgid "You are not a member of this group."
msgstr "Não é membro deste grupo."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Não foi possível remover %1$s do grupo %2$s."
@@ -490,7 +509,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -534,7 +553,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -557,13 +576,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Conta"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -646,18 +665,6 @@ msgstr "%1$s / Favoritas de %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s actualizações preferidas por %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Notas de %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Actualizações de %1#s a %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -668,12 +675,12 @@ msgstr "%1$s / Actualizações que mencionam %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s actualizações em resposta a actualizações de %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Notas públicas de %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s actualizações de todos!"
@@ -688,12 +695,12 @@ msgstr "Repetida para %s"
msgid "Repeats of %s"
msgstr "Repetências de %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Notas categorizadas com %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Actualizações categorizadas com %1$s em %2$s!"
@@ -709,8 +716,7 @@ msgstr "Anexo não encontrado."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Nenhuma utilizador."
@@ -722,7 +728,7 @@ msgstr "Tamanho não definido."
msgid "Invalid size."
msgstr "Tamanho inválido."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -734,35 +740,35 @@ msgstr "Pode carregar o seu avatar pessoal. O tamanho máximo do ficheiro é %s.
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Utilizador sem perfil correspondente"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Configurações do avatar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Antevisão"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Apagar"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Carregar"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Cortar"
@@ -770,7 +776,7 @@ msgstr "Cortar"
msgid "Pick a square area of the image to be your avatar"
msgstr "Escolha uma área quadrada da imagem para ser o seu avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Perdi os dados do nosso ficheiro."
@@ -805,22 +811,22 @@ msgstr ""
"de futuro e você não receberá notificações das @-respostas dele."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Não"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Não bloquear este utilizador"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sim"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Bloquear este utilizador"
@@ -828,39 +834,43 @@ msgstr "Bloquear este utilizador"
msgid "Failed to save block information."
msgstr "Não foi possível gravar informação do bloqueio."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Grupo não foi encontrado."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s perfis bloqueados"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Perfis bloqueados de %1$s, página %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Uma lista dos utilizadores com entrada bloqueada neste grupo."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Desbloquear utilizador do grupo"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Desbloquear"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Desbloquear este utilizador"
@@ -917,7 +927,7 @@ msgid "Conversation"
msgstr "Conversação"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Notas"
@@ -939,7 +949,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Ocorreu um problema com a sua sessão."
@@ -968,12 +978,13 @@ msgstr "Não apagar esta nota"
msgid "Delete this application"
msgstr "Apagar esta nota"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Não iniciou sessão."
@@ -1002,7 +1013,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Apagar esta nota"
@@ -1018,7 +1029,7 @@ msgstr "Só pode apagar utilizadores locais."
msgid "Delete user"
msgstr "Apagar utilizador"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1026,12 +1037,12 @@ 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/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Apagar este utilizador"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Estilo"
@@ -1134,6 +1145,18 @@ msgstr "Repor estilos predefinidos"
msgid "Reset back to default"
msgstr "Repor predefinição"
+#: 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/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Gravar"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Gravar o estilo"
@@ -1237,29 +1260,29 @@ msgstr "Editar grupo %s"
msgid "You must be logged in to create a group."
msgstr "Tem de iniciar uma sessão para criar o grupo."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Tem de ser administrador para editar o grupo."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Use este formulário para editar o grupo."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "descrição é demasiada extensa (máx. %d caracteres)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Não foi possível actualizar o grupo."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Não foi possível criar sinónimos."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Opções gravadas."
@@ -1382,7 +1405,7 @@ msgid "Cannot normalize that email address"
msgstr "Não é possível normalizar esse endereço electrónico"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Correio electrónico é inválido."
@@ -1574,6 +1597,25 @@ msgstr "Ficheiro não foi encontrado."
msgid "Cannot read file."
msgstr "Não foi possível ler o ficheiro."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Tamanho inválido."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Não pode impedir notas públicas neste site."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "O utilizador já está silenciado."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1603,7 +1645,7 @@ msgstr "Acesso do utilizador ao grupo já foi bloqueado."
msgid "User is not a member of group."
msgstr "Utilizador não é membro do grupo."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Bloquear acesso do utilizador ao grupo"
@@ -1638,11 +1680,11 @@ msgstr "Sem ID."
msgid "You must be logged in to edit a group."
msgstr "Precisa de iniciar sessão para editar um grupo."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Estilo do grupo"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1650,20 +1692,20 @@ msgstr ""
"Personalize o aspecto do seu grupo com uma imagem de fundo e uma paleta de "
"cores à sua escolha."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Não foi possível actualizar o estilo."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Preferências de estilo foram gravadas."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logotipo do grupo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1671,62 +1713,68 @@ msgstr ""
"Pode carregar uma imagem para logotipo do seu grupo. O tamanho máximo do "
"ficheiro é %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Utilizador sem perfil correspondente."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Escolha uma área quadrada da imagem para ser o logotipo."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logotipo actualizado."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Não foi possível actualizar o logotipo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Membros do grupo %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Membros do grupo %1$s, página %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Uma lista dos utilizadores neste grupo."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Gestor"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Bloquear"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Tornar utilizador o gestor do grupo"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Tornar Gestor"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Tornar este utilizador um gestor"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Notas de %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Actualizações dos membros de %1$s em %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupos"
@@ -1986,16 +2034,19 @@ msgstr "Mensagem pessoal"
msgid "Optionally add a personal message to the invitation."
msgstr "Pode optar por acrescentar uma mensagem pessoal ao convite"
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Enviar"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s convidou-o a juntar-se a ele no %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2055,7 +2106,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Precisa de iniciar uma sessão para se juntar a um grupo."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Nenhuma utilizador."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s juntou-se ao grupo %2$s"
@@ -2064,11 +2120,11 @@ msgstr "%1$s juntou-se ao grupo %2$s"
msgid "You must be logged in to leave a group."
msgstr "Precisa de iniciar uma sessão para deixar um grupo."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Não é um membro desse grupo."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s deixou o grupo %2$s"
@@ -2085,8 +2141,7 @@ msgstr "Nome de utilizador ou senha incorrectos."
msgid "Error setting user. You are probably not authorized."
msgstr "Erro ao preparar o utilizador. Provavelmente não está autorizado."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Entrar"
@@ -2346,8 +2401,8 @@ msgstr "tipo de conteúdo "
msgid "Only "
msgstr "Apenas "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Formato de dados não suportado."
@@ -2493,7 +2548,8 @@ msgstr "Não é possível guardar a nova senha."
msgid "Password saved."
msgstr "Senha gravada."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Localizações"
@@ -2526,7 +2582,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Servidor SSL inválido. O tamanho máximo é 255 caracteres."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Site"
@@ -2614,7 +2669,7 @@ msgstr "Directório dos fundos"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nunca"
@@ -2670,11 +2725,11 @@ msgstr "Categoria de pessoas inválida: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Utilizadores auto-categorizados com %1$s - página %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Conteúdo da nota é inválido"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2700,7 +2755,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome completo"
@@ -2728,7 +2783,7 @@ msgid "Bio"
msgstr "Biografia"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2755,7 +2810,7 @@ msgstr ""
"Categorias para si (letras, números, -, ., _), separadas por vírgulas ou "
"espaços"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Idioma"
@@ -2781,7 +2836,7 @@ msgstr "Subscrever automaticamente quem me subscreva (óptimo para não-humanos)
msgid "Bio is too long (max %d chars)."
msgstr "Biografia demasiado extensa (máx. %d caracteres)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Fuso horário não foi seleccionado."
@@ -2810,7 +2865,8 @@ msgstr "Não foi possível gravar o perfil."
msgid "Couldn't save tags."
msgstr "Não foi possível gravar as categorias."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Configurações gravadas."
@@ -2823,28 +2879,28 @@ msgstr "Além do limite de página (%s)"
msgid "Could not retrieve public stream."
msgstr "Não foi possível importar as notas públicas."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Notas públicas, página %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Notas públicas"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Fonte de Notas Públicas (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Fonte de Notas Públicas (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Fonte de Notas Públicas (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2853,11 +2909,11 @@ msgstr ""
"Estas são as notas públicas do site %%site.name%% mas ninguém publicou nada "
"ainda."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Seja a primeira pessoa a publicar!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2865,7 +2921,7 @@ msgstr ""
"Podia [registar uma conta](%%action.register%%) e ser a primeira pessoa a "
"publicar!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2878,7 +2934,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:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3060,8 +3116,7 @@ msgstr "Desculpe, código de convite inválido."
msgid "Registration successful"
msgstr "Registo efectuado"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registar"
@@ -3103,7 +3158,7 @@ msgid "Same as password above. Required."
msgstr "Repita a senha acima. Obrigatório."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correio"
@@ -3209,7 +3264,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL do seu perfil noutro serviço de microblogues compatível"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Subscrever"
@@ -3247,7 +3302,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Repetida"
@@ -3255,33 +3310,33 @@ msgstr "Repetida"
msgid "Repeated!"
msgstr "Repetida!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Respostas a %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Respostas a %1$s em %2$s!"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Fonte de respostas a %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Fonte de respostas a %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Fonte de respostas a %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3290,7 +3345,7 @@ msgstr ""
"Estas são as notas de resposta a %1$s, mas %2$s ainda não recebeu nenhuma "
"resposta."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3299,7 +3354,7 @@ msgstr ""
"Pode meter conversa com outros utilizadores, subscrever mais pessoas ou "
"[juntar-se a grupos](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3313,6 +3368,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respostas a %1$s em %2$s!"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Não pode silenciar utilizadores neste site."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Utilizador sem perfil correspondente."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3325,8 +3390,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessões"
@@ -3351,8 +3417,8 @@ msgstr "Depuração de sessões"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Gravar configurações do site"
@@ -3385,8 +3451,8 @@ msgstr "Paginação"
msgid "Description"
msgstr "Descrição"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Estatísticas"
@@ -3448,22 +3514,22 @@ msgstr "Notas favoritas de %s"
msgid "Could not retrieve favorite notices."
msgstr "Não foi possível importar notas favoritas."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Fonte dos favoritos de %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Fonte dos favoritos de %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Fonte dos favoritos de %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3472,7 +3538,7 @@ msgstr ""
"notas de que goste, para marcá-las para mais tarde ou para lhes dar "
"relevância."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3481,7 +3547,7 @@ msgstr ""
"%s ainda não adicionou nenhuma nota às favoritas. Publique algo interessante "
"que mude este estado de coisas :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3492,7 +3558,7 @@ msgstr ""
"conta](%%action.register%%) e publicar algo interessante que mude este "
"estado de coisas :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Esta é uma forma de partilhar aquilo de que gosta."
@@ -3506,67 +3572,67 @@ msgstr "Grupo %s"
msgid "%1$s group, page %2$d"
msgstr "Membros do grupo %1$s, página %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Perfil do grupo"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Anotação"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Sinónimos"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Acções do grupo"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Fonte de notas do grupo %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Fonte de notas do grupo %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Fonte de notas do grupo %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF do grupo %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Membros"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Nenhum)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Todos os membros"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Criado"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3582,7 +3648,7 @@ msgstr ""
"[Registe-se agora](%%action.register%%) para se juntar a este grupo e a "
"muitos mais! ([Saber mais](%%doc.help%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3595,7 +3661,7 @@ msgstr ""
"programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
"grupo partilham mensagens curtas acerca das suas vidas e interesses. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Gestores"
@@ -3717,148 +3783,139 @@ msgid "User is already silenced."
msgstr "O utilizador já está silenciado."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "Configurações básicas para este site StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Nome do site não pode ter comprimento zero."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Tem de ter um endereço válido para o correio electrónico de contacto."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Língua desconhecida \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "URL para onde enviar instantâneos é inválida"
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Valor de criação do instantâneo é inválido."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "Frequência dos instantâneos estatísticos tem de ser um número."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "O valor mínimo de limite para o texto é 140 caracteres."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "O limite de duplicados tem de ser 1 ou mais segundos."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Geral"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nome do site"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "O nome do seu site, por exemplo \"Microblogue NomeDaEmpresa\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Disponibilizado por"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Texto usado para a ligação de atribuição no rodapé de cada página"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URL da atribuição"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL usada para a ligação de atribuição no rodapé de cada página"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Endereço de correio electrónico de contacto para o site"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Local"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Fuso horário, por omissão"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Fuso horário por omissão, para o site; normalmente, UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Idioma do site, por omissão"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Instantâneos"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Aleatoriamente, durante o acesso pela internet"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Num processo agendado"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Instantâneos dos dados"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Quando enviar dados estatísticos para os servidores do status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frequência"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Instantâneos serão enviados uma vez a cada N acessos da internet"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL para relatórios"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Instantâneos serão enviados para esta URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limites"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Limite de texto"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Número máximo de caracteres nas notas."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Limite de duplicações"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Quanto tempo os utilizadores terão de esperar (em segundos) para publicar a "
"mesma coisa outra vez."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Aviso do site"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Mensagem nova"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Não foi possível gravar as configurações do estilo."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Aviso do site"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Aviso do site"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Configurações de SMS"
@@ -3959,6 +4016,66 @@ msgstr ""
msgid "No code entered"
msgstr "Nenhum código introduzido"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Instantâneos"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Alterar a configuração do site"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Valor de criação do instantâneo é inválido."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "Frequência dos instantâneos estatísticos tem de ser um número."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "URL para onde enviar instantâneos é inválida"
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Aleatoriamente, durante o acesso pela internet"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Num processo agendado"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Instantâneos dos dados"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Quando enviar dados estatísticos para os servidores do status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frequência"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Instantâneos serão enviados uma vez a cada N acessos da internet"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL para relatórios"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Instantâneos serão enviados para esta URL"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Gravar configurações do site"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Não subscreveu esse perfil."
@@ -4075,22 +4192,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Utilizadores auto-categorizados com %1$s - página %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Fonte de notas para a categoria %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Fonte de notas para a categoria %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Fonte de notas para a categoria %s (Atom)"
@@ -4144,7 +4261,7 @@ msgstr ""
msgid "No such tag."
msgstr "Categoria não existe."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Método da API em desenvolvimento."
@@ -4168,7 +4285,7 @@ msgstr "O pedido não tem a identificação do perfil."
msgid "Unsubscribed"
msgstr "Subscrição cancelada"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4176,70 +4293,72 @@ msgstr ""
"Licença ‘%1$s’ da listenee stream não é compatível com a licença ‘%2$s’ do "
"site."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Utilizador"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Configurações do utilizador para este site StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite da biografia inválido. Tem de ser numérico."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Texto de boas-vindas inválido. Tamanho máx. é 255 caracteres."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, 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:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Limite da Biografia"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Tamanho máximo de uma biografia em caracteres."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Utilizadores novos"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Boas-vindas a utilizadores novos"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Texto de boas-vindas a utilizadores novos (máx. 255 caracteres)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Subscrição predefinida"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Novos utilizadores subscrevem automaticamente este utilizador."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Convites"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Convites habilitados"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Permitir, ou não, que utilizadores convidem utilizadores novos."
@@ -4370,16 +4489,22 @@ msgstr "Membros do grupo %1$s, página %2$d"
msgid "Search for more groups"
msgstr "Procurar mais grupos"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s não é membro de nenhum grupo."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "Tente [pesquisar grupos](%%action.groupsearch%%) e juntar-se a eles."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Actualizações de %1#s a %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4434,7 +4559,7 @@ msgstr ""
msgid "Plugins"
msgstr "Plugins"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Versão"
@@ -4477,6 +4602,11 @@ msgstr "Não foi possível actualizar o grupo."
msgid "Group leave failed."
msgstr "Perfil do grupo"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Não foi possível actualizar o grupo."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4494,27 +4624,27 @@ msgstr "Não foi possível inserir a mensagem."
msgid "Could not update message with new URI."
msgstr "Não foi possível actualizar a mensagem com a nova URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Erro na base de dados ao inserir a marca: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problema na gravação da nota. Demasiado longa."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problema na gravação da nota. Utilizador desconhecido."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Demasiadas notas, demasiado rápido; descanse e volte a publicar daqui a "
"alguns minutos."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4522,20 +4652,20 @@ msgstr ""
"Demasiadas mensagens duplicadas, demasiado rápido; descanse e volte a "
"publicar daqui a alguns minutos."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Está proibido de publicar notas neste site."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problema na gravação da nota."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Problema na gravação da nota."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4560,23 +4690,38 @@ msgstr "Não subscrito!"
msgid "Couldn't delete self-subscription."
msgstr "Não foi possível apagar a auto-subscrição."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Não foi possível apagar a subscrição."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Não foi possível apagar a subscrição."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "%1$s dá-lhe as boas-vindas, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Não foi possível criar o grupo."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Não foi possível configurar membros do grupo."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Não foi possível configurar membros do grupo."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Não foi possível gravar a subscrição."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Modificar as suas definições de perfil"
@@ -4614,124 +4759,187 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "Página sem título"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navegação primária deste site"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Início"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Perfil pessoal e notas dos amigos"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Pessoal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Altere o seu endereço electrónico, avatar, senha, perfil"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Ligar"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Ligar aos serviços"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Ligar"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Alterar a configuração do site"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Convidar"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Gestor"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Convidar amigos e colegas para se juntarem a si em %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Sair"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Convidar"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Terminar esta sessão"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Sair"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Criar uma conta"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registar"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Iniciar uma sessão"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Ajuda"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Entrar"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Ajudem-me!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Pesquisa"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Ajuda"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Procurar pessoas ou pesquisar texto"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Pesquisa"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Aviso do site"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Vistas locais"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Aviso da página"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Navegação secundária deste site"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Ajuda"
+
+#: lib/action.php:754
msgid "About"
msgstr "Sobre"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "Termos"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacidade"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Código"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contacto"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Emblema"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licença de software do StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4740,12 +4948,12 @@ msgstr ""
"**%%site.name%%** é um serviço de microblogues disponibilizado por [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** é um serviço de microblogues. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4756,108 +4964,150 @@ msgstr ""
"disponibilizado nos termos da [GNU Affero General Public License](http://www."
"fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licença de conteúdos do site"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Tudo "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licença."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginação"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Posteriores"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Anteriores"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Não pode fazer alterações a este site."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Não são permitidas alterações a esse painel."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() não implementado."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() não implementado."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Não foi possível apagar a configuração do estilo."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configuração básica do site"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configuração do estilo"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Estilo"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Configuração das localizações"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Utilizador"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Configuração do estilo"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Configuração das localizações"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Configuração do estilo"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Aviso do site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Configuração das localizações"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4952,11 +5202,11 @@ msgstr "Notas em que este anexo aparece"
msgid "Tags for this attachment"
msgstr "Categorias para este anexo"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Não foi possível mudar a palavra-chave"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Não é permitido mudar a palavra-chave"
@@ -5043,12 +5293,12 @@ msgstr "%s deixou o grupo %s"
msgid "Fullname: %s"
msgstr "Nome completo: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Localidade: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Página pessoal: %s"
@@ -5272,19 +5522,19 @@ msgstr ""
"tracks - ainda não implementado.\n"
"tracking - ainda não implementado.\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Ficheiro de configuração não encontrado. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Procurei ficheiros de configuração nos seguintes sítios: "
-#: lib/common.php:139
+#: lib/common.php:151
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:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Ir para o instalador."
@@ -5384,6 +5634,11 @@ msgstr "Escolha uma categoria para reduzir a lista"
msgid "Go"
msgstr "Prosseguir"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL da página ou do blogue, deste grupo ou assunto"
@@ -5474,23 +5729,23 @@ msgstr "Ocorreu um erro de sistema ao transferir o ficheiro."
msgid "Not an image or corrupt file."
msgstr "Ficheiro não é uma imagem ou está corrompido."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Formato do ficheiro da imagem não é suportado."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Perdi o nosso ficheiro."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Tipo do ficheiro é desconhecido"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5520,11 +5775,11 @@ msgstr "Iniciar sessão com um nome de utilizador e senha"
msgid "Sign up for a new account"
msgstr "Registar uma conta nova"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmação do endereço electrónico"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5553,12 +5808,12 @@ msgstr ""
"Obrigado pelo tempo que dedicou, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s está agora a ouvir as suas notas em %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5584,17 +5839,17 @@ msgstr ""
"Altere o seu endereço de correio electrónico ou as opções de notificação em %"
"8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Bio: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Novo endereço electrónico para publicar no site %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5615,21 +5870,21 @@ msgstr ""
"Melhores cumprimentos,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Estado de %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Confirmação SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s envia-lhe um toque"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5656,12 +5911,12 @@ msgstr ""
"Graciosamente,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nova mensagem privada de %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5694,12 +5949,12 @@ msgstr ""
"Profusos cumprimentos,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) adicionou a sua nota às favoritas."
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5736,12 +5991,12 @@ msgstr ""
"Sinceramente,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) enviou uma nota à sua atenção"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5873,6 +6128,12 @@ msgstr "Para"
msgid "Available characters"
msgstr "Caracteres disponíveis"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Enviar"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Enviar uma nota"
@@ -5930,23 +6191,23 @@ msgstr "O"
msgid "at"
msgstr "coords."
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Responder a esta nota"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Nota repetida"
@@ -6019,7 +6280,7 @@ msgstr "Categorias nas notas de %s"
msgid "Unknown"
msgstr "Desconhecida"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Subscrições"
@@ -6027,23 +6288,23 @@ msgstr "Subscrições"
msgid "All subscriptions"
msgstr "Todas as subscrições"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Subscritores"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Todos os subscritores"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID do utilizador"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membro desde"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Todos os grupos"
@@ -6083,7 +6344,12 @@ msgstr "Repetir esta nota?"
msgid "Repeat this notice"
msgstr "Repetir esta nota"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Bloquear acesso deste utilizador a este grupo"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6103,6 +6369,10 @@ msgstr "Pesquisar site"
msgid "Keyword(s)"
msgstr "Categorias"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Pesquisa"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Pesquisar ajuda"
@@ -6154,6 +6424,15 @@ msgstr "Pessoas que subscrevem %s"
msgid "Groups %s is a member of"
msgstr "Grupos de que %s é membro"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Convidar"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Convidar amigos e colegas para se juntarem a si em %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6224,47 +6503,64 @@ msgstr "Mensagem"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Perfil"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Gestores"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderar"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "há alguns segundos"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "há cerca de um minuto"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "há cerca de %d minutos"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "há cerca de uma hora"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "há cerca de %d horas"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "há cerca de um dia"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "há cerca de %d dias"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "há cerca de um mês"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "há cerca de %d meses"
-#: lib/util.php:970
+#: lib/util.php:1033
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 18659cecf..51d926eba 100644
--- a/locale/pt_BR/LC_MESSAGES/statusnet.po
+++ b/locale/pt_BR/LC_MESSAGES/statusnet.po
@@ -11,75 +11,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:37+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:51+0000\n"
"Language-Team: Brazilian Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Acesso"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Configurações de acesso ao site"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registro"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Particular"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "Impedir usuários anônimos (não autenticados) de visualizar o site?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Somente convidados"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Particular"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Cadastro liberado somente para convidados."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Fechado"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Somente convidados"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Fechado"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Salvar as configurações de acesso"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Salvar"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Esta página não existe."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -93,45 +101,53 @@ msgstr "Esta página não existe."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Este usuário não existe."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s e amigos, pág. %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s e amigos"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Fonte de mensagens dos amigos de %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Fonte de mensagens dos amigos de %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Fonte de mensagens dos amigos de %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
@@ -139,7 +155,7 @@ msgstr ""
"Esse é o fluxo de mensagens de %s e seus amigos, mas ninguém publicou nada "
"ainda."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -148,7 +164,8 @@ msgstr ""
"Tente assinar mais pessoas, [unir-ser a um grupo](%%action.groups%%) ou "
"publicar algo."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -158,7 +175,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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -167,7 +184,8 @@ msgstr ""
"Por que não [registrar uma conta](%%%%action.register%%%%) e então chamar a "
"atenção de %s ou publicar uma mensagem para sua atenção."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Você e amigos"
@@ -185,20 +203,20 @@ msgstr "Atualizações de %1$s e amigos no %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "O método da API não foi encontrado!"
@@ -232,8 +250,9 @@ msgstr "Não foi possível atualizar o usuário."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "O usuário não tem perfil."
@@ -259,7 +278,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -371,7 +390,7 @@ msgstr "Não foi possível determinar o usuário de origem."
msgid "Could not find target user."
msgstr "Não foi possível encontrar usuário de destino."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -379,62 +398,62 @@ msgstr ""
"A identificação deve conter apenas letras minúsculas e números e não pode "
"ter e espaços."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Esta identificação já está em uso. Tente outro."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Não é uma identificação válida."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "A URL informada não é válida."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
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:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Localização muito extensa (máx. 255 caracteres)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Muitos apelidos! O máximo são %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Apelido inválido: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "O apelido \"%s\" já está em uso. Tente outro."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "O apelido não pode ser igual à identificação."
@@ -445,15 +464,15 @@ msgstr "O apelido não pode ser igual à identificação."
msgid "Group not found!"
msgstr "O grupo não foi encontrado!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Você já é membro desse grupo."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "O administrador desse grupo bloqueou sua inscrição."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Não foi possível associar o usuário %1$s ao grupo %2$s."
@@ -462,7 +481,7 @@ msgstr "Não foi possível associar o usuário %1$s ao grupo %2$s."
msgid "You are not a member of this group."
msgstr "Você não é membro deste grupo."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Não foi possível remover o usuário %1$s do grupo %2$s."
@@ -493,7 +512,7 @@ msgstr "Token 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -539,7 +558,7 @@ msgstr "O token %s solicitado foi negado e revogado."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -566,13 +585,13 @@ msgstr ""
"fornecer acesso à sua conta %4$s somente para terceiros nos quais você "
"confia."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Conta"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -653,18 +672,6 @@ msgstr "%1$s / Favoritas de %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s marcadas como favoritas por %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Mensagens de %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Mensagens de %1$s no %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -675,12 +682,12 @@ msgstr "%1$s / Mensagens mencionando %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s mensagens em resposta a mensagens de %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "Mensagens públicas de %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s mensagens de todo mundo!"
@@ -695,12 +702,12 @@ msgstr "Repetida para %s"
msgid "Repeats of %s"
msgstr "Repetições de %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Mensagens etiquetadas como %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Mensagens etiquetadas como %1$s no %2$s!"
@@ -716,8 +723,7 @@ msgstr "Este anexo não existe."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Nenhuma identificação."
@@ -729,7 +735,7 @@ msgstr "Sem tamanho definido."
msgid "Invalid size."
msgstr "Tamanho inválido."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -742,35 +748,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Usuário sem um perfil correspondente"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Configurações do avatar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Original"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Visualização"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Excluir"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Enviar"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Cortar"
@@ -778,7 +784,7 @@ msgstr "Cortar"
msgid "Pick a square area of the image to be your avatar"
msgstr "Selecione uma área quadrada da imagem para ser seu avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Os dados do nosso arquivo foram perdidos."
@@ -814,22 +820,22 @@ msgstr ""
"você."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Não"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Não bloquear este usuário"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Sim"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Bloquear este usuário"
@@ -837,39 +843,43 @@ msgstr "Bloquear este usuário"
msgid "Failed to save block information."
msgstr "Não foi possível salvar a informação de bloqueio."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Esse grupo não existe."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "Perfis bloqueados no %s"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Perfis bloqueados no %1$s, pág. %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "Uma lista dos usuários proibidos de se associarem a este grupo."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Desbloquear o usuário do grupo"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Desbloquear"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Desbloquear este usuário"
@@ -925,7 +935,7 @@ msgid "Conversation"
msgstr "Conversa"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Mensagens"
@@ -944,7 +954,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Ocorreu um problema com o seu token de sessão."
@@ -970,12 +980,13 @@ msgstr "Não excluir esta aplicação"
msgid "Delete this application"
msgstr "Excluir esta aplicação"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Você não está autenticado."
@@ -1004,7 +1015,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Excluir esta mensagem"
@@ -1020,7 +1031,7 @@ msgstr "Você só pode excluir usuários locais."
msgid "Delete user"
msgstr "Excluir usuário"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1028,12 +1039,12 @@ msgstr ""
"Tem certeza que deseja excluir este usuário? Isso eliminará todos os dados "
"deste usuário do banco de dados, sem cópia de segurança."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Excluir este usuário"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Aparência"
@@ -1136,6 +1147,18 @@ msgstr "Restaura a aparência padrão"
msgid "Reset back to default"
msgstr "Restaura de volta ao padrão"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Salvar"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Salvar a aparência"
@@ -1227,29 +1250,29 @@ msgstr "Editar o grupo %s"
msgid "You must be logged in to create a group."
msgstr "Você deve estar autenticado para criar um grupo."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Você deve ser um administrador para editar o grupo."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Use esse formulário para editar o grupo."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "descrição muito extensa (máximo %d caracteres)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Não foi possível atualizar o grupo."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Não foi possível criar os apelidos."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "As configurações foram salvas."
@@ -1371,7 +1394,7 @@ msgid "Cannot normalize that email address"
msgstr "Não foi possível normalizar este endereço de e-mail"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Não é um endereço de e-mail válido."
@@ -1565,6 +1588,25 @@ msgstr "Esse arquivo não existe."
msgid "Cannot read file."
msgstr "Não foi possível ler o arquivo."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Token inválido."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Você não pode colocar usuários deste site em isolamento."
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "O usuário já está silenciado."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1594,7 +1636,7 @@ msgstr "O usuário já está bloqueado no grupo."
msgid "User is not a member of group."
msgstr "O usuário não é um membro do grupo"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Bloquear o usuário no grupo"
@@ -1630,11 +1672,11 @@ msgstr "Nenhuma ID."
msgid "You must be logged in to edit a group."
msgstr "Você precisa estar autenticado para editar um grupo."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Aparência do grupo"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1642,20 +1684,20 @@ msgstr ""
"Personalize a aparência do grupo com uma imagem de fundo e uma paleta de "
"cores à sua escolha."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Não foi possível atualizar a aparência."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "As configurações da aparência foram salvas."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Logo do grupo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1663,62 +1705,68 @@ msgstr ""
"Você pode enviar uma imagem de logo para o seu grupo. O tamanho máximo do "
"arquivo é %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Usuário sem um perfil correspondente"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Selecione uma área quadrada da imagem para definir a logo"
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "A logo foi atualizada."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Não foi possível atualizar a logo."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "Membros do grupo %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Membros do grupo %1$s, pág. %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "Uma lista dos usuários deste grupo."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Admin"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Bloquear"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Tornar o usuário um administrador do grupo"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Tornar administrador"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Torna este usuário um administrador"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Mensagens de %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Atualizações dos membros de %1$s no %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupos"
@@ -1979,16 +2027,19 @@ msgstr "Mensagem pessoal"
msgid "Optionally add a personal message to the invitation."
msgstr "Você pode, opcionalmente, adicionar uma mensagem pessoal ao convite."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Enviar"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s convidou você para se juntar a %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2049,7 +2100,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Você deve estar autenticado para se associar a um grupo."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Nenhuma identificação."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s associou-se ao grupo %2$s"
@@ -2058,11 +2114,11 @@ msgstr "%1$s associou-se ao grupo %2$s"
msgid "You must be logged in to leave a group."
msgstr "Você deve estar autenticado para sair de um grupo."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Você não é um membro desse grupo."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s deixou o grupo %2$s"
@@ -2080,8 +2136,7 @@ msgid "Error setting user. You are probably not authorized."
msgstr ""
"Erro na configuração do usuário. Você provavelmente não tem autorização."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Entrar"
@@ -2341,8 +2396,8 @@ msgstr "tipo de conteúdo "
msgid "Only "
msgstr "Apenas "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Não é um formato de dados suportado."
@@ -2483,7 +2538,8 @@ msgstr "Não é possível salvar a nova senha."
msgid "Password saved."
msgstr "A senha foi salva."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Caminhos"
@@ -2517,7 +2573,6 @@ msgstr ""
"Servidor SSL inválido. O comprimento máximo deve ser de 255 caracteres."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Site"
@@ -2605,7 +2660,7 @@ msgstr "Diretório das imagens de fundo"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Nunca"
@@ -2660,11 +2715,11 @@ msgstr "Não é uma etiqueta de pessoa válida: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Usuários auto-etiquetados com %1$s - pág. %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "O conteúdo da mensagem é inválido"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2690,7 +2745,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 letras minúsculas ou números, sem pontuações ou espaços"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome completo"
@@ -2718,7 +2773,7 @@ msgid "Bio"
msgstr "Descrição"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2745,7 +2800,7 @@ msgstr ""
"Suas etiquetas (letras, números, -, ., e _), separadas por vírgulas ou "
"espaços"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Idioma"
@@ -2772,7 +2827,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "A descrição é muito extensa (máximo %d caracteres)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "O fuso horário não foi selecionado."
@@ -2801,7 +2856,8 @@ msgstr "Não foi possível salvar o perfil."
msgid "Couldn't save tags."
msgstr "Não foi possível salvar as etiquetas."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "As configurações foram salvas."
@@ -2814,28 +2870,28 @@ msgstr "Além do limite da página (%s)"
msgid "Could not retrieve public stream."
msgstr "Não foi possível recuperar o fluxo público."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Mensagens públicas, pág. %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Mensagens públicas"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Fonte de mensagens públicas (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Fonte de mensagens públicas (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Fonte de mensagens públicas (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2844,11 +2900,11 @@ msgstr ""
"Esse é o fluxo de mensagens públicas de %%site.name%%, mas ninguém publicou "
"nada ainda."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Seja o primeiro a publicar!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2856,7 +2912,7 @@ msgstr ""
"Por que você não [registra uma conta](%%action.register%%) pra ser o "
"primeiro a publicar?"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2869,7 +2925,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:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3052,8 +3108,7 @@ msgstr "Desculpe, mas o código do convite é inválido."
msgid "Registration successful"
msgstr "Registro realizado com sucesso"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrar-se"
@@ -3095,7 +3150,7 @@ msgid "Same as password above. Required."
msgstr "Igual à senha acima. Obrigatório."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
@@ -3201,7 +3256,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL do seu perfil em outro serviço de microblog compatível"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Assinar"
@@ -3238,7 +3293,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Repetida"
@@ -3246,33 +3301,33 @@ msgstr "Repetida"
msgid "Repeated!"
msgstr "Repetida!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Respostas para %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Respostas para %1$s, pág. %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Fonte de respostas para %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Fonte de respostas para %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Fonte de respostas para %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3281,7 +3336,7 @@ msgstr ""
"Esse é o fluxo de mensagens de resposta para %1$s, mas %2$s ainda não "
"recebeu nenhuma mensagem direcionada a ele(a)."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3290,7 +3345,7 @@ msgstr ""
"Você pode envolver outros usuários na conversa. Pra isso, assine mais "
"pessoas ou [associe-se a grupos](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3305,6 +3360,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Respostas para %1$s no %2$s"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Você não pode silenciar os usuários neste site."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Usuário sem um perfil correspondente"
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3317,8 +3382,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessões"
@@ -3342,8 +3408,8 @@ msgstr "Depuração da sessão"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Salvar as configurações do site"
@@ -3373,8 +3439,8 @@ msgstr "Organização"
msgid "Description"
msgstr "Descrição"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Estatísticas"
@@ -3436,22 +3502,22 @@ msgstr "Mensagens favoritas de %1$s, pág. %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Não foi possível recuperar as mensagens favoritas."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Fonte para favoritas de %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Fonte para favoritas de %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Fonte para favoritas de %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3460,7 +3526,7 @@ msgstr ""
"\"Favorita\" nas mensagens que você quer guardar para referência futura ou "
"para destacar."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3469,7 +3535,7 @@ msgstr ""
"%s não adicionou nenhuma mensagem às suas favoritas. Publique alguma coisa "
"interessante para para as pessoas marcarem como favorita. :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3480,7 +3546,7 @@ msgstr ""
"[registra uma conta](%%%%action.register%%%%) e publica alguma coisa "
"interessante para as pessoas marcarem como favorita? :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Esta é uma forma de compartilhar o que você gosta."
@@ -3494,67 +3560,67 @@ msgstr "Grupo %s"
msgid "%1$s group, page %2$d"
msgstr "Grupo %1$s, pág. %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Perfil do grupo"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "Site"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Mensagem"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Apelidos"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Ações do grupo"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Fonte de mensagens do grupo %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Fonte de mensagens do grupo %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Fonte de mensagens do grupo %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF para o grupo %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Membros"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Nenhum)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Todos os membros"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Criado"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3570,7 +3636,7 @@ msgstr ""
"para se tornar parte deste grupo e muito mais! ([Saiba mais](%%%%doc.help%%%"
"%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3583,7 +3649,7 @@ msgstr ""
"[StatusNet](http://status.net/). Seus membros compartilham mensagens curtas "
"sobre suas vidas e interesses. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administradores"
@@ -3707,148 +3773,139 @@ msgid "User is already silenced."
msgstr "O usuário já está silenciado."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "Configurações básicas para esta instância do StatusNet."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Você deve digitar alguma coisa para o nome do site."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Você deve ter um endereço de e-mail para contato válido."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Idioma \"%s\" desconhecido."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "A URL para o envio das estatísticas é inválida."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "O valor de execução da obtenção das estatísticas é inválido."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "A frequência de geração de estatísticas deve ser um número."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "O comprimento máximo do texto é de 140 caracteres."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "O limite de duplicatas deve ser de um ou mais segundos."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Geral"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Nome do site"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "O nome do seu site, por exemplo \"Microblog da Sua Empresa\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Disponibilizado por"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Texto utilizado para o link de créditos no rodapé de cada página"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URL do disponibilizado por"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL utilizada para o link de créditos no rodapé de cada página"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Endereço de e-mail para contatos do seu site"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Local"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Fuso horário padrão"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Fuso horário padrão para o seu site; geralmente UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Idioma padrão do site"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Estatísticas"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Aleatoriamente durante o funcionamento"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Em horários pré-definidos"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Estatísticas dos dados"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Quando enviar dados estatísticos para os servidores status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frequentemente"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "As estatísticas serão enviadas uma vez a cada N usos da web"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL para envio"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "As estatísticas serão enviadas para esta URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Limites"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Limite do texto"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Número máximo de caracteres para as mensagens."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Limite de duplicatas"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Quanto tempo (em segundos) os usuários devem esperar para publicar a mesma "
"coisa novamente."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Mensagem do site"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nova mensagem"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Não foi possível salvar suas configurações de aparência."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Mensagem do site"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Mensagem do site"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Configuração do SMS"
@@ -3947,6 +4004,66 @@ msgstr ""
msgid "No code entered"
msgstr "Não foi digitado nenhum código"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Estatísticas"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Mude as configurações do site"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "O valor de execução da obtenção das estatísticas é inválido."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "A frequência de geração de estatísticas deve ser um número."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "A URL para o envio das estatísticas é inválida."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Aleatoriamente durante o funcionamento"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Em horários pré-definidos"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Estatísticas dos dados"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Quando enviar dados estatísticos para os servidores status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frequentemente"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "As estatísticas serão enviadas uma vez a cada N usos da web"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL para envio"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "As estatísticas serão enviadas para esta URL"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Salvar as configurações do site"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Você não está assinando esse perfil."
@@ -4063,22 +4180,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Mensagens etiquetadas com %1$s, pág. %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Fonte de mensagens de %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Fonte de mensagens de %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Fonte de mensagens de %s (Atom)"
@@ -4132,7 +4249,7 @@ msgstr ""
msgid "No such tag."
msgstr "Esta etiqueta não existe."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "O método da API está em construção."
@@ -4156,7 +4273,7 @@ msgstr "Nenhuma ID de perfil na requisição."
msgid "Unsubscribed"
msgstr "Cancelado"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4164,71 +4281,73 @@ msgstr ""
"A licença '%1$s' do fluxo do usuário não é compatível com a licença '%2$s' "
"do site."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "Usuário"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Configurações de usuário para este site StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Limite da descrição inválido. Seu valor deve ser numérico."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
"Mensagem de boas vindas inválida. O comprimento máximo é de 255 caracteres."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, 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:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Perfil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Limite da descrição"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Comprimento máximo da descrição do perfil, em caracteres."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Novos usuários"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Boas vindas aos novos usuários"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
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:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Assinatura padrão"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Os novos usuários assinam esse usuário automaticamente."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Convites"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Convites habilitados"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Define se os usuários podem ou não convidar novos usuários."
@@ -4359,18 +4478,24 @@ msgstr "Grupos de %1$s, pág. %2$d"
msgid "Search for more groups"
msgstr "Procurar por outros grupos"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s não é membro de nenhum grupo."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Experimente [procurar por grupos](%%action.groupsearch%%) e associar-se à "
"eles."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Mensagens de %1$s no %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4426,7 +4551,7 @@ msgstr ""
msgid "Plugins"
msgstr "Plugins"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Versão"
@@ -4465,6 +4590,11 @@ msgstr "Não é parte de um grupo."
msgid "Group leave failed."
msgstr "Não foi possível deixar o grupo."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Não foi possível atualizar o grupo."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4482,27 +4612,27 @@ msgstr "Não foi possível inserir a mensagem."
msgid "Could not update message with new URI."
msgstr "Não foi possível atualizar a mensagem com a nova URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Erro no banco de dados durante a inserção da hashtag: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problema no salvamento da mensagem. Ela é muito extensa."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problema no salvamento da mensagem. Usuário desconhecido."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Muitas mensagens em um período curto de tempo; dê uma respirada e publique "
"novamente daqui a alguns minutos."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4510,19 +4640,19 @@ msgstr ""
"Muitas mensagens duplicadas em um período curto de tempo; dê uma respirada e "
"publique novamente daqui a alguns minutos."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Você está proibido de publicar mensagens neste site."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problema no salvamento da mensagem."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problema no salvamento das mensagens recebidas do grupo."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4547,23 +4677,38 @@ msgstr "Não assinado!"
msgid "Couldn't delete self-subscription."
msgstr "Não foi possível excluir a auto-assinatura."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Não foi possível excluir a assinatura."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Não foi possível excluir a assinatura."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Bem vindo(a) a %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Não foi possível criar o grupo."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Não foi possível configurar a associação ao grupo."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Não foi possível configurar a associação ao grupo."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Não foi possível salvar a assinatura."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Alterar as suas configurações de perfil"
@@ -4601,124 +4746,187 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Página sem título"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Navegação primária no site"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Início"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Perfil pessoal e fluxo de mensagens dos amigos"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Pessoal"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Mude seu e-mail, avatar, senha, perfil"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Conectar"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Conecte-se a outros serviços"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Conectar"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Mude as configurações do site"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Convidar"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Admin"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Convide seus amigos e colegas para unir-se a você no %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Sair"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Convidar"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Sai do site"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Sair"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Cria uma conta"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrar-se"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Autentique-se no site"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Ajuda"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Entrar"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Ajudem-me!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Procurar"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Ajuda"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Procura por pessoas ou textos"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Procurar"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Mensagem do site"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Visualizações locais"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Notícia da página"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Navegação secundária no site"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Ajuda"
+
+#: lib/action.php:754
msgid "About"
msgstr "Sobre"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "Termos de uso"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Privacidade"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Fonte"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Contato"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Mini-aplicativo"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Licença do software StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4727,12 +4935,12 @@ msgstr ""
"**%%site.name%%** é um serviço de microblog disponibilizado por [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** é um serviço de microblog. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4743,109 +4951,151 @@ msgstr ""
"versão %s, disponível sob a [GNU Affero General Public License] (http://www."
"fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licença do conteúdo do site"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "O conteúdo e os dados de %1$s são privados e confidenciais."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr "Conteúdo e dados licenciados sob %1$s. Todos os direitos reservados."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"Conteúdo e dados licenciados pelos colaboradores. Todos os direitos "
"reservados."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Todas "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licença."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Paginação"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Próximo"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Anterior"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Você não pode fazer alterações neste site."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Não são permitidas alterações a esse painel."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() não implementado."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() não implementado."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Não foi possível excluir as configurações da aparência."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Configuração básica do site"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Configuração da aparência"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Aparência"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Configuração do usuário"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Usuário"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Configuração do acesso"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Configuração dos caminhos"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Configuração das sessões"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Mensagem do site"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Configuração dos caminhos"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"Os recursos de API exigem acesso de leitura e escrita, mas você possui "
"somente acesso de leitura."
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4938,11 +5188,11 @@ msgstr "Mensagens onde este anexo aparece"
msgid "Tags for this attachment"
msgstr "Etiquetas para este anexo"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Não foi possível alterar a senha"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Não é permitido alterar a senha"
@@ -5029,12 +5279,12 @@ msgstr "%s deixou o grupo %s"
msgid "Fullname: %s"
msgstr "Nome completo: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Localização: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Site: %s"
@@ -5260,19 +5510,19 @@ msgstr ""
"tracks - não implementado ainda\n"
"tracking - não implementado ainda\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Não foi encontrado nenhum arquivo de configuração. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Eu procurei pelos arquivos de configuração nos seguintes lugares: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "Você pode querer executar o instalador para corrigir isto."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Ir para o instalador."
@@ -5370,6 +5620,11 @@ msgstr "Selecione uma etiqueta para reduzir a lista"
msgid "Go"
msgstr "Ir"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL para o site ou blog do grupo ou tópico"
@@ -5462,23 +5717,23 @@ msgstr "Erro no sistema durante o envio do arquivo."
msgid "Not an image or corrupt file."
msgstr "Imagem inválida ou arquivo corrompido."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Formato de imagem não suportado."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Nosso arquivo foi perdido."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Tipo de arquivo desconhecido"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "Mb"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "Kb"
@@ -5508,11 +5763,11 @@ msgstr "Autentique-se com um nome de usuário e uma senha"
msgid "Sign up for a new account"
msgstr "Cadastre-se para uma nova conta"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Confirmação do endereço de e-mail"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5541,12 +5796,12 @@ msgstr ""
"Obrigado pela sua atenção, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s agora está acompanhando suas mensagens no %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5571,17 +5826,17 @@ msgstr ""
"----\n"
"Altere seu endereço de e-mail e suas opções de notificação em %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Descrição: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Novo endereço de e-mail para publicar no %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5602,21 +5857,21 @@ msgstr ""
"Atenciosamente,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "Mensagem de %s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Confirmação de SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Você teve a atenção chamada por %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5643,12 +5898,12 @@ msgstr ""
"Atenciosamente,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nova mensagem particular de %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5681,12 +5936,12 @@ msgstr ""
"Atenciosamente,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) marcou sua mensagem como favorita"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5723,12 +5978,12 @@ msgstr ""
"Atenciosamente,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) enviou uma mensagem citando você"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5862,6 +6117,12 @@ msgstr "Para"
msgid "Available characters"
msgstr "Caracteres disponíveis"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Enviar"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Enviar uma mensagem"
@@ -5920,23 +6181,23 @@ msgstr "O"
msgid "at"
msgstr "em"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Responder a esta mensagem"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Mensagem repetida"
@@ -6009,7 +6270,7 @@ msgstr "Etiquetas nas mensagens de %s"
msgid "Unknown"
msgstr "Desconhecido"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Assinaturas"
@@ -6017,23 +6278,23 @@ msgstr "Assinaturas"
msgid "All subscriptions"
msgstr "Todas as assinaturas"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Assinantes"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Todos os assinantes"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID do usuário"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Membro desde"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Todos os grupos"
@@ -6073,7 +6334,12 @@ msgstr "Repetir esta mensagem?"
msgid "Repeat this notice"
msgstr "Repetir esta mensagem"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Bloquear este usuário neste grupo"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Nenhum usuário definido para o modo de usuário único."
@@ -6093,6 +6359,10 @@ msgstr "Procurar no site"
msgid "Keyword(s)"
msgstr "Palavra(s)-chave"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Procurar"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Ajuda da procura"
@@ -6144,6 +6414,15 @@ msgstr "Assinantes de %s"
msgid "Groups %s is a member of"
msgstr "Grupos dos quais %s é membro"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Convidar"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Convide seus amigos e colegas para unir-se a você no %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6214,47 +6493,64 @@ msgstr "Mensagem"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Perfil do usuário"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administradores"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderar"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "alguns segundos atrás"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "cerca de 1 minuto atrás"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "cerca de %d minutos atrás"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "cerca de 1 hora atrás"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "cerca de %d horas atrás"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "cerca de 1 dia atrás"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "cerca de %d dias atrás"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "cerca de 1 mês atrás"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "cerca de %d meses atrás"
-#: lib/util.php:970
+#: lib/util.php:1033
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 d4df1a654..03aaa074a 100644
--- a/locale/ru/LC_MESSAGES/statusnet.po
+++ b/locale/ru/LC_MESSAGES/statusnet.po
@@ -12,77 +12,83 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:41+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:54+0000\n"
"Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10< =4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "ПринÑÑ‚ÑŒ"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "ÐаÑтройки доÑтупа к Ñайту"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "РегиÑтрациÑ"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Личное"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Запретить анонимным (не авторизовавшимÑÑ) пользователÑм проÑматривать Ñайт?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Только по приглашениÑм"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Личное"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Разрешить региÑтрацию только по приглашениÑм."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Закрыта"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Только по приглашениÑм"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "Сохранить"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Закрыта"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Сохранить наÑтройки доÑтупа"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Сохранить"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Ðет такой Ñтраницы"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -96,51 +102,59 @@ msgstr "Ðет такой Ñтраницы"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Ðет такого пользователÑ."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s и друзьÑ, Ñтраница %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s и друзьÑ"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Лента друзей %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Лента друзей %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Лента друзей %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "Это лента %s и друзей, однако пока никто ничего не отправил."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -149,7 +163,8 @@ msgstr ""
"Попробуйте подпиÑатьÑÑ Ð½Ð° большее чиÑло людей, [приÑоединитеÑÑŒ к группе](%%"
"action.groups%%) или отправьте что-нибудь Ñами."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -159,7 +174,7 @@ msgstr ""
"что-нибудь Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ или её вниманиÑ](%%%%action.newnotice%%%%?"
"status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -168,7 +183,8 @@ msgstr ""
"Почему бы не [зарегиÑтрироватьÑÑ](%%action.register%%), чтобы «подтолкнуть» %"
"s или отправить запиÑÑŒ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ ÐµÐ³Ð¾ или её вниманиÑ?"
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Ð’Ñ‹ и друзьÑ"
@@ -186,20 +202,20 @@ msgstr "Обновлено от %1$s и его друзей на %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "Метод API не найден."
@@ -231,8 +247,9 @@ msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ пользователÑ."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "У Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚ профилÑ."
@@ -258,7 +275,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -374,69 +391,69 @@ msgstr "Ðе удаётÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ иÑходного пользо
msgid "Could not find target user."
msgstr "Ðе удаётÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ целевого пользователÑ."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
"Ð˜Ð¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ ÑоÑтоÑÑ‚ÑŒ только из пропиÑных букв и цифр и не иметь пробелов."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Такое Ð¸Ð¼Ñ ÑƒÐ¶Ðµ иÑпользуетÑÑ. Попробуйте какое-нибудь другое."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Ðеверное имÑ."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "URL Главной Ñтраницы неверен."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Полное Ð¸Ð¼Ñ Ñлишком длинное (не больше 255 знаков)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "Слишком длинное опиÑание (макÑимум %d Ñимволов)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Слишком длинное меÑтораÑположение (макÑимум 255 знаков)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Слишком много алиаÑов! МакÑимальное чиÑло — %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ðеверный алиаÑ: «%s»"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "ÐÐ»Ð¸Ð°Ñ Â«%s» уже иÑпользуетÑÑ. Попробуйте какой-нибудь другой."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "ÐÐ»Ð¸Ð°Ñ Ð½Ðµ может Ñовпадать Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼."
@@ -447,15 +464,15 @@ msgstr "ÐÐ»Ð¸Ð°Ñ Ð½Ðµ может Ñовпадать Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼."
msgid "Group not found!"
msgstr "Группа не найдена!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Ð’Ñ‹ уже ÑвлÑетеÑÑŒ членом Ñтой группы."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Ð’Ñ‹ заблокированы из Ñтой группы админиÑтратором."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Ðе удаётÑÑ Ð¿Ñ€Ð¸Ñоединить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %1$s к группе %2$s."
@@ -464,7 +481,7 @@ msgstr "Ðе удаётÑÑ Ð¿Ñ€Ð¸Ñоединить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %1
msgid "You are not a member of this group."
msgstr "Ð’Ñ‹ не ÑвлÑетеÑÑŒ членом Ñтой группы."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %1$s из группы %2$s."
@@ -495,7 +512,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -537,7 +554,7 @@ msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ñ‚Ð¾ÐºÐµÐ½Ð° %s был запрещен и аннулиро
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -564,13 +581,13 @@ msgstr ""
"предоÑтавлÑÑ‚ÑŒ разрешение на доÑтуп к вашей учётной запиÑи %4$s только тем "
"Ñторонним приложениÑм, которым вы доверÑете."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "ÐаÑтройки"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -651,18 +668,6 @@ msgstr "%1$s / Любимое от %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ %1$s, отмеченные как любимые %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "Лента %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Обновлено от %1$s на %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -673,12 +678,12 @@ msgstr "%1$s / ОбновлениÑ, упоминающие %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s обновил Ñтот ответ на Ñообщение: %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð° %s"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ %s от вÑех!"
@@ -693,12 +698,12 @@ msgstr "Повторено Ð´Ð»Ñ %s"
msgid "Repeats of %s"
msgstr "Повторы за %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "ЗапиÑи Ñ Ñ‚ÐµÐ³Ð¾Ð¼ %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ Ñ‚ÐµÐ³Ð¾Ð¼ %1$s на %2$s!"
@@ -714,8 +719,7 @@ msgstr "Ðет такого вложениÑ."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ðет имени."
@@ -727,7 +731,7 @@ msgstr "Ðет размера."
msgid "Invalid size."
msgstr "Ðеверный размер."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Ðватара"
@@ -740,35 +744,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Пользователь без ÑоответÑтвующего профилÑ"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "ÐаÑтройки аватары"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Оригинал"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "ПроÑмотр"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Удалить"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Загрузить"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Обрезать"
@@ -776,7 +780,7 @@ msgstr "Обрезать"
msgid "Pick a square area of the image to be your avatar"
msgstr "Подберите нужный квадратный учаÑток Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ¹ аватары"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "ПотерÑна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ файле."
@@ -811,22 +815,22 @@ msgstr ""
"приходить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾Ð± @-ответах от него."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Ðет"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Ðе блокировать Ñтого пользователÑ"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Да"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Заблокировать пользователÑ."
@@ -834,39 +838,43 @@ msgstr "Заблокировать пользователÑ."
msgid "Failed to save block information."
msgstr "Ðе удаётÑÑ Ñохранить информацию о блокировании."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Ðет такой группы."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "Заблокированные профили %s"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Заблокированные профили %1$s, Ñтраница %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "СпиÑок пользователей, заблокированных от приÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ðº Ñтой группе."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Разблокировать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группе."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Разблокировать"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Разблокировать пользователÑ."
@@ -922,7 +930,7 @@ msgid "Conversation"
msgstr "ДиÑкуÑÑиÑ"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "ЗапиÑи"
@@ -941,7 +949,7 @@ msgstr "Ð’Ñ‹ не ÑвлÑетеÑÑŒ владельцем Ñтого прилоÐ
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Проблема Ñ Ð’Ð°ÑˆÐµÐ¹ ÑеÑÑией. Попробуйте ещё раз, пожалуйÑта."
@@ -967,12 +975,13 @@ msgstr "Ðе удалÑйте Ñто приложение"
msgid "Delete this application"
msgstr "Удалить Ñто приложение"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ðе авторизован."
@@ -1001,7 +1010,7 @@ msgstr "Ð’Ñ‹ уверены, что хотите удалить Ñту запиÑ
msgid "Do not delete this notice"
msgstr "Ðе удалÑÑ‚ÑŒ Ñту запиÑÑŒ"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Удалить Ñту запиÑÑŒ"
@@ -1017,7 +1026,7 @@ msgstr "Ð’Ñ‹ можете удалÑÑ‚ÑŒ только внутренних поÐ
msgid "Delete user"
msgstr "Удалить пользователÑ"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1025,12 +1034,12 @@ msgstr ""
"Ð’Ñ‹ дейÑтвительно хотите удалить Ñтого пользователÑ? Это повлечёт удаление "
"вÑех данных о пользователе из базы данных без возможноÑти воÑÑтановлениÑ."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Удалить Ñтого пользователÑ"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Оформление"
@@ -1133,6 +1142,18 @@ msgstr "ВоÑÑтановить оформление по умолчанию"
msgid "Reset back to default"
msgstr "ВоÑÑтановить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Сохранить"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Сохранить оформление"
@@ -1224,29 +1245,29 @@ msgstr "Изменить информацию о группе %s"
msgid "You must be logged in to create a group."
msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы Ñоздать новую группу."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Ð’Ñ‹ должны быть админиÑтратором, чтобы изменÑÑ‚ÑŒ информацию о группе."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Заполните информацию о группе в Ñледующие полÑ"
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "Слишком длинное опиÑание (макÑимум %d Ñимволов)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ информацию о группе."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Ðе удаётÑÑ Ñоздать алиаÑÑ‹."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "ÐаÑтройки Ñохранены."
@@ -1374,7 +1395,7 @@ msgid "Cannot normalize that email address"
msgstr "Ðе удаётÑÑ Ñтандартизировать Ñтот Ñлектронный адреÑ"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Ðеверный Ñлектронный адреÑ."
@@ -1567,6 +1588,22 @@ msgstr "Ðет такого файла."
msgid "Cannot read file."
msgstr "Ðе удалоÑÑŒ прочеÑÑ‚ÑŒ файл."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñ€Ð¾Ð»ÑŒ."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Эта роль зарезервирована и не может быть уÑтановлена."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Ð’Ñ‹ не можете назначать пользователю роли на Ñтом Ñайте."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "Пользователь уже имеет Ñту роль."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1596,7 +1633,7 @@ msgstr "Пользователь уже заблокирован из групп
msgid "User is not a member of group."
msgstr "Пользователь не ÑвлÑетÑÑ Ñ‡Ð»ÐµÐ½Ð¾Ð¼ Ñтой группы."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Заблокировать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð· группы."
@@ -1631,11 +1668,11 @@ msgstr "Ðет ID."
msgid "You must be logged in to edit a group."
msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы изменить группу."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Оформление группы"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1643,20 +1680,20 @@ msgstr ""
"ÐаÑтройте внешний вид группы, уÑтановив фоновое изображение и цветовую гамму "
"на ваш выбор."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ ваше оформление."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "ÐаÑтройки Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Ñохранены."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Логотип группы"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1664,62 +1701,68 @@ msgstr ""
"ЗдеÑÑŒ вы можете загрузить логотип Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹. МакÑимальный размер файла "
"ÑоÑтавлÑет %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Пользователь без ÑоответÑтвующего профилÑ."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Подберите нужный квадратный учаÑток Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ логотипа."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Логотип обновлён."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Ðеудача при обновлении логотипа."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "УчаÑтники группы %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "УчаÑтники группы %1$s, Ñтраница %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "СпиÑок пользователей, ÑвлÑющихÑÑ Ñ‡Ð»ÐµÐ½Ð°Ð¼Ð¸ Ñтой группы."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "ÐаÑтройки"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Блокировать"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Сделать Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратором группы"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Сделать админиÑтратором"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Сделать Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратором"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "Лента %s"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑƒÑ‡Ð°Ñтников %1$s на %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Группы"
@@ -1980,16 +2023,18 @@ msgstr "Личное Ñообщение"
msgid "Optionally add a personal message to the invitation."
msgstr "Можно добавить к приглашению личное Ñообщение."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
-msgstr "ОК"
+msgstr "Отправить"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s приглаÑил Ð²Ð°Ñ Ð¿Ñ€Ð¸ÑоединитьÑÑ Ðº нему на %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2050,7 +2095,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Ð’Ñ‹ должны авторизоватьÑÑ Ð´Ð»Ñ Ð²ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð² группу."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Ðет имени или ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s вÑтупил в группу %2$s"
@@ -2059,11 +2108,11 @@ msgstr "%1$s вÑтупил в группу %2$s"
msgid "You must be logged in to leave a group."
msgstr "Ð’Ñ‹ должны авторизоватьÑÑ, чтобы покинуть группу."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Ð’Ñ‹ не ÑвлÑетеÑÑŒ членом Ñтой группы."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s покинул группу %2$s"
@@ -2080,8 +2129,7 @@ msgstr "Ðекорректное Ð¸Ð¼Ñ Ð¸Ð»Ð¸ пароль."
msgid "Error setting user. You are probably not authorized."
msgstr "Ошибка уÑтановки пользователÑ. Ð’Ñ‹, вероÑтно, не авторизованы."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Вход"
@@ -2333,8 +2381,8 @@ msgstr "тип Ñодержимого "
msgid "Only "
msgstr "Только "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Ðеподдерживаемый формат данных."
@@ -2475,7 +2523,8 @@ msgstr "Ðе удаётÑÑ Ñохранить новый пароль."
msgid "Password saved."
msgstr "Пароль Ñохранён."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Пути"
@@ -2508,7 +2557,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Ðеверный SSL-Ñервер. МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑоÑтавлÑет 255 Ñимволов."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Сайт"
@@ -2596,7 +2644,7 @@ msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ„Ð¾Ð½Ð¾Ð²Ð¾Ð³Ð¾ изображениÑ"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Ðикогда"
@@ -2651,11 +2699,11 @@ msgstr "Ðеверный тег человека: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Пользователи, уÑтановившие Ñебе тег %1$s — Ñтраница %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ðеверный контент запиÑи"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи «%1$s» не ÑовмеÑтима Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸ÐµÐ¹ Ñайта «%2$s»."
@@ -2680,7 +2728,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 латинÑких Ñтрочных буквы или цифры, без пробелов"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Полное имÑ"
@@ -2708,7 +2756,7 @@ msgid "Bio"
msgstr "БиографиÑ"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2735,7 +2783,7 @@ msgstr ""
"Теги Ð´Ð»Ñ Ñамого ÑÐµÐ±Ñ (буквы, цифры, -, ., и _), разделенные запÑтой или "
"пробелом"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Язык"
@@ -2761,7 +2809,7 @@ msgstr "ÐвтоматичеÑки подпиÑыватьÑÑ Ð½Ð° вÑех, кÑ
msgid "Bio is too long (max %d chars)."
msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð±Ð¸Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ (макÑимум %d Ñимволов)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "ЧаÑовой поÑÑ Ð½Ðµ выбран."
@@ -2790,7 +2838,8 @@ msgstr "Ðе удаётÑÑ Ñохранить профиль."
msgid "Couldn't save tags."
msgstr "Ðе удаётÑÑ Ñохранить теги."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "ÐаÑтройки Ñохранены."
@@ -2803,39 +2852,39 @@ msgstr "Превышен предел Ñтраницы (%s)"
msgid "Could not retrieve public stream."
msgstr "Ðе удаётÑÑ Ð²ÐµÑ€Ð½ÑƒÑ‚ÑŒ публичный поток."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð°, Ñтраница %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "ÐžÐ±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð°"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Лента публичного потока (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Лента публичного потока (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Лента публичного потока (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr "Это Ð¾Ð±Ñ‰Ð°Ñ Ð»ÐµÐ½Ñ‚Ð° %%site.name%%, однако пока никто ничего не отправил."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Создайте первую запиÑÑŒ!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2843,7 +2892,7 @@ msgstr ""
"Почему бы не [зарегиÑтрироватьÑÑ](%%action.register%%), чтобы Ñтать первым "
"отправителем?"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2857,7 +2906,7 @@ msgstr ""
"register%%), чтобы держать в курÑе Ñвоих Ñобытий поклонников, друзей, "
"родÑтвенников и коллег! ([Читать далее](%%doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3035,8 +3084,7 @@ msgstr "Извините, неверный приглаÑительный код
msgid "Registration successful"
msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÑпешна!"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "РегиÑтрациÑ"
@@ -3082,7 +3130,7 @@ msgid "Same as password above. Required."
msgstr "Тот же пароль что и Ñверху. ОбÑзательное поле."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
@@ -3187,7 +3235,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "ÐÐ´Ñ€ÐµÑ URL твоего Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð½Ð° другом подходÑщем ÑервиÑе микроблогинга"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "ПодпиÑатьÑÑ"
@@ -3223,7 +3271,7 @@ msgstr "Ð’Ñ‹ не можете повторить ÑобÑтвенную запÐ
msgid "You already repeated that notice."
msgstr "Ð’Ñ‹ уже повторили Ñту запиÑÑŒ."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Повторено"
@@ -3231,33 +3279,33 @@ msgstr "Повторено"
msgid "Repeated!"
msgstr "Повторено!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Ответы Ð´Ð»Ñ %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Ответы Ð´Ð»Ñ %1$s, Ñтраница %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Лента запиÑей Ð´Ð»Ñ %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Лента запиÑей Ð´Ð»Ñ %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Лента запиÑей Ð´Ð»Ñ %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3265,7 +3313,7 @@ msgid ""
msgstr ""
"Эта лента Ñодержит ответы на запиÑи %1$s, однако %2$s пока не получал их."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3274,7 +3322,7 @@ msgstr ""
"Ð’Ñ‹ можете вовлечь других пользователей в разговор, подпиÑавшиÑÑŒ на большее "
"чиÑло людей или [приÑоединившиÑÑŒ к группам](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3289,6 +3337,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Ответы на запиÑи %1$s на %2$s!"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Ð’Ñ‹ не можете Ñнимать роли пользователей на Ñтом Ñайте."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "Пользователь не имеет Ñтой роли."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3302,8 +3358,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr "Пользователь уже в режиме пеÑочницы."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "СеÑÑии"
@@ -3327,8 +3384,8 @@ msgstr "Отладка ÑеÑÑий"
msgid "Turn on debugging output for sessions."
msgstr "Включить отладочный вывод Ð´Ð»Ñ ÑеÑÑий."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Сохранить наÑтройки Ñайта"
@@ -3358,8 +3415,8 @@ msgstr "ОрганизациÑ"
msgid "Description"
msgstr "ОпиÑание"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "СтатиÑтика"
@@ -3422,22 +3479,22 @@ msgstr "Любимые запиÑи %1$s, Ñтраница %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Ðе удаётÑÑ Ð²Ð¾ÑÑтановить любимые запиÑи."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Лента друзей %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Лента друзей %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Лента друзей %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3445,7 +3502,7 @@ msgstr ""
"Ð’Ñ‹ пока не выбрали ни одной любимой запиÑи. Ðажмите на кнопку Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² "
"любимые Ñ€Ñдом Ñ Ð¿Ð¾Ð½Ñ€Ð°Ð²Ð¸Ð²ÑˆÐµÐ¹ÑÑ Ð·Ð°Ð¿Ð¸Ñью, чтобы позже уделить ей внимание."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3454,7 +3511,7 @@ msgstr ""
"%s пока не выбрал ни одной любимой запиÑи. Ðапишите такую интереÑную запиÑÑŒ, "
"которую он добавит её в чиÑло любимых :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3465,7 +3522,7 @@ msgstr ""
"[зарегиÑтрироватьÑÑ](%%%%action.register%%%%) и не напиÑать что-нибудь "
"интереÑное, что понравилоÑÑŒ бы Ñтому пользователю? :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Это ÑпоÑоб разделить то, что вам нравитÑÑ."
@@ -3479,67 +3536,67 @@ msgstr "Группа %s"
msgid "%1$s group, page %2$d"
msgstr "Группа %1$s, Ñтраница %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Профиль группы"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "ЗапиÑÑŒ"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "ÐлиаÑÑ‹"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "ДейÑÑ‚Ð²Ð¸Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Лента запиÑей группы %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Лента запиÑей группы %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Лента запиÑей группы %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "УчаÑтники"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(пока ничего нет)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Ð’Ñе учаÑтники"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Создано"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3555,7 +3612,7 @@ msgstr ""
"action.register%%%%), чтобы Ñтать учаÑтником группы и получить множеÑтво "
"других возможноÑтей! ([Читать далее](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3568,7 +3625,7 @@ msgstr ""
"обеÑпечении [StatusNet](http://status.net/). УчаÑтники обмениваютÑÑ "
"короткими ÑообщениÑми о Ñвоей жизни и интереÑах. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "ÐдминиÑтраторы"
@@ -3693,149 +3750,134 @@ msgid "User is already silenced."
msgstr "Пользователь уже заглушён."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "ОÑновные наÑтройки Ð´Ð»Ñ Ñтого Ñайта StatusNet."
+msgid "Basic settings for this StatusNet site"
+msgstr "ОÑновные наÑтройки Ð´Ð»Ñ Ñтого Ñайта StatusNet"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Ð˜Ð¼Ñ Ñайта должно быть ненулевой длины."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "У Ð²Ð°Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть дейÑтвительный контактный email-адреÑ."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "ÐеизвеÑтный Ñзык «%s»."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "Ðеверный URL отчёта Ñнимка."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Ðеверное значение запуÑка Ñнимка."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "ЧаÑтота Ñнимков должна быть чиÑлом."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Минимальное ограничение текÑта ÑоÑтавлÑет 140 Ñимволов."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "Ограничение Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ ÑоÑтавлÑÑ‚ÑŒ 1 или более Ñекунд."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Базовые"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Ð˜Ð¼Ñ Ñайта"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Ð˜Ð¼Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта, например, «Yourcompany Microblog»"
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "ПредоÑтавлено"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
"ТекÑÑ‚, иÑпользуемый Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð¾Ð² в нижнем колонтитуле каждой Ñтраницы"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ñтавщика уÑлуг"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
"URL, иÑпользуемый Ð´Ð»Ñ ÑÑылки на авторов в нижнем колонтитуле каждой Ñтраницы"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Контактный email-Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Внутренние наÑтройки"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "ЧаÑовой поÑÑ Ð¿Ð¾ умолчанию"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "ЧаÑовой поÑÑ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ñайта; обычно UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr "Язык Ñайта по умолчанию"
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Снимки"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "При Ñлучайном поÑещении"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "По заданному графику"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Снимки данных"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Когда отправлÑÑ‚ÑŒ ÑтатиÑтичеÑкие данные на Ñервера status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "ЧаÑтота"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Снимки будут отправлÑÑ‚ÑŒÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ðµ N поÑещений"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
+msgstr "Язык по умолчанию"
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL отчёта"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Снимки будут отправлÑÑ‚ÑŒÑÑ Ð¿Ð¾ Ñтому URL-адреÑу"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
+"Язык Ñайта в Ñлучае, еÑли автоопределение из наÑтроек браузера не Ñработало"
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Границы"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Границы текÑта"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "МакÑимальное чиÑло Ñимволов Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñей."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Предел дубликатов"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Сколько нужно ждать пользователÑм (в Ñекундах) Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ того же ещё раз."
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "Уведомление Ñайта"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Изменить уведомление Ð´Ð»Ñ Ð²Ñего Ñайта"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Ðе удаётÑÑ Ñохранить уведомление Ñайта."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñайта ÑоÑтавлÑет 255 Ñимволов"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "ТекÑÑ‚ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñайта"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr "ТекÑÑ‚ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñайта (макÑимум 255 Ñимволов; допуÑтим HTML)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Сохранить уведомление Ñайта"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "УÑтановки СМС"
@@ -3937,6 +3979,64 @@ msgstr ""
msgid "No code entered"
msgstr "Код не введён"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Снимки"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "Управление Ñнимками конфигурации"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Ðеверное значение запуÑка Ñнимка."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "ЧаÑтота Ñнимков должна быть чиÑлом."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "Ðеверный URL отчёта Ñнимка."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "При Ñлучайном поÑещении"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "По заданному графику"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Снимки данных"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Когда отправлÑÑ‚ÑŒ ÑтатиÑтичеÑкие данные на Ñервера status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "ЧаÑтота"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Снимки будут отправлÑÑ‚ÑŒÑÑ ÐºÐ°Ð¶Ð´Ñ‹Ðµ N поÑещений"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL отчёта"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Снимки будут отправлÑÑ‚ÑŒÑÑ Ð¿Ð¾ Ñтому URL-адреÑу"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Сохранить наÑтройки Ñнимка"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Ð’Ñ‹ не подпиÑаны на Ñтот профиль."
@@ -3948,17 +4048,17 @@ msgstr "Ðе удаётÑÑ Ñохранить подпиÑку."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Это дейÑтвие принимает только POST-запроÑÑ‹."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Ðет такого файла."
+msgstr "Ðет такого профилÑ."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Ð’Ñ‹ не подпиÑаны на Ñтот профиль."
+msgstr ""
+"Ð’Ñ‹ не можете подпиÑатьÑÑ Ð½Ð° удалённый профиль OMB 0.1 Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтого "
+"дейÑтвиÑ."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4053,22 +4153,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "СМС"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "ЗапиÑи Ñ Ñ‚ÐµÐ³Ð¾Ð¼ %1$s, Ñтраница %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Лента запиÑей Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Лента запиÑей Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Лента запиÑей Ð´Ð»Ñ Ñ‚ÐµÐ³Ð° %s (Atom)"
@@ -4123,7 +4223,7 @@ msgstr ""
msgid "No such tag."
msgstr "Ðет такого тега."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Метод API реконÑтруируетÑÑ."
@@ -4147,78 +4247,79 @@ msgstr "Ðет ID Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² запроÑе."
msgid "Unsubscribed"
msgstr "ОтпиÑано"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
"Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð¿Ñ€Ð¾Ñматриваемого потока «%1$s» неÑовмеÑтима Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸ÐµÐ¹ Ñайта «%2$s»."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Пользователь"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "ПользовательÑкие наÑтройки Ð´Ð»Ñ Ñтого Ñайта StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Ðеверное ограничение биографии. Должно быть чиÑлом."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
"Ðеверный текÑÑ‚ приветÑтвиÑ. МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑоÑтавлÑет 255 Ñимволов."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñка по умолчанию: «%1$s» не ÑвлÑетÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¼."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профиль"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Ограничение биографии"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° биографии Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² Ñимволах."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Ðовые пользователи"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "ПриветÑтвие новым пользователÑм"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "ТекÑÑ‚ приветÑÑ‚Ð²Ð¸Ñ Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… пользователей (макÑимум 255 Ñимволов)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "ПодпиÑка по умолчанию"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "ÐвтоматичеÑки подпиÑывать новых пользователей на Ñтого пользователÑ."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "ПриглашениÑ"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "ÐŸÑ€Ð¸Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ñ‹"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Разрешать ли пользователÑм приглашать новых пользователей."
@@ -4347,17 +4448,23 @@ msgstr "Группы %1$s, Ñтраница %2$d"
msgid "Search for more groups"
msgstr "ИÑкать другие группы"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s не ÑоÑтоит ни в одной группе."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Попробуйте [найти группы](%%action.groupsearch%%) и приÑоединитьÑÑ Ðº ним."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Обновлено от %1$s на %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4413,7 +4520,7 @@ msgstr ""
msgid "Plugins"
msgstr "Плагины"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "ВерÑиÑ"
@@ -4452,6 +4559,10 @@ msgstr "Ðе ÑвлÑетÑÑ Ñ‡Ð°Ñтью группы."
msgid "Group leave failed."
msgstr "Ðе удаётÑÑ Ð¿Ð¾ÐºÐ¸Ð½ÑƒÑ‚ÑŒ группу."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ локальную группу."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4469,27 +4580,27 @@ msgstr "Ðе удаётÑÑ Ð²Ñтавить Ñообщение."
msgid "Could not update message with new URI."
msgstr "Ðе удаётÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ‚ÑŒ Ñообщение Ñ Ð½Ð¾Ð²Ñ‹Ð¼ URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Ошибка баз данных при вÑтавке хеш-тегов Ð´Ð»Ñ %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Проблемы Ñ Ñохранением запиÑи. Слишком длинно."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Проблема при Ñохранении запиÑи. ÐеизвеÑтный пользователь."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Слишком много запиÑей за Ñтоль короткий Ñрок; передохните немного и "
"попробуйте вновь через пару минут."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4497,19 +4608,19 @@ msgstr ""
"Слишком много одинаковых запиÑей за Ñтоль короткий Ñрок; передохните немного "
"и попробуйте вновь через пару минут."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Вам запрещено поÑтитьÑÑ Ð½Ð° Ñтом Ñайте (бан)"
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Проблемы Ñ Ñохранением запиÑи."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Проблемы Ñ Ñохранением входÑщих Ñообщений группы."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4534,23 +4645,35 @@ msgstr "Ðе подпиÑаны!"
msgid "Couldn't delete self-subscription."
msgstr "Ðевозможно удалить ÑамоподпиÑку."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ подпиÑочный жетон OMB."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ подпиÑку."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Добро пожаловать на %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Ðе удаётÑÑ Ñоздать группу."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Ðе удаётÑÑ Ð½Ð°Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÑŒ URI группы."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Ðе удаётÑÑ Ð½Ð°Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÑŒ членÑтво в группе."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Ðе удаётÑÑ Ñохранить информацию о локальной группе."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Изменить ваши наÑтройки профилÑ"
@@ -4588,124 +4711,170 @@ msgstr "%1$s — %2$s"
msgid "Untitled page"
msgstr "Страница без названиÑ"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð½Ð°Ð²Ð¸Ð³Ð°Ñ†Ð¸Ñ"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Моё"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Личный профиль и лента друзей"
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr "Изменить ваш email, аватару, пароль, профиль"
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Личное"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Соединить"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "Изменить ваш email, аватар, пароль, профиль"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Соединить Ñ ÑервиÑами"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Соединить"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Изменить конфигурацию Ñайта"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ПриглаÑить"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "ÐаÑтройки"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
-msgstr "ПриглаÑите друзей и коллег Ñтать такими же как вы учаÑтниками %s"
+msgstr "ПриглаÑите друзей и коллег Ñтать такими же как Ð’Ñ‹ учаÑтниками %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Выход"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ПриглаÑить"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Выйти"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Выход"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Создать новый аккаунт"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "РегиÑтрациÑ"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Войти"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Помощь"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Вход"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Помощь"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "ПоиÑк"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Помощь"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "ИÑкать людей или текÑÑ‚"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "ПоиÑк"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "ÐÐ¾Ð²Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Локальные виды"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "ÐÐ¾Ð²Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "ÐÐ°Ð²Ð¸Ð³Ð°Ñ†Ð¸Ñ Ð¿Ð¾ подпиÑкам"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Помощь"
+
+#: lib/action.php:754
msgid "About"
msgstr "О проекте"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "ЧаВо"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "TOS"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "ПользовательÑкое Ñоглашение"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "ИÑходный код"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "ÐšÐ¾Ð½Ñ‚Ð°ÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Бедж"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet лицензиÑ"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4714,12 +4883,12 @@ msgstr ""
"**%%site.name%%** — Ñто ÑÐµÑ€Ð²Ð¸Ñ Ð¼Ð¸ÐºÑ€Ð¾Ð±Ð»Ð¾Ð³Ð¸Ð½Ð³Ð°, Ñозданный Ð´Ð»Ñ Ð²Ð°Ñ Ð¿Ñ€Ð¸ помощи [%"
"%site.broughtby%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** — ÑÐµÑ€Ð²Ð¸Ñ Ð¼Ð¸ÐºÑ€Ð¾Ð±Ð»Ð¾Ð³Ð¸Ð½Ð³Ð°. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4731,110 +4900,148 @@ msgstr ""
"лицензией [GNU Affero General Public License](http://www.fsf.org/licensing/"
"licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ñодержимого Ñайта"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Содержание и данные %1$s ÑвлÑÑŽÑ‚ÑÑ Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ и конфиденциальными."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
"ÐвторÑкие права на Ñодержание и данные принадлежат %1$s. Ð’Ñе права защищены."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"ÐвторÑкие права на Ñодержание и данные принадлежат разработчикам. Ð’Ñе права "
"защищены."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "All "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "license."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Разбиение на Ñтраницы"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Сюда"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Туда"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Пока ещё Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒ удалённое Ñодержимое."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Пока ещё Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒ вÑтроенный XML."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Пока ещё Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ñ‚ÑŒ вÑтроенное Ñодержание Base64."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Ð’Ñ‹ не можете изменÑÑ‚ÑŒ Ñтот Ñайт."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñтой панели недопуÑтимы."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() не реализована."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() не реализована."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Ðе удаётÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ наÑтройки оформлениÑ."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñайта"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Сайт"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Оформление"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Пользователь"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð´Ð¾Ñтупа"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¹"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ ÑеÑÑий"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Изменить уведомление Ñайта"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñнимков"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API реÑурÑа требует доÑтуп Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ запиÑи, но у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ только доÑтуп "
"Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ."
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4927,11 +5134,11 @@ msgstr "Сообщает, где поÑвлÑетÑÑ Ñто вложение"
msgid "Tags for this attachment"
msgstr "Теги Ð´Ð»Ñ Ñтого вложениÑ"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Изменение Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ удалоÑÑŒ"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Смена Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ разрешена"
@@ -5018,12 +5225,12 @@ msgstr "%1$s покинул группу %2$s"
msgid "Fullname: %s"
msgstr "Полное имÑ: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "МеÑтораÑположение: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "ДомашнÑÑ Ñтраница: %s"
@@ -5130,9 +5337,9 @@ msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr "Эта ÑÑылка дейÑтвительна только один раз в течение 2 минут: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "ОтпиÑано от %s"
+msgstr "ОтпиÑано %s"
#: lib/command.php:709
msgid "You are not subscribed to anyone."
@@ -5168,7 +5375,6 @@ msgstr[1] "Ð’Ñ‹ ÑвлÑетеÑÑŒ учаÑтником Ñледующих грÑ
msgstr[2] "Ð’Ñ‹ ÑвлÑетеÑÑŒ учаÑтником Ñледующих групп:"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5221,6 +5427,7 @@ msgstr ""
"d <nickname> <text> — прÑмое Ñообщение пользователю\n"
"get <nickname> — получить поÑледнюю запиÑÑŒ от пользователÑ\n"
"whois <nickname> — получить информацию из Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ\n"
+"lose <nickname> — отменить подпиÑку Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° ваÑ\n"
"fav <nickname> — добавить поÑледнюю запиÑÑŒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² чиÑло любимых\n"
"fav #<notice_id> — добавить запиÑÑŒ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ id в чиÑло любимых\n"
"repeat #<notice_id> — повторить уведомление Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ id\n"
@@ -5247,19 +5454,19 @@ msgstr ""
"tracks — пока не реализовано.\n"
"tracking — пока не реализовано.\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Конфигурационный файл не найден. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Конфигурационные файлы иÑкалиÑÑŒ в Ñледующих меÑтах: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "Возможно, вы решите запуÑтить уÑтановщик Ð´Ð»Ñ Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñтого."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Перейти к уÑтановщику"
@@ -5358,6 +5565,11 @@ msgstr "Выберите тег из выпадающего ÑпиÑка"
msgid "Go"
msgstr "Перейти"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Ðазначить Ñтому пользователю роль «%s»"
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "ÐÐ´Ñ€ÐµÑ Ñтраницы, дневника или Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ñ‹ на другом портале"
@@ -5449,23 +5661,23 @@ msgstr "СиÑÑ‚ÐµÐ¼Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при загрузке файла."
msgid "Not an image or corrupt file."
msgstr "Ðе ÑвлÑетÑÑ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ или повреждённый файл."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Ðеподдерживаемый формат файла изображениÑ."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "ПотерÑн файл."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Ðеподдерживаемый тип файла"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "МБ"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "КБ"
@@ -5495,11 +5707,11 @@ msgstr "Войти Ñ Ð²Ð°ÑˆÐ¸Ð¼ ником и паролем."
msgid "Sign up for a new account"
msgstr "Создать новый аккаунт"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Подтверждение Ñлектронного адреÑа"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5529,12 +5741,12 @@ msgstr ""
"Благодарим за потраченное времÑ, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s теперь Ñледит за вашими запиÑÑми на %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5559,17 +5771,17 @@ msgstr ""
"----\n"
"Измените email-Ð°Ð´Ñ€ÐµÑ Ð¸ наÑтройки уведомлений на %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "БиографиÑ: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Ðовый Ñлектронный Ð°Ð´Ñ€ÐµÑ Ð´Ð»Ñ Ð¿Ð¾Ñтинга %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5590,21 +5802,21 @@ msgstr ""
"ИÑкренне Ваш,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s ÑтатуÑ"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Подтверждение СМС"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Ð’Ð°Ñ Â«Ð¿Ð¾Ð´Ñ‚Ð¾Ð»ÐºÐ½ÑƒÐ»Â» пользователь %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5631,12 +5843,12 @@ msgstr ""
"С уважением,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Ðовое приватное Ñообщение от %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5669,12 +5881,12 @@ msgstr ""
"С уважением,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) добавил вашу запиÑÑŒ в чиÑло Ñвоих любимых"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5711,12 +5923,12 @@ msgstr ""
"С уважением,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) отправил запиÑÑŒ Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ вниманиÑ"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5847,6 +6059,11 @@ msgstr "ДлÑ"
msgid "Available characters"
msgstr "6 или больше знаков"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Отправить"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "ПоÑлать запиÑÑŒ"
@@ -5905,23 +6122,23 @@ msgstr "з. д."
msgid "at"
msgstr "на"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "в контекÑте"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Повторено"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Ответить на Ñту запиÑÑŒ"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Ответить"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "ЗапиÑÑŒ повторена"
@@ -5994,7 +6211,7 @@ msgstr "Теги запиÑей Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s"
msgid "Unknown"
msgstr "ÐеизвеÑтно"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "ПодпиÑки"
@@ -6002,23 +6219,23 @@ msgstr "ПодпиÑки"
msgid "All subscriptions"
msgstr "Ð’Ñе подпиÑки."
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "ПодпиÑчики"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Ð’Ñе подпиÑчики"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ID пользователÑ"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "РегиÑтрациÑ"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Ð’Ñе группы"
@@ -6058,7 +6275,12 @@ msgstr "Повторить Ñту запиÑÑŒ?"
msgid "Repeat this notice"
msgstr "Повторить Ñту запиÑÑŒ"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Отозвать у Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ€Ð¾Ð»ÑŒ «%s»"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Ðи задан пользователь Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого режима."
@@ -6078,6 +6300,10 @@ msgstr "ПоиÑк по Ñайту"
msgid "Keyword(s)"
msgstr "Ключевые Ñлова"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "ПоиÑк"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Справка по поиÑку"
@@ -6129,6 +6355,15 @@ msgstr "Люди подпиÑанные на %s"
msgid "Groups %s is a member of"
msgstr "Группы, в которых ÑоÑтоит %s"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ПриглаÑить"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "ПриглаÑите друзей и коллег Ñтать такими же как вы учаÑтниками %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6199,47 +6434,61 @@ msgstr "Сообщение"
msgid "Moderate"
msgstr "Модерировать"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Роль пользователÑ"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "ÐдминиÑтратор"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Модератор"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "пару Ñекунд назад"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "около минуты назад"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "около %d минут(ы) назад"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "около чаÑа назад"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "около %d чаÑа(ов) назад"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "около Ð´Ð½Ñ Ð½Ð°Ð·Ð°Ð´"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "около %d днÑ(ей) назад"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "около меÑÑца назад"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "около %d меÑÑца(ев) назад"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "около года назад"
diff --git a/locale/statusnet.po b/locale/statusnet.po
index cf44e2d3c..61d902a1a 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-02-24 23:49+0000\n"
+"POT-Creation-Date: 2010-03-08 21:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,64 +17,70 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr ""
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr ""
-#: actions/accessadminpanel.php:158
-msgid "Registration"
-msgstr ""
-
+#. TRANS: Form legend for registration form.
#: actions/accessadminpanel.php:161
-msgid "Private"
+msgid "Registration"
msgstr ""
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
+msgctxt "LABEL"
+msgid "Private"
msgstr ""
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:173
-msgid "Closed"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
msgstr ""
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
msgstr ""
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr ""
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr ""
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr ""
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -88,72 +94,82 @@ msgstr ""
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr ""
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr ""
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr ""
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr ""
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr ""
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr ""
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr ""
@@ -171,20 +187,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr ""
@@ -216,8 +232,9 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr ""
@@ -241,7 +258,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -351,68 +368,68 @@ msgstr ""
msgid "Could not find target user."
msgstr ""
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr ""
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr ""
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr ""
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr ""
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr ""
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr ""
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr ""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr ""
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -423,15 +440,15 @@ msgstr ""
msgid "Group not found!"
msgstr ""
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr ""
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr ""
@@ -440,7 +457,7 @@ msgstr ""
msgid "You are not a member of this group."
msgstr ""
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr ""
@@ -471,7 +488,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -512,7 +529,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -535,13 +552,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr ""
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -622,18 +639,6 @@ msgstr ""
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr ""
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr ""
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -644,12 +649,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -664,12 +669,12 @@ msgstr ""
msgid "Repeats of %s"
msgstr ""
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr ""
@@ -685,8 +690,7 @@ msgstr ""
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr ""
@@ -698,7 +702,7 @@ msgstr ""
msgid "Invalid size."
msgstr ""
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr ""
@@ -710,35 +714,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr ""
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr ""
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr ""
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -746,7 +750,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -778,22 +782,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr ""
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr ""
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr ""
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr ""
@@ -801,39 +805,43 @@ msgstr ""
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr ""
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr ""
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr ""
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr ""
@@ -889,7 +897,7 @@ msgid "Conversation"
msgstr ""
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr ""
@@ -908,7 +916,7 @@ msgstr ""
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -931,12 +939,13 @@ msgstr ""
msgid "Delete this application"
msgstr ""
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr ""
@@ -963,7 +972,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr ""
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr ""
@@ -979,18 +988,18 @@ msgstr ""
msgid "Delete user"
msgstr ""
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr ""
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1091,6 +1100,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr ""
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1182,29 +1203,29 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr ""
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr ""
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr ""
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr ""
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr ""
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr ""
@@ -1320,7 +1341,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr ""
@@ -1504,6 +1525,22 @@ msgstr ""
msgid "Cannot read file."
msgstr ""
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr ""
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr ""
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr ""
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1533,7 +1570,7 @@ msgstr ""
msgid "User is not a member of group."
msgstr ""
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr ""
@@ -1565,91 +1602,97 @@ msgstr ""
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr ""
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr ""
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr ""
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr ""
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr ""
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr ""
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr ""
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr ""
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr ""
@@ -1880,16 +1923,18 @@ msgstr ""
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr ""
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1924,7 +1969,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr ""
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1933,11 +1982,11 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr ""
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr ""
@@ -1954,8 +2003,7 @@ msgstr ""
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr ""
@@ -2194,8 +2242,8 @@ msgstr ""
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2334,7 +2382,8 @@ msgstr ""
msgid "Password saved."
msgstr ""
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2367,7 +2416,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2455,7 +2503,7 @@ msgstr ""
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr ""
@@ -2508,11 +2556,11 @@ msgstr ""
msgid "Users self-tagged with %1$s - page %2$d"
msgstr ""
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr ""
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2535,7 +2583,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr ""
@@ -2563,7 +2611,7 @@ msgid "Bio"
msgstr ""
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2588,7 +2636,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr ""
@@ -2614,7 +2662,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr ""
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2643,7 +2691,8 @@ msgstr ""
msgid "Couldn't save tags."
msgstr ""
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr ""
@@ -2656,45 +2705,45 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr ""
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr ""
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2703,7 +2752,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2872,8 +2921,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -2912,7 +2960,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr ""
@@ -2996,7 +3044,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr ""
@@ -3032,7 +3080,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr ""
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr ""
@@ -3040,47 +3088,47 @@ msgstr ""
msgid "Repeated!"
msgstr ""
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr ""
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr ""
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr ""
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr ""
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr ""
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3092,6 +3140,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr ""
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr ""
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr ""
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr ""
@@ -3104,8 +3160,9 @@ msgstr ""
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3129,8 +3186,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr ""
@@ -3160,8 +3217,8 @@ msgstr ""
msgid "Description"
msgstr ""
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr ""
@@ -3221,35 +3278,35 @@ msgstr ""
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr ""
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr ""
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr ""
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3257,7 +3314,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3271,67 +3328,67 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr ""
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr ""
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr ""
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr ""
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr ""
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr ""
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3341,7 +3398,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3350,7 +3407,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3460,144 +3517,128 @@ msgid "User is already silenced."
msgstr ""
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr ""
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr ""
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr ""
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr ""
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr ""
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr ""
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
msgstr ""
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
msgstr ""
-#: actions/siteadminpanel.php:315
-msgid "Limits"
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
msgstr ""
#: actions/smssettings.php:58
@@ -3692,6 +3733,64 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr ""
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3796,22 +3895,22 @@ msgstr ""
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr ""
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr ""
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -3861,7 +3960,7 @@ msgstr ""
msgid "No such tag."
msgstr ""
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -3885,76 +3984,77 @@ msgstr ""
msgid "Unsubscribed"
msgstr ""
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr ""
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr ""
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4074,16 +4174,22 @@ msgstr ""
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4127,7 +4233,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr ""
@@ -4164,6 +4270,10 @@ msgstr ""
msgid "Group leave failed."
msgstr ""
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr ""
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4181,43 +4291,43 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr ""
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr ""
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr ""
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4242,23 +4352,35 @@ msgstr ""
msgid "Couldn't delete self-subscription."
msgstr ""
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr ""
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr ""
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr ""
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr ""
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr ""
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr ""
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4296,136 +4418,182 @@ msgstr ""
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
+msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:439
-msgid "Personal profile and friends timeline"
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
msgstr ""
-#: lib/action.php:441
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr ""
-#: lib/action.php:444
-msgid "Connect"
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
+msgid "Connect to services"
msgstr ""
-#: lib/action.php:444
-msgid "Connect to services"
+#: lib/action.php:443
+msgid "Connect"
msgstr ""
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr ""
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
msgstr ""
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr ""
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
msgstr ""
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr ""
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
msgstr ""
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr ""
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr ""
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr ""
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr ""
+
+#: lib/action.php:754
msgid "About"
msgstr ""
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr ""
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr ""
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr ""
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr ""
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
msgstr ""
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4433,105 +4601,143 @@ msgid ""
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr ""
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr ""
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr ""
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr ""
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr ""
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr ""
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr ""
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr ""
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr ""
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr ""
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4621,11 +4827,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr ""
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr ""
@@ -4709,12 +4915,12 @@ msgstr ""
msgid "Fullname: %s"
msgstr ""
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -4897,19 +5103,19 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr ""
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5006,6 +5212,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5095,23 +5306,23 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr ""
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr ""
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr ""
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5141,11 +5352,11 @@ msgstr ""
msgid "Sign up for a new account"
msgstr ""
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr ""
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5162,12 +5373,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr ""
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5182,17 +5393,17 @@ msgid ""
"Change your email address or notification options at %8$s\n"
msgstr ""
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr ""
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5205,21 +5416,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr ""
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5235,12 +5446,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5259,12 +5470,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr ""
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5285,12 +5496,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5404,6 +5615,11 @@ msgstr ""
msgid "Available characters"
msgstr ""
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr ""
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr ""
@@ -5460,23 +5676,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr ""
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr ""
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr ""
@@ -5549,7 +5765,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr ""
@@ -5557,23 +5773,23 @@ msgstr ""
msgid "All subscriptions"
msgstr ""
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr ""
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr ""
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr ""
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr ""
@@ -5613,7 +5829,12 @@ msgstr ""
msgid "Repeat this notice"
msgstr ""
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr ""
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5633,6 +5854,10 @@ msgstr ""
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr ""
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr ""
@@ -5684,6 +5909,15 @@ msgstr ""
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr ""
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5754,47 +5988,61 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr ""
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr ""
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr ""
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr ""
diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po
index b09823e6b..2a508849f 100644
--- a/locale/sv/LC_MESSAGES/statusnet.po
+++ b/locale/sv/LC_MESSAGES/statusnet.po
@@ -9,76 +9,82 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:44+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:50:58+0000\n"
"Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "Ã…tkomst"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Inställningar för webbplatsåtkomst"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "Registrering"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Privat"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Skall anonyma användare (inte inloggade) förhindras från att se webbplatsen?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Endast inbjudan"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Privat"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Gör så att registrering endast sker genom inbjudan."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Stängd"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Endast inbjudan"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Stängd"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
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
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Spara"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Ingen sådan sida"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -92,51 +98,59 @@ msgstr "Ingen sådan sida"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Ingen sådan användare."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s och vänner, sida %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s och vänner"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Flöden för %ss vänner (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Flöden för %ss vänner (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Flöden för %ss vänner (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "Detta är tidslinjen för %s och vänner, men ingen har skrivit något än."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -145,7 +159,8 @@ msgstr ""
"Prova att prenumerera på fler personer, [gå med i en grupp](%%action.groups%"
"%) eller skriv något själv."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -155,7 +170,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:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -164,7 +179,8 @@ msgstr ""
"Varför inte [registrera ett konto](%%%%action.register%%%%) och sedan knuffa "
"%s eller skriva en notis för hans eller hennes uppmärksamhet."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Du och vänner"
@@ -182,20 +198,20 @@ msgstr "Uppdateringar från %1$s och vänner på %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API-metod hittades inte."
@@ -227,8 +243,9 @@ msgstr "Kunde inte uppdatera användare."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Användaren har ingen profil."
@@ -254,7 +271,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -364,69 +381,69 @@ msgstr "Kunde inte fastställa användare hos källan."
msgid "Could not find target user."
msgstr "Kunde inte hitta målanvändare."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
"Smeknamnet får endast innehålla små bokstäver eller siffror, inga mellanslag."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Smeknamnet används redan. Försök med ett annat."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Inte ett giltigt smeknamn."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Hemsida är inte en giltig URL."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Fullständigt namn är för långt (max 255 tecken)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Beskrivning av plats är för lång (max 255 tecken)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "För många alias! Maximum %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Ogiltigt alias: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Alias \"%s\" används redan. Försök med ett annat."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Alias kan inte vara samma som smeknamn."
@@ -437,15 +454,15 @@ msgstr "Alias kan inte vara samma som smeknamn."
msgid "Group not found!"
msgstr "Grupp hittades inte!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Du är redan en medlem i denna grupp."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Du har blivit blockerad från denna grupp av administratören."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Kunde inte ansluta användare %1$s till grupp %2$s."
@@ -454,7 +471,7 @@ msgstr "Kunde inte ansluta användare %1$s till grupp %2$s."
msgid "You are not a member of this group."
msgstr "Du är inte en medlem i denna grupp."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Kunde inte ta bort användare %1$s från grupp %2$s."
@@ -485,7 +502,7 @@ msgstr "Ogiltig token."
#: 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -526,7 +543,7 @@ msgstr "Begäran-token %s har nekats och återkallats."
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -552,13 +569,13 @@ msgstr ""
"möjligheten att <strong>%3$s</strong> din %4$s kontoinformation. Du bör bara "
"ge tillgång till ditt %4$s-konto till tredje-parter du litar på."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Konto"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -639,18 +656,6 @@ msgstr "%1$s / Favoriter från %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s uppdateringar markerade som favorit av %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s tidslinje"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "Uppdateringar från %1$s på %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -661,12 +666,12 @@ msgstr "%1$s / Uppdateringar som nämner %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s uppdateringar med svar på uppdatering från %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s publika tidslinje"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s uppdateringar från alla!"
@@ -681,12 +686,12 @@ msgstr "Upprepat till %s"
msgid "Repeats of %s"
msgstr "Upprepningar av %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Notiser taggade med %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Uppdateringar taggade med %1$s på %2$s!"
@@ -702,8 +707,7 @@ msgstr "Ingen sådan bilaga."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Inget smeknamn."
@@ -715,7 +719,7 @@ msgstr "Ingen storlek."
msgid "Invalid size."
msgstr "Ogiltig storlek."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -728,35 +732,35 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "Användare utan matchande profil"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Avatarinställningar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Orginal"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Förhandsgranska"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Ta bort"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Ladda upp"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Beskär"
@@ -764,7 +768,7 @@ msgstr "Beskär"
msgid "Pick a square area of the image to be your avatar"
msgstr "Välj ett kvadratiskt område i bilden som din avatar"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Förlorade vår fildata."
@@ -799,22 +803,22 @@ msgstr ""
"framtiden och du kommer inte bli underrättad om några @-svar från dem."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Nej"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Blockera inte denna användare"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Ja"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Blockera denna användare"
@@ -822,40 +826,44 @@ msgstr "Blockera denna användare"
msgid "Failed to save block information."
msgstr "Misslyckades att spara blockeringsinformation."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Ingen sådan grupp."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "%s blockerade profiler"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%1$s blockerade profiler, sida %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
"En lista med de användare som blockerats från att gå med i denna grupp."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Häv blockering av användare från grupp"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Häv blockering"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Häv blockering av denna användare"
@@ -911,7 +919,7 @@ msgid "Conversation"
msgstr "Konversationer"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Notiser"
@@ -930,7 +938,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Det var ett problem med din sessions-token."
@@ -956,12 +964,13 @@ msgstr "Ta inte bort denna applikation"
msgid "Delete this application"
msgstr "Ta bort denna applikation"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Inte inloggad."
@@ -990,7 +999,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Ta bort denna notis"
@@ -1006,7 +1015,7 @@ msgstr "Du kan bara ta bort lokala användare."
msgid "Delete user"
msgstr "Ta bort användare"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1014,12 +1023,12 @@ 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/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Ta bort denna användare"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Utseende"
@@ -1122,6 +1131,18 @@ msgstr "Återställ standardutseende"
msgid "Reset back to default"
msgstr "Återställ till standardvärde"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Spara"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Spara utseende"
@@ -1213,29 +1234,29 @@ msgstr "Redigera %s grupp"
msgid "You must be logged in to create a group."
msgstr "Du måste vara inloggad för att skapa en grupp."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Du måste vara en administratör för att redigera gruppen."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "Använd detta formulär för att redigera gruppen."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "beskrivning är för lång (max %d tecken)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Kunde inte uppdatera grupp."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Kunde inte skapa alias."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Alternativ sparade."
@@ -1354,7 +1375,7 @@ msgid "Cannot normalize that email address"
msgstr "Kan inte normalisera den e-postadressen"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Inte en giltig e-postadress."
@@ -1547,6 +1568,22 @@ msgstr "Ingen sådan fil."
msgid "Cannot read file."
msgstr "Kan inte läsa fil."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Ogiltig roll."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Denna roll är reserverad och kan inte ställas in"
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Du kan inte bevilja användare roller på denna webbplats."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "Användaren har redan denna roll."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1576,7 +1613,7 @@ msgstr "Användaren är redan blockerad från grupp."
msgid "User is not a member of group."
msgstr "Användare är inte en gruppmedlem."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Blockera användare från grupp"
@@ -1611,31 +1648,31 @@ msgstr "Ingen ID."
msgid "You must be logged in to edit a group."
msgstr "Du måste vara inloggad för att redigera en grupp."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Gruppens utseende"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
"Anpassa hur din grupp ser ut genom att välja bakgrundbild och färgpalett."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Kunde inte uppdatera dina utseendeinställningar."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Utseendeinställningar sparade."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Gruppens logotyp"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1643,62 +1680,68 @@ msgstr ""
"Du kan ladda upp en logotypbild för din grupp. Den maximala filstorleken är %"
"s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "Användare utan matchande profil."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Välj ett kvadratiskt område i bilden som logotyp"
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Logtyp uppdaterad."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "Misslyckades uppdatera logtyp."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s gruppmedlemmar"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s gruppmedlemmar, sida %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "En lista av användarna i denna grupp."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Administratör"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Blockera"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Gör användare till en administratör för gruppen"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Gör till administratör"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Gör denna användare till administratör"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s tidslinje"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Uppdateringar från medlemmar i %1$s på %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Grupper"
@@ -1958,16 +2001,18 @@ msgstr "Personligt meddelande"
msgid "Optionally add a personal message to the invitation."
msgstr "Om du vill, skriv ett personligt meddelande till inbjudan."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr "Skicka"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s har bjudit in dig att gå med dem på %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2028,7 +2073,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du måste vara inloggad för att kunna gå med i en grupp."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Inget smeknamn eller ID."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s gick med i grupp %2$s"
@@ -2037,11 +2086,11 @@ msgstr "%1$s gick med i grupp %2$s"
msgid "You must be logged in to leave a group."
msgstr "Du måste vara inloggad för att lämna en grupp."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Du är inte en medlem i den gruppen."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s lämnade grupp %2$s"
@@ -2058,8 +2107,7 @@ msgstr "Felaktigt användarnamn eller lösenord."
msgid "Error setting user. You are probably not authorized."
msgstr "Fel vid inställning av användare. Du har sannolikt inte tillstånd."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Logga in"
@@ -2313,8 +2361,8 @@ msgstr "innehållstyp "
msgid "Only "
msgstr "Bara "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Ett dataformat som inte stödjs"
@@ -2453,7 +2501,8 @@ msgstr "Kan inte spara nytt lösenord."
msgid "Password saved."
msgstr "Lösenord sparat."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "Sökvägar"
@@ -2486,7 +2535,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Ogiltigt SSL-servernamn. Den maximala längden är 255 tecken."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Webbplats"
@@ -2575,7 +2623,7 @@ msgstr "Katalog med bakgrunder"
msgid "SSL"
msgstr "SSL"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Aldrig"
@@ -2630,11 +2678,11 @@ msgstr "Inte en giltig persontagg: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Användare som taggat sig själv med %1$s - sida %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Ogiltigt notisinnehåll"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr "Licensen för notiser ‘%1$s’ är inte förenlig webbplatslicensen ‘%2$s’."
@@ -2659,7 +2707,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 små bokstäver eller nummer, inga punkter eller mellanslag"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullständigt namn"
@@ -2687,7 +2735,7 @@ msgid "Bio"
msgstr "Biografi"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2714,7 +2762,7 @@ msgstr ""
"Taggar för dig själv (bokstäver, nummer, -, ., och _), separerade med "
"kommatecken eller mellanslag"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Språk"
@@ -2742,7 +2790,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Biografin är för lång (max %d tecken)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "Tidszon inte valt."
@@ -2771,7 +2819,8 @@ msgstr "Kunde inte spara profil."
msgid "Couldn't save tags."
msgstr "Kunde inte spara taggar."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Inställningar sparade."
@@ -2784,28 +2833,28 @@ msgstr "Bortom sidbegränsningen (%s)"
msgid "Could not retrieve public stream."
msgstr "Kunde inte hämta publik ström."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Publik tidslinje, sida %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Publik tidslinje"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Publikt flöde av ström (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Publikt flöde av ström (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Publikt flöde av ström (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2814,11 +2863,11 @@ msgstr ""
"Detta är den publika tidslinjen för %%site.name%% men ingen har postat något "
"än."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Bli först att posta!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2826,7 +2875,7 @@ msgstr ""
"Varför inte [registrera ett konto](%%action.register%%) och bli först att "
"posta!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2839,7 +2888,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:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3018,8 +3067,7 @@ msgstr "Tyvärr, ogiltig inbjudningskod."
msgid "Registration successful"
msgstr "Registreringen genomförd"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrera"
@@ -3062,7 +3110,7 @@ msgid "Same as password above. Required."
msgstr "Samma som lösenordet ovan. Måste fyllas i."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-post"
@@ -3170,7 +3218,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL till din profil på en annan kompatibel mikrobloggtjänst"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Prenumerera"
@@ -3208,7 +3256,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
msgstr "Upprepad"
@@ -3216,33 +3264,33 @@ msgstr "Upprepad"
msgid "Repeated!"
msgstr "Upprepad!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Svarat till %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Svar till %1$s, sida %2$s"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Flöde med svar för %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Flöde med svar för %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Flöde med svar för %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3251,7 +3299,7 @@ msgstr ""
"Detta är tidslinjen som visar svar till %s1$ men %2$s har inte tagit emot en "
"notis för dennes uppmärksamhet än."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3260,7 +3308,7 @@ msgstr ""
"Du kan engagera andra användare i en konversation, prenumerera på fler "
"personer eller [gå med i grupper](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3274,6 +3322,15 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Svar till %1$s på %2$s"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Du kan inte återkalla användarroller på denna webbplats."
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Användare utan matchande profil."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3286,8 +3343,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "Sessioner"
@@ -3311,8 +3369,8 @@ msgstr "Sessionsfelsökning"
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
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Spara webbplatsinställningar"
@@ -3342,8 +3400,8 @@ msgstr "Organisation"
msgid "Description"
msgstr "Beskrivning"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Statistik"
@@ -3406,22 +3464,22 @@ msgstr "%1$ss favoritnotiser, sida %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Kunde inte hämta favoritnotiser."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Flöde för %ss favoriter (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Flöde för %ss favoriter (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Flöde för %ss favoriter (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3430,7 +3488,7 @@ msgstr ""
"bredvid någon notis du skulle vilja bokmärka för senare tillfälle eller för "
"att sätta strålkastarljuset på."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3439,7 +3497,7 @@ msgstr ""
"%s har inte lagt till några notiser till sina favoriter ännu. Posta något "
"intressant de skulle lägga till sina favoriter :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3450,7 +3508,7 @@ msgstr ""
"[registrera ett konto](%%%%action.register%%%%) och posta något intressant "
"de skulle lägga till sina favoriter :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Detta är ett sätt att dela med av det du gillar."
@@ -3464,67 +3522,67 @@ msgstr "%s grupp"
msgid "%1$s group, page %2$d"
msgstr "%1$s grupp, sida %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Grupprofil"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "Notis"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Alias"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "Åtgärder för grupp"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Flöde av notiser för %s grupp (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Flöde av notiser för %s grupp (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Flöde av notiser för %s grupp (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF för %s grupp"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Medlemmar"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(Ingen)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Alla medlemmar"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Skapad"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3539,7 +3597,7 @@ msgstr ""
"sina liv och intressen. [Gå med nu](%%%%action.register%%%%) för att bli en "
"del av denna grupp och många fler! ([Läs mer](%%%%doc.help%%%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3552,7 +3610,7 @@ msgstr ""
"[StatusNet](http://status.net/). Dess medlemmar delar korta meddelande om "
"sina liv och intressen. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Administratörer"
@@ -3673,147 +3731,138 @@ msgid "User is already silenced."
msgstr "Användaren är redan nedtystad."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "Grundinställningar för din StatusNet-webbplats"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Webbplatsnamnet måste vara minst ett tecken långt."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Du måste ha en giltig e-postadress."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Okänt språk \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "Ogiltig rapport-URL för ögonblicksbild"
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Ogiltigt körvärde för ögonblicksbild."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "Frekvens för ögonblicksbilder måste vara ett nummer."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Minsta textbegränsning är 140 tecken."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr "Begränsning av duplikat måste vara en eller fler sekuner."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "Allmänt"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Webbplatsnamn"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Namnet på din webbplats, t.ex. \"Företagsnamn mikroblogg\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Tillhandahållen av"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "Text som används för tillskrivningslänkar i sidfoten på varje sida."
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "Tillhandahållen av URL"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL som används för tillskrivningslänkar i sidfoten på varje sida"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Kontakte-postadress för din webbplats"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Lokal"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "Standardtidszon"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "Standardtidzon för denna webbplats; vanligtvis UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "Webbplatsens standardspråk"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Ögonblicksbild"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Slumpmässigt vid webbförfrågningar"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "I ett schemalagt jobb"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Ögonblicksbild av data"
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "När statistikdata skall skickas till status.net-servrar"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "Frekvens"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Ögonblicksbild kommer skickas var N:te webbträff"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "URL för rapport"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Ögonblicksbild kommer skickat till denna URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "Begränsningar"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "Textbegränsning"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "Maximala antalet tecken för notiser."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "Duplikatbegränsning"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Hur länge användare måste vänta (i sekunder) för att posta samma sak igen."
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Webbplatsnotis"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Nytt meddelande"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Kunde inte spara dina utseendeinställningar."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Webbplatsnotis"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Webbplatsnotis"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "Inställningar för SMS"
@@ -3913,6 +3962,66 @@ msgstr ""
msgid "No code entered"
msgstr "Ingen kod ifylld"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Ögonblicksbild"
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Ändra webbplatskonfiguration"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Ogiltigt körvärde för ögonblicksbild."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "Frekvens för ögonblicksbilder måste vara ett nummer."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "Ogiltig rapport-URL för ögonblicksbild"
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Slumpmässigt vid webbförfrågningar"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "I ett schemalagt jobb"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Ögonblicksbild av data"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "När statistikdata skall skickas till status.net-servrar"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "Frekvens"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Ögonblicksbild kommer skickas var N:te webbträff"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "URL för rapport"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Ögonblicksbild kommer skickat till denna URL"
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Spara webbplatsinställningar"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Du är inte prenumerat hos den profilen."
@@ -3924,17 +4033,15 @@ msgstr "Kunde inte spara prenumeration."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Denna åtgärd accepterar endast POST-begäran."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Ingen sådan fil."
+msgstr "Ingen sådan profil."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Du är inte prenumerat hos den profilen."
+msgstr "Du kan inte prenumerera på en 0MB 0.1-fjärrprofil med denna åtgärd."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4029,22 +4136,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Notiser taggade med %1$s, sida %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Flöde av notiser för tagg %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Flöde av notiser för tagg %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Flöde av notiser för tagg %s (Atom)"
@@ -4099,7 +4206,7 @@ msgstr ""
msgid "No such tag."
msgstr "Ingen sådan tagg."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API-metoden är under uppbyggnad."
@@ -4123,7 +4230,7 @@ msgstr "Ingen profil-ID i begäran."
msgid "Unsubscribed"
msgstr "Prenumeration avslutad"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
@@ -4131,72 +4238,73 @@ msgstr ""
"Licensen för lyssnarströmmen '%1$s' är inte förenlig med webbplatslicensen '%"
"2$s'."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "Användare"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "Användarinställningar för denna StatusNet-webbplats"
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Ogiltig begränsning av biografi. Måste vara numerisk."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Ogiltig välkomsttext. Maximal längd är 255 tecken."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Ogiltig standardprenumeration: '%1$s' är inte användare."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "Begränsning av biografi"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "Maximal teckenlängd av profilbiografi."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Nya användare"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "Välkomnande av ny användare"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "Välkomsttext för nya användare (max 255 tecken)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "Standardprenumerationer"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
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:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "Inbjudningar"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Inbjudningar aktiverade"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "Hurvida användare skall tillåtas bjuda in nya användare."
@@ -4326,17 +4434,23 @@ msgstr "%1$s grupper, sida %2$d"
msgid "Search for more groups"
msgstr "Sök efter fler grupper"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s är inte en medlem i någon grupp."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Prova att [söka efter grupper](%%action.groupsearch%%) och gå med i dem."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "Uppdateringar från %1$s på %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4392,7 +4506,7 @@ msgstr ""
msgid "Plugins"
msgstr "Insticksmoduler"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "Version"
@@ -4431,6 +4545,10 @@ msgstr "Inte med i grupp."
msgid "Group leave failed."
msgstr "Grupputträde misslyckades."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Kunde inte uppdatera lokal grupp."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4448,27 +4566,27 @@ msgstr "Kunde inte infoga meddelande."
msgid "Could not update message with new URI."
msgstr "Kunde inte uppdatera meddelande med ny URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Databasfel vid infogning av hashtag: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Problem vid sparande av notis. För långt."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Problem vid sparande av notis. Okänd användare."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"För många notiser för snabbt; ta en vilopaus och posta igen om ett par "
"minuter."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4476,19 +4594,19 @@ msgstr ""
"För många duplicerade meddelanden för snabbt; ta en vilopaus och posta igen "
"om ett par minuter."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Du är utestängd från att posta notiser på denna webbplats."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Problem med att spara notis."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Problem med att spara gruppinkorg."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4513,23 +4631,36 @@ msgstr "Inte prenumerant!"
msgid "Couldn't delete self-subscription."
msgstr "Kunde inte ta bort själv-prenumeration."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Kunde inte ta bort prenumeration."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Kunde inte ta bort prenumeration."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Välkommen till %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Kunde inte skapa grupp."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Kunde inte ställa in grupp-URI."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Kunde inte ställa in gruppmedlemskap."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Kunde inte spara lokal gruppinformation."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Ändra dina profilinställningar"
@@ -4567,124 +4698,170 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr "Namnlös sida"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Primär webbplatsnavigation"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Hem"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "Personlig profil och vänners tidslinje"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Personligt"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Ändra din e-post, avatar, lösenord, profil"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Anslut"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Anslut till tjänster"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Anslut"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Ändra webbplatskonfiguration"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "Bjud in"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Administratör"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "Bjud in vänner och kollegor att gå med dig på %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Logga ut"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Bjud in"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Logga ut från webbplatsen"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Logga ut"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Skapa ett konto"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "Registrera"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Logga in på webbplatsen"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Hjälp"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Logga in"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Hjälp mig!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Sök"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Hjälp"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Sök efter personer eller text"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Sök"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Webbplatsnotis"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "Lokala vyer"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Sidnotis"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "Sekundär webbplatsnavigation"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Hjälp"
+
+#: lib/action.php:754
msgid "About"
msgstr "Om"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "Frågor & svar"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "Användarvillkor"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Sekretess"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Källa"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Kontakt"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Emblem"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Programvarulicens för StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4693,12 +4870,12 @@ msgstr ""
"**%%site.name%%** är en mikrobloggtjänst tillhandahållen av [%%site.broughtby"
"%%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** är en mikrobloggtjänst. "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4709,107 +4886,147 @@ msgstr ""
"version %s, tillgänglig under [GNU Affero General Public License](http://www."
"fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Licens för webbplatsinnehåll"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "Innehåll och data av %1$s är privat och konfidensiell."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr "Innehåll och data copyright av %1$s. Alla rättigheter reserverade."
-#: lib/action.php:814
+#: lib/action.php:834
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:827
+#: lib/action.php:847
msgid "All "
msgstr "Alla "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "licens."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "Numrering av sidor"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Senare"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Tidigare"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Kan inte hantera fjärrinnehåll ännu."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Kan inte hantera inbäddat XML-innehåll ännu."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Kan inte hantera inbäddat Base64-innehåll ännu."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Du kan inte göra förändringar av denna webbplats."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Ändringar av den panelen tillåts inte."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() är inte implementerat."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSetting() är inte implementerat."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Kunde inte ta bort utseendeinställning."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "Grundläggande webbplatskonfiguration"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Webbplats"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "Konfiguration av utseende"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Utseende"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "Konfiguration av användare"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "Användare"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "Konfiguration av åtkomst"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "Konfiguration av sökvägar"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "Konfiguration av sessioner"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Webbplatsnotis"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Konfiguration av sökvägar"
+
+#: lib/apiauth.php:94
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:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4902,11 +5119,11 @@ msgstr "Notiser där denna bilaga förekommer"
msgid "Tags for this attachment"
msgstr "Taggar för denna billaga"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Byte av lösenord misslyckades"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Byte av lösenord är inte tillåtet"
@@ -4993,12 +5210,12 @@ msgstr "%s lämnade grupp %s"
msgid "Fullname: %s"
msgstr "Fullständigt namn: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "Plats: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Hemsida: %s"
@@ -5106,9 +5323,9 @@ msgstr ""
"Denna länk är endast användbar en gång, och gäller bara i 2 minuter: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "Prenumeration hos %s avslutad"
+msgstr "Prenumeration avslutad %s"
#: lib/command.php:709
msgid "You are not subscribed to anyone."
@@ -5141,7 +5358,6 @@ msgstr[0] "Du är en medlem i denna grupp:"
msgstr[1] "Du är en medlem i dessa grupper:"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5194,6 +5410,7 @@ msgstr ""
"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"
+"lose <smeknamn> - tvinga användare att sluta följa dig\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"
@@ -5220,19 +5437,19 @@ msgstr ""
"tracks - inte implementerat än.\n"
"tracking - inte implementerat än.\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Ingen konfigurationsfil hittades. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Jag letade efter konfigurationsfiler på följande platser: "
-#: lib/common.php:139
+#: lib/common.php:151
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:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "GÃ¥ till installeraren."
@@ -5331,6 +5548,11 @@ msgstr "Välj en tagg för att begränsa lista"
msgid "Go"
msgstr "GÃ¥"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL till gruppen eller ämnets hemsida eller blogg"
@@ -5420,23 +5642,23 @@ msgstr "Systemfel vid uppladdning av fil."
msgid "Not an image or corrupt file."
msgstr "Inte en bildfil eller så är filen korrupt."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Bildfilens format stödjs inte."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Förlorade vår fil."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Okänd filtyp"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "MB"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "kB"
@@ -5466,11 +5688,11 @@ msgstr "Logga in med ett användarnamn och lösenord"
msgid "Sign up for a new account"
msgstr "Registrera dig för ett nytt konto"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "E-postadressbekräftelse"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5499,12 +5721,12 @@ msgstr ""
"Tack för din tid, \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s lyssnar nu på dina notiser på %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5529,17 +5751,17 @@ msgstr ""
"----\n"
"Ändra din e-postadress eller notiferingsinställningar på %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Biografi: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Ny e-postadress för att skicka till %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5560,21 +5782,21 @@ msgstr ""
"Med vänliga hälsningar,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s status"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS-bekräftelse"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Du har blivit knuffad av %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5601,12 +5823,12 @@ msgstr ""
"Med vänliga hälsningar,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Nytt privat meddelande från %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5639,12 +5861,12 @@ msgstr ""
"Med vänliga hälsningar,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) lade till din notis som en favorit"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5681,12 +5903,12 @@ msgstr ""
"Med vänliga hälsningar,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) skickade en notis för din uppmärksamhet"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5818,6 +6040,11 @@ msgstr "Till"
msgid "Available characters"
msgstr "Tillgängliga tecken"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Skicka"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "Skicka en notis"
@@ -5876,23 +6103,23 @@ msgstr "V"
msgid "at"
msgstr "på"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "i sammanhang"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
msgstr "Upprepad av"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "Svara på denna notis"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Svara"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
msgstr "Notis upprepad"
@@ -5965,7 +6192,7 @@ msgstr "Taggar i %ss notiser"
msgid "Unknown"
msgstr "Okänd"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Prenumerationer"
@@ -5973,23 +6200,23 @@ msgstr "Prenumerationer"
msgid "All subscriptions"
msgstr "Alla prenumerationer"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Prenumeranter"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Alla prenumeranter"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "Användar-ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Medlem sedan"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Alla grupper"
@@ -6029,7 +6256,12 @@ msgstr "Upprepa denna notis?"
msgid "Repeat this notice"
msgstr "Upprepa denna notis"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Blockera denna användare från denna grupp"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "Ingen enskild användare definierad för enanvändarläge."
@@ -6049,6 +6281,10 @@ msgstr "Sök webbplats"
msgid "Keyword(s)"
msgstr "Nyckelord"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Sök"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Sök hjälp"
@@ -6100,6 +6336,15 @@ msgstr "Personer som prenumererar på %s"
msgid "Groups %s is a member of"
msgstr "Grupper %s är en medlem i"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "Bjud in"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "Bjud in vänner och kollegor att gå med dig på %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6170,47 +6415,64 @@ msgstr "Meddelande"
msgid "Moderate"
msgstr "Moderera"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Användarprofil"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "Administratörer"
+
+#: lib/userprofile.php:355
+#, fuzzy
+msgctxt "role"
+msgid "Moderator"
+msgstr "Moderera"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "ett par sekunder sedan"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "för nån minut sedan"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "för %d minuter sedan"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "för en timma sedan"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "för %d timmar sedan"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "för en dag sedan"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "för %d dagar sedan"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "för en månad sedan"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "för %d månader sedan"
-#: lib/util.php:970
+#: lib/util.php:1033
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 37a2582b3..c8a2f5c1a 100644
--- a/locale/te/LC_MESSAGES/statusnet.po
+++ b/locale/te/LC_MESSAGES/statusnet.po
@@ -1,5 +1,6 @@
# Translation of StatusNet to Telugu
#
+# Author@translatewiki.net: Brion
# Author@translatewiki.net: Veeven
# --
# This file is distributed under the same license as the StatusNet package.
@@ -8,78 +9,86 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:47+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:51:01+0000\n"
"Language-Team: Telugu\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "అంగీకరించà±"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "సైటౠఅందà±à°¬à°¾à°Ÿà± అమరికలà±"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "నమోదà±"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "అంతరంగికం"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr "à°…à°œà±à°žà°¾à°¤ (à°ªà±à°°à°µà±‡à°¶à°¿à°‚చని) వాడà±à°•à°°à±à°²à°¨à°¿ సైటà±à°¨à°¿ చూడకà±à°‚à°¡à°¾ నిషేధించాలా?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "ఆహà±à°µà°¾à°¨à°¿à°¤à±à°²à°•à± మాతà±à°°à°®à±‡"
+#, fuzzy
+msgctxt "LABEL"
+msgid "Private"
+msgstr "అంతరంగికం"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "ఆహà±à°µà°¾à°¨à°¿à°¤à±à°²à± మాతà±à°°à°®à±‡ నమోదౠఅవà±à°µà°—లిగేలా చెయà±à°¯à°¿."
-#: actions/accessadminpanel.php:173
-#, fuzzy
-msgid "Closed"
-msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ వాడà±à°•à°°à°¿ లేరà±."
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "ఆహà±à°µà°¾à°¨à°¿à°¤à±à°²à°•à± మాతà±à°°à°®à±‡"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "à°­à°¦à±à°°à°ªà°°à°šà±"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+#, fuzzy
+msgid "Closed"
+msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ వాడà±à°•à°°à°¿ లేరà±."
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "సైటౠఅమరికలనౠభదà±à°°à°ªà°°à°šà±"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "à°­à°¦à±à°°à°ªà°°à°šà±"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ పేజీ లేదà±"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -93,72 +102,82 @@ msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ పేజీ లేదà±"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ వాడà±à°•à°°à°¿ లేరà±."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s మరియౠమితà±à°°à±à°²à±, పేజీ %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s మరియౠమితà±à°°à±à°²à±"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడౠ(RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడౠ(RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడౠ(ఆటమà±)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "ఇది %s మరియౠమితà±à°°à±à°² కాలరేఖ కానీ ఇంకా ఎవరూ à°à°®à±€ రాయలేదà±."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr "ఇతరà±à°²à°•à°¿ చందా చేరండి, [à°à°¦à±ˆà°¨à°¾ à°—à±à°‚à°ªà±à°²à±‹ చేరండి](%%action.groups%%) లేదా మీరే à°à°¦à±ˆà°¨à°¾ à°µà±à°°à°¾à°¯à°‚à°¡à°¿."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "మీరౠమరియౠమీ à°¸à±à°¨à±‡à°¹à°¿à°¤à±à°²à±"
@@ -176,20 +195,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "నిరà±à°§à°¾à°°à°£ సంకేతం కనబడలేదà±."
@@ -223,8 +242,9 @@ msgstr "వాడà±à°•à°°à°¿à°¨à°¿ తాజాకరించలేకà±à°¨à±
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "వాడà±à°•à°°à°¿à°•à°¿ à°ªà±à°°à±Šà°«à±ˆà°²à± లేదà±."
@@ -249,7 +269,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -363,68 +383,68 @@ msgstr "వాడà±à°•à°°à°¿à°¨à°¿ తాజాకరించలేకà±à°¨à±
msgid "Could not find target user."
msgstr "లకà±à°·à±à°¯à°¿à°¤ వాడà±à°•à°°à°¿à°¨à°¿ à°•à°¨à±à°—ొనలేకపోయాం."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "పేరà±à°²à±‹ à°šà°¿à°¨à±à°¨à°¬à°¡à°¿ à°…à°•à±à°·à°°à°¾à°²à± మరియౠఅంకెలౠమాతà±à°°à°®à±‡ ఖాళీలౠలేకà±à°‚à°¡à°¾ ఉండాలి."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "à°† పేరà±à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ వాడà±à°¤à±à°¨à±à°¨à°¾à°°à±. మరోటి à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "సరైన పేరౠకాదà±."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "హోమౠపేజీ URL సరైనది కాదà±."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "పూరà±à°¤à°¿ పేరౠచాలా పెదà±à°¦à°—à°¾ ఉంది (à°—à°°à°¿à°·à±à° à°‚à°—à°¾ 255 à°…à°•à±à°·à°°à°¾à°²à±)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "వివరణ చాలా పెదà±à°¦à°—à°¾ ఉంది (%d à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "à°ªà±à°°à°¾à°‚తం పేరౠమరీ పెదà±à°¦à°—à°¾ ఉంది (255 à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "చాలా మారà±à°ªà±‡à°°à±à°²à±! %d à°—à°°à°¿à°·à±à° à°‚."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "తపà±à°ªà±à°¡à± మారà±à°ªà±‡à°°à±: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "\"%s\" à°…à°¨à±à°¨ మారà±à°ªà±‡à°°à±à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ వాడà±à°¤à±à°¨à±à°¨à°¾à°°à±. మరొకటి à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "మారà±à°ªà±‡à°°à± పేరà±à°¤à±‹ సమానంగా ఉండకూడదà±."
@@ -435,15 +455,15 @@ msgstr "మారà±à°ªà±‡à°°à± పేరà±à°¤à±‹ సమానంగా ఉం
msgid "Group not found!"
msgstr "à°—à±à°‚పౠదొరకలేదà±!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ à°† à°—à±à°‚à°ªà±à°²à±‹ సభà±à°¯à±à°²à±."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "నిరà±à°µà°¾à°¹à°•à±à°²à± à°† à°—à±à°‚పౠనà±à°‚à°¡à°¿ మిమà±à°®à°²à±à°¨à°¿ నిరోధించారà±."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "ఓపెనà±à°à°¡à±€ ఫారమà±à°¨à± సృషà±à°Ÿà°¿à°‚చలేకపోయాం: %s"
@@ -452,7 +472,7 @@ msgstr "ఓపెనà±à°à°¡à±€ ఫారమà±à°¨à± సృషà±à°Ÿà°¿à°‚à°šà
msgid "You are not a member of this group."
msgstr "మీరౠఈ à°—à±à°‚à°ªà±à°²à±‹ సభà±à°¯à±à°²à± కాదà±."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "వాడà±à°•à°°à°¿ %sని %s à°—à±à°‚పౠనà±à°‚à°¡à°¿ తొలగించలేకపోయాం."
@@ -484,7 +504,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -527,7 +547,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -550,13 +570,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "ఖాతా"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -637,18 +657,6 @@ msgstr ""
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s యొకà±à°• మైకà±à°°à±‹à°¬à±à°²à°¾à°—à±"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s కాలరేఖ"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -659,12 +667,12 @@ msgstr ""
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s బహిరంగ కాలరేఖ"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "అందరి à°¨à±à°‚à°¡à°¿ %s తాజాకరణలà±!"
@@ -679,12 +687,12 @@ msgstr "%sà°•à°¿ à°¸à±à°ªà°‚దనలà±"
msgid "Repeats of %s"
msgstr "%s యొకà±à°• à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°¾à°²à±"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "%s యొకà±à°• మైకà±à°°à±‹à°¬à±à°²à°¾à°—à±"
@@ -700,8 +708,7 @@ msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ జోడింపౠలేదà±."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
#, fuzzy
msgid "No nickname."
msgstr "పేరౠలేదà±."
@@ -714,7 +721,7 @@ msgstr "పరిమాణం లేదà±."
msgid "Invalid size."
msgstr "తపà±à°ªà±à°¡à± పరిమాణం."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "అవతారం"
@@ -726,35 +733,35 @@ msgstr "మీ à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ అవతారానà±à°¨à°¿ మీ
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "అవతారపౠఅమరికలà±"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "అసలà±"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "à°®à±à°¨à±à°œà±‚à°ªà±"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "తొలగించà±"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "à°Žà°—à±à°®à°¤à°¿à°‚à°šà±"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "à°•à°¤à±à°¤à°¿à°°à°¿à°‚à°šà±"
@@ -762,7 +769,7 @@ msgstr "à°•à°¤à±à°¤à°¿à°°à°¿à°‚à°šà±"
msgid "Pick a square area of the image to be your avatar"
msgstr "మీ అవతారానికి గానూ à°ˆ à°šà°¿à°¤à±à°°à°‚ à°¨à±à°‚à°¡à°¿ à°’à°• à°šà°¤à±à°°à°¸à±à°°à°ªà± à°ªà±à°°à°¦à±‡à°¶à°¾à°¨à±à°¨à°¿ à°Žà°‚à°šà±à°•à±‹à°‚à°¡à°¿"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -794,22 +801,22 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "కాదà±"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించకà±"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "à°…à°µà±à°¨à±"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించà±"
@@ -817,40 +824,44 @@ msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించà±"
msgid "Failed to save block information."
msgstr "నిరోధపౠసమాచారానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో విఫలమయà±à°¯à°¾à°‚."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ à°—à±à°‚పౠలేదà±."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "వాడà±à°•à°°à°¿à°•à°¿ à°ªà±à°°à±Šà°«à±ˆà°²à± లేదà±."
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s మరియౠమితà±à°°à±à°²à±"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "à°ˆ à°—à±à°‚పౠలోనికి చేరకà±à°‚à°¡à°¾ నిరోధించిన వాడà±à°•à°°à±à°² యొకà±à°• జాబితా."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ వాడà±à°•à°°à°¿ లేరà±."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ వాడà±à°•à°°à°¿ లేరà±."
@@ -907,7 +918,7 @@ msgid "Conversation"
msgstr "సంభాషణ"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "సందేశాలà±"
@@ -926,7 +937,7 @@ msgstr "మీరౠఈ ఉపకరణం యొకà±à°• యజమాని à
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -951,12 +962,13 @@ msgstr "à°ˆ ఉపకరణానà±à°¨à°¿ తొలగించకà±"
msgid "Delete this application"
msgstr "à°ˆ ఉపకరణానà±à°¨à°¿ తొలగించà±"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "లోనికి à°ªà±à°°à°µà±‡à°¶à°¿à°‚చలేదà±."
@@ -983,7 +995,7 @@ msgstr "మీరౠనిజంగానే à°ˆ నోటీసà±à°¨à°¿ à°¤à±
msgid "Do not delete this notice"
msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించకà±"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించà±"
@@ -999,7 +1011,7 @@ msgstr "మీరౠసà±à°¥à°¾à°¨à°¿à°• వాడà±à°•à°°à±à°²à°¨à± మా
msgid "Delete user"
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ తొలగించà±"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1007,12 +1019,12 @@ msgstr ""
"మీరౠనిజంగానే à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ తొలగించాలనà±à°•à±à°‚à°Ÿà±à°¨à±à°¨à°¾à°°à°¾? ఇది à°† వాడà±à°•à°°à°¿ భోగటà±à°Ÿà°¾à°¨à°¿ డాటాబేసౠనà±à°‚à°¡à°¿ తొలగిసà±à°¤à±à°‚ది, "
"వెనకà±à°•à°¿ తేలేకà±à°‚à°¡à°¾."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ తొలగించà±"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "రూపà±à°°à±‡à°–à°²à±"
@@ -1113,6 +1125,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "à°­à°¦à±à°°à°ªà°°à°šà±"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "రూపà±à°°à±‡à°–లని à°­à°¦à±à°°à°ªà°°à°šà±"
@@ -1208,29 +1232,29 @@ msgstr "%s à°—à±à°‚à°ªà±à°¨à°¿ మారà±à°šà±"
msgid "You must be logged in to create a group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ సృషà±à°Ÿà°¿à°‚చడానికి మీరౠలోనికి à°ªà±à°°à°µà±‡à°¶à°¿à°‚చాలి."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ మీరౠనిరà±à°µà°¾à°¹à°•à±à°²à°¯à°¿ ఉండాలి."
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ à°ˆ ఫారానà±à°¨à°¿ ఉపయోగించండి."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "వివరణ చాలా పెదà±à°¦à°¦à°¿à°—à°¾ ఉంది (140 à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ తాజాకరించలేకà±à°¨à±à°¨à°¾à°‚."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "మారà±à°ªà±‡à°°à±à°²à°¨à°¿ సృషà±à°Ÿà°¿à°‚చలేకపోయాం."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "ఎంపికలౠభదà±à°°à°®à°¯à±à°¯à°¾à°¯à°¿."
@@ -1346,7 +1370,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "సరైన ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾ కాదà±:"
@@ -1531,6 +1555,25 @@ msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ ఫైలౠలేదà±."
msgid "Cannot read file."
msgstr "ఫైలà±à°¨à°¿ చదవలేకపోతà±à°¨à±à°¨à°¾à°‚."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "తపà±à°ªà±à°¡à± పరిమాణం."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ లోనికి à°ªà±à°°à°µà±‡à°¶à°¿à°‚చారà±!"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "వాడà±à°•à°°à°¿à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ à°—à±à°‚à°ªà±à°¨à±à°‚à°¡à°¿ నిరోధించారà±."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1560,7 +1603,7 @@ msgstr "వాడà±à°•à°°à°¿à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ à°—à±à°‚à°ªà±à°¨à
msgid "User is not a member of group."
msgstr "వాడà±à°•à°°à°¿ à°ˆ à°—à±à°‚à°ªà±à°²à±‹ సభà±à°¯à±à°²à± కాదà±."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ à°—à±à°‚పౠనà±à°‚à°¡à°¿ నిరోధించà±"
@@ -1595,93 +1638,99 @@ msgstr "à°à°¡à±€ లేదà±."
msgid "You must be logged in to edit a group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ మారà±à°šà°¡à°¾à°¨à°¿à°•à°¿ మీరౠపà±à°°à°µà±‡à°¶à°¿à°‚à°šà°¿ ఉండాలి."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "à°—à±à°‚పౠఅలంకారం"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "మీ రూపà±à°°à±‡à°–లని తాజాకరించలేకపోయాం."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "à°…à°­à°¿à°°à±à°šà±à°²à± à°­à°¦à±à°°à°®à°¯à±à°¯à°¾à°¯à°¿."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "à°—à±à°‚పౠచిహà±à°¨à°‚"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "మీ à°—à±à°‚à°ªà±à°•à°¿ మీరౠఒక à°šà°¿à°¹à±à°¨à°¾à°¨à±à°¨à°¿ à°Žà°•à±à°•à°¿à°‚చవచà±à°šà±. à°† ఫైలౠయొకà±à°• à°—à°°à°¿à°·à±à°  పరిమాణం %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "వాడà±à°•à°°à°¿à°•à°¿ à°ªà±à°°à±Šà°«à±ˆà°²à± లేదà±."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "à°šà°¿à°¹à±à°¨à°‚à°—à°¾ ఉండాలà±à°¸à°¿à°¨ à°šà°¤à±à°°à°¸à±à°¤à±à°° à°ªà±à°°à°¦à±‡à°¶à°¾à°¨à±à°¨à°¿ బొమà±à°® à°¨à±à°‚à°¡à°¿ à°Žà°‚à°šà±à°•à±‹à°‚à°¡à°¿."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "à°šà°¿à°¹à±à°¨à°¾à°¨à±à°¨à°¿ తాజాకరించాం."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "à°šà°¿à°¹à±à°¨à°ªà± తాజాకరణ విఫలమైంది."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s à°—à±à°‚పౠసభà±à°¯à±à°²à±"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "%1$s à°—à±à°‚పౠసభà±à°¯à±à°²à±, పేజీ %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "à°ˆ à°—à±à°‚à°ªà±à°²à±‹ వాడà±à°•à°°à±à°²à± జాబితా."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "నిరోధించà±"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ à°—à±à°‚à°ªà±à°•à°¿ à°’à°• నిరà±à°µà°¾à°¹à°•à±à°¨à°¿à°—à°¾ చేయి"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "నిరà±à°µà°¾à°¹à°•à±à°¨à±à°¨à°¿ చేయి"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరà±à°µà°¾à°¹à°•à±à°¨à±à°¨à°¿ చేయి"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s కాలరేఖ"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "%s యొకà±à°• మైకà±à°°à±‹à°¬à±à°²à°¾à°—à±"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "à°—à±à°‚à°ªà±à°²à±"
@@ -1921,16 +1970,19 @@ msgstr "à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ సందేశం"
msgid "Optionally add a personal message to the invitation."
msgstr "à°à°šà±à°›à°¿à°•à°‚à°—à°¾ ఆహà±à°µà°¾à°¨à°¾à°¨à°¿à°•à°¿ à°µà±à°¯à°•à±à°¤à°¿à°—à°¤ సందేశం చేరà±à°šà°‚à°¡à°¿."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "పంపించà±"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%2$sలో చేరమని %1$s మిమà±à°®à°²à±à°¨à°¿ ఆహà±à°µà°¾à°¨à°¿à°‚చారà±"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -1965,7 +2017,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "à°—à±à°‚à°ªà±à°²à±à°²à±‹ చేరడానికి మీరౠపà±à°°à°µà±‡à°¶à°¿à°‚à°šà°¿ ఉండాలి."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "పేరౠలేదà±."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s %2$s à°—à±à°‚à°ªà±à°²à±‹ చేరారà±"
@@ -1974,11 +2031,11 @@ msgstr "%1$s %2$s à°—à±à°‚à°ªà±à°²à±‹ చేరారà±"
msgid "You must be logged in to leave a group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ వదిలివెళà±à°³à°¡à°¾à°¨à°¿à°•à°¿ మీరౠపà±à°°à°µà±‡à°¶à°¿à°‚à°šà°¿ ఉండాలి."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "మీరౠఆ à°—à±à°‚à°ªà±à°²à±‹ సభà±à°¯à±à°²à± కాదà±."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%2$s à°—à±à°‚పౠనà±à°‚à°¡à°¿ %1$s వైదొలిగారà±"
@@ -1995,8 +2052,7 @@ msgstr "వాడà±à°•à°°à°¿à°ªà±‡à°°à± లేదా సంకేతపదం
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "à°ªà±à°°à°µà±‡à°¶à°¿à°‚à°šà°‚à°¡à°¿"
@@ -2190,9 +2246,8 @@ msgid "You must be logged in to list your applications."
msgstr "మీ ఉపకరణాలనౠచూడడానికి మీరౠపà±à°°à°µà±‡à°¶à°¿à°‚à°šà°¿ ఉండాలి."
#: actions/oauthappssettings.php:74
-#, fuzzy
msgid "OAuth applications"
-msgstr "ఇతర ఎంపికలà±"
+msgstr "OAuth ఉపకరణాలà±"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
@@ -2245,8 +2300,8 @@ msgstr "విషయ రకం "
msgid "Only "
msgstr "మాతà±à°°à°®à±‡ "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2390,7 +2445,8 @@ msgstr "కొతà±à°¤ సంకేతపదానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à
msgid "Password saved."
msgstr "సంకేతపదం à°­à°¦à±à°°à°®à°¯à±à°¯à°¿à°‚ది."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2423,7 +2479,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "సైటà±"
@@ -2514,7 +2569,7 @@ msgstr "నేపథà±à°¯à°¾à°² సంచయం"
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "వైదొలగà±"
@@ -2572,11 +2627,11 @@ msgstr "సరైన ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾ కాదà±
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "%s యొకà±à°• మైకà±à°°à±‹à°¬à±à°²à°¾à°—à±"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "సందేశపౠవిషయం సరైనది కాదà±"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2601,7 +2656,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 à°šà°¿à°¨à±à°¨à°¬à°¡à°¿ à°…à°•à±à°·à°°à°¾à°²à± లేదా అంకెలà±, విరామచిహà±à°¨à°¾à°²à± మరియౠఖాళీలౠతపà±à°ª"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "పూరà±à°¤à°¿ పేరà±"
@@ -2629,7 +2684,7 @@ msgid "Bio"
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯à°‚"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2654,7 +2709,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "భాష"
@@ -2680,7 +2735,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯à°‚ చాలా పెదà±à°¦à°—à°¾ ఉంది (%d à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "కాలమండలానà±à°¨à°¿ à°Žà°‚à°šà±à°•à±‹à°²à±‡à°¦à±."
@@ -2710,7 +2765,8 @@ msgstr "à°ªà±à°°à±Šà°«à±ˆà°²à±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°²à±‡à°•à±à°¨à±à°
msgid "Couldn't save tags."
msgstr "à°Ÿà±à°¯à°¾à°—à±à°²à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°²à±‡à°•à±à°¨à±à°¨à°¾à°‚."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "అమరికలౠభదà±à°°à°®à°¯à±à°¯à°¾à°¯à°¿."
@@ -2723,48 +2779,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "à°ªà±à°°à°œà°¾ కాలరేఖ, పేజీ %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "à°ªà±à°°à°œà°¾ కాలరేఖ"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "à°ªà±à°°à°œà°¾ వాహిని ఫీడà±"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "à°ªà±à°°à°œà°¾ వాహిని ఫీడà±"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "à°ªà±à°°à°œà°¾ వాహిని ఫీడà±"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2773,7 +2829,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2946,8 +3002,7 @@ msgstr "à°•à±à°·à°®à°¿à°‚à°šà°‚à°¡à°¿, తపà±à°ªà± ఆహà±à°µà°¾à°¨ à°¸à°
msgid "Registration successful"
msgstr "నమోదౠవిజయవంతం"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "నమోదà±"
@@ -2986,7 +3041,7 @@ msgid "Same as password above. Required."
msgstr "పై సంకేతపదం మరోసారి. తపà±à°ªà°¨à°¿à°¸à°°à°¿."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "ఈమెయిలà±"
@@ -3083,7 +3138,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "చందాచేరà±"
@@ -3122,7 +3177,7 @@ msgstr "à°ˆ లైసెనà±à°¸à±à°•à°¿ అంగీకరించకపోà
msgid "You already repeated that notice."
msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ à°† వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించారà±."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
@@ -3132,40 +3187,40 @@ msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
msgid "Repeated!"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "%sà°•à°¿ à°¸à±à°ªà°‚దనలà±"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "%sà°•à°¿ à°¸à±à°ªà°‚దనలà±"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, fuzzy, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr "ఇది %s మరియౠమితà±à°°à±à°² కాలరేఖ కానీ ఇంకా ఎవరూ à°à°®à±€ రాయలేదà±."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3174,7 +3229,7 @@ msgstr ""
"మీరౠఇతర వాడà±à°•à°°à±à°²à°¤à±‹ సంభాషించవచà±à°šà±, మరింత మంది à°µà±à°¯à°•à±à°¤à±à°²à°•à± చందాచేరవచà±à°šà± లేదా [à°—à±à°‚à°ªà±à°²à°²à±‹ చేరవచà±à°šà±]"
"(%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3186,6 +3241,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%sà°•à°¿ à°¸à±à°ªà°‚దనలà±"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ లోనికి à°ªà±à°°à°µà±‡à°¶à°¿à°‚చారà±!"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "వాడà±à°•à°°à°¿à°•à°¿ à°ªà±à°°à±Šà°«à±ˆà°²à± లేదà±."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "à°¸à±à°Ÿà±‡à°Ÿà°¸à±â€Œà°¨à±†à°Ÿà±"
@@ -3200,8 +3265,9 @@ msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ లోనికి à°ªà±à°°à°µà±‡
msgid "User is already sandboxed."
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ à°—à±à°‚à°ªà±à°¨à±à°‚à°¡à°¿ నిరోధించారà±."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3226,8 +3292,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "సైటౠఅమరికలనౠభదà±à°°à°ªà°°à°šà±"
@@ -3258,8 +3324,8 @@ msgstr "సంసà±à°§"
msgid "Description"
msgstr "వివరణ"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "గణాంకాలà±"
@@ -3321,35 +3387,35 @@ msgstr "%1$sà°•à°¿ ఇషà±à°Ÿà°®à±ˆà°¨ నోటీసà±à°²à±, పేజీ
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడà±"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడà±"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "%s యొకà±à°• ఇషà±à°Ÿà°¾à°‚శాల ఫీడౠ(ఆటమà±)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3357,7 +3423,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "మీకౠనచà±à°šà°¿à°¨à°µà°¿ పంచà±à°•à±‹à°¡à°¾à°¨à°¿à°•à°¿ ఇదొక మారà±à°—à°‚."
@@ -3371,67 +3437,67 @@ msgstr "%s à°—à±à°‚à°ªà±"
msgid "%1$s group, page %2$d"
msgstr "%1$s à°—à±à°‚పౠసభà±à°¯à±à°²à±, పేజీ %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "à°—à±à°‚పౠపà±à°°à±Šà°«à±ˆà°²à±"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "గమనిక"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "మారà±à°ªà±‡à°°à±à°²à±"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "à°—à±à°‚పౠచరà±à°¯à°²à±"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "%s à°—à±à°‚à°ªà±"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "సభà±à°¯à±à°²à±"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(à°à°®à±€à°²à±‡à°¦à±)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "అందరౠసభà±à°¯à±à°²à±‚"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3441,7 +3507,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3450,7 +3516,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "నిరà±à°µà°¾à°¹à°•à±à°²à±"
@@ -3562,147 +3628,138 @@ msgid "User is already silenced."
msgstr "వాడà±à°•à°°à°¿à°¨à°¿ ఇపà±à°ªà°Ÿà°¿à°•à±‡ à°—à±à°‚à°ªà±à°¨à±à°‚à°¡à°¿ నిరోధించారà±."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+#, fuzzy
+msgid "Basic settings for this StatusNet site"
msgstr "à°ˆ à°¸à±à°Ÿà±‡à°Ÿà°¸à±&zwnj;నెటౠసైటà±à°•à°¿ à°ªà±à°°à°¾à°§à°®à°¿à°• అమరికలà±."
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "సైటౠపేరౠతపà±à°ªà°¨à°¿à°¸à°°à°¿à°—à°¾ à°¸à±à°¨à±à°¨à°¾ కంటే à°Žà°•à±à°•à±à°µ పొడవà±à°‚డాలి."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "మీకౠసరైన సంపà±à°°à°¦à°¿à°‚పౠఈమెయిలౠచిరà±à°¨à°¾à°®à°¾ ఉండాలి."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "à°—à±à°°à±à°¤à± తెలియని భాష \"%s\"."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "కనిషà±à°  పాఠà±à°¯ పరిమితి 140 à°…à°•à±à°·à°°à°¾à°²à±."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "సాధారణ"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "సైటౠపేరà±"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "మీ సైటౠయొకà±à°• పేరà±, ఇలా \"మీకంపెనీ మైకà±à°°à±‹à°¬à±à°²à°¾à°—à±\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "à°ˆ వాడà±à°•à°°à°¿à°•à±ˆ నమోదైన ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾à°²à± à°à°®à±€ లేవà±."
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "à°¸à±à°¥à°¾à°¨à°¿à°•"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "à°…à°ªà±à°°à°®à±‡à°¯ కాలమండలం"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+#, fuzzy
+msgid "Default language"
msgstr "à°…à°ªà±à°°à°®à±‡à°¯ సైటౠభాష"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr ""
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr ""
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr ""
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "తరచà±à°¦à°¨à°‚"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "పరిమితà±à°²à±"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "పాఠà±à°¯à°ªà± పరిమితి"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "సందేశాలలోని à°…à°•à±à°·à°°à°¾à°² à°—à°°à°¿à°·à±à°  సంఖà±à°¯."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "సైటౠగమనిక"
+
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "కొతà±à°¤ సందేశం"
+
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "సైటౠగమనిక"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr ""
+
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "సైటౠగమనిక"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "SMS అమరికలà±"
@@ -3797,6 +3854,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "చందాలà±"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "తరచà±à°¦à°¨à°‚"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "సైటౠఅమరికలనౠభదà±à°°à°ªà°°à°šà±"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3905,22 +4022,22 @@ msgstr "జాబరà±"
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "%s యొకà±à°• మైకà±à°°à±‹à°¬à±à°²à°¾à°—à±"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "%s యొకà±à°• సందేశమà±à°² ఫీడà±"
@@ -3971,7 +4088,7 @@ msgstr ""
msgid "No such tag."
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ à°Ÿà±à°¯à°¾à°—ౠలేదà±."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -3998,77 +4115,79 @@ msgstr ""
msgid "Unsubscribed"
msgstr "చందాదారà±à°²à±"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "వాడà±à°•à°°à°¿"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "à°ˆ à°¸à±à°Ÿà±‡à°Ÿà°¸à±&zwnj;నెటౠసైటà±à°•à°¿ వాడà±à°•à°°à°¿ అమరికలà±."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "à°ªà±à°°à±Šà°«à±ˆà°²à±"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯ పరిమితి"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯à°‚ యొకà±à°• à°—à°°à°¿à°·à±à°  పొడవà±, à°…à°•à±à°·à°°à°¾à°²à°²à±‹."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "కొతà±à°¤ వాడà±à°•à°°à±à°²à±"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "కొతà±à°¤ వాడà±à°•à°°à°¿ à°¸à±à°µà°¾à°—తం"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "కొతà±à°¤ వాడà±à°•à°°à±à°²à°•à±ˆ à°¸à±à°µà°¾à°—à°¤ సందేశం (255 à°…à°•à±à°·à°°à°¾à°²à± à°—à°°à°¿à°·à±à° à°‚)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "à°…à°ªà±à°°à°®à±‡à°¯ చందా"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "ఉపయోగించాలà±à°¸à°¿à°¨ యాంతà±à°°à°¿à°• à°•à±à°¦à°¿à°‚పౠసేవ."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "ఆహà±à°µà°¾à°¨à°¾à°²à±"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "ఆహà±à°µà°¾à°¨à°¾à°²à°¨à°¿ చేతనంచేసాం"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr "వాడà±à°•à°°à±à°²à°¨à± కొతà±à°¤ వారిని ఆహà±à°µà°¾à°¨à°¿à°‚చడానికి à°…à°¨à±à°®à°¤à°¿à°‚చాలా వదà±à°¦à°¾."
@@ -4188,16 +4307,22 @@ msgstr "%1$s à°—à±à°‚పౠసభà±à°¯à±à°²à±, పేజీ %2$d"
msgid "Search for more groups"
msgstr "మరినà±à°¨à°¿ à°—à±à°‚à°ªà±à°²à°•à±ˆ వెతà±à°•à±"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s à° à°—à±à°‚పౠలోనూ సభà±à°¯à±à°²à± కాదà±."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "[à°—à±à°‚à°ªà±à°²à°¨à°¿ వెతికి](%%action.groupsearch%%) వాటిలో చేరడానికి à°ªà±à°°à°¯à°¤à±à°¨à°¿à°‚à°šà°‚à°¡à°¿."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4241,7 +4366,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "సంచిక"
@@ -4278,6 +4403,11 @@ msgstr "à°—à±à°‚à°ªà±à°²à±‹ భాగం కాదà±."
msgid "Group leave failed."
msgstr "à°—à±à°‚పౠనà±à°‚à°¡à°¿ వైదొలగడం విఫలమైంది."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "à°—à±à°‚à°ªà±à°¨à°¿ తాజాకరించలేకà±à°¨à±à°¨à°¾à°‚."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4295,46 +4425,46 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "à°ˆ సైటà±à°²à±‹ నోటీసà±à°²à± రాయడం à°¨à±à°‚à°¡à°¿ మిమà±à°®à°²à±à°¨à°¿ నిషేధించారà±."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4361,23 +4491,38 @@ msgstr "చందాదారà±à°²à±"
msgid "Couldn't delete self-subscription."
msgstr "చందాని తొలగించలేకపోయాం."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "చందాని తొలగించలేకపోయాం."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "చందాని తొలగించలేకపోయాం."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "@%2$s, %1$sà°•à°¿ à°¸à±à°µà°¾à°—తం!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "à°—à±à°‚à°ªà±à°¨à°¿ సృషà±à°Ÿà°¿à°‚చలేకపోయాం."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "à°—à±à°‚పౠసభà±à°¯à°¤à±à°µà°¾à°¨à±à°¨à°¿ అమరà±à°šà°²à±‡à°•à°ªà±‹à°¯à°¾à°‚."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "à°—à±à°‚పౠసభà±à°¯à°¤à±à°µà°¾à°¨à±à°¨à°¿ అమరà±à°šà°²à±‡à°•à°ªà±‹à°¯à°¾à°‚."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "చందాని సృషà±à°Ÿà°¿à°‚చలేకపోయాం."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4416,126 +4561,187 @@ msgstr "%1$s - %2$s"
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "à°®à±à°‚గిలి"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "à°µà±à°¯à°•à±à°¤à°¿à°—à°¤"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "మీ ఈమెయిలà±, అవతారం, సంకేతపదం మరియౠపà±à°°à±Œà°«à±ˆà°³à±à°³à°¨à± మారà±à°šà±à°•à±‹à°‚à°¡à°¿"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Connect to services"
+msgstr "à°…à°¨à±à°¸à°‚ధానాలà±"
+
+#: lib/action.php:443
msgid "Connect"
msgstr "à°…à°¨à±à°¸à°‚ధానించà±"
-#: lib/action.php:444
-msgid "Connect to services"
-msgstr ""
-
-#: lib/action.php:448
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "చందాలà±"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ఆహà±à°µà°¾à°¨à°¿à°‚à°šà±"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "నిరà±à°µà°¾à°¹à°•à±à°²à±"
-#: lib/action.php:453 lib/subgroupnav.php:106
-#, php-format
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
+#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "à°ˆ ఫారానà±à°¨à°¿ ఉపయోగించి మీ à°¸à±à°¨à±‡à°¹à°¿à°¤à±à°²à°¨à± మరియౠసహోదà±à°¯à±‹à°—à±à°²à°¨à± à°ˆ సేవనౠవినియోగించà±à°•à±‹à°®à°¨à°¿ ఆహà±à°µà°¾à°¨à°¿à°‚à°šà°‚à°¡à°¿."
-#: lib/action.php:458
-msgid "Logout"
-msgstr "నిషà±à°•à±à°°à°®à°¿à°‚à°šà±"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ఆహà±à°µà°¾à°¨à°¿à°‚à°šà±"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "సైటౠనà±à°‚à°¡à°¿ నిషà±à°•à±à°°à°®à°¿à°‚à°šà±"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "నిషà±à°•à±à°°à°®à°¿à°‚à°šà±"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "కొతà±à°¤ ఖాతా సృషà±à°Ÿà°¿à°‚à°šà±"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "నమోదà±"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "సైటà±à°²à±‹à°¨à°¿ à°ªà±à°°à°µà±‡à°¶à°¿à°‚à°šà±"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "సహాయం"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "à°ªà±à°°à°µà±‡à°¶à°¿à°‚à°šà°‚à°¡à°¿"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "సహాయం కావాలి!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "వెతà±à°•à±"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "సహాయం"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
-msgstr ""
+msgstr "మరినà±à°¨à°¿ à°—à±à°‚à°ªà±à°²à°•à±ˆ వెతà±à°•à±"
+
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "వెతà±à°•à±"
-#: lib/action.php:493
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "సైటౠగమనిక"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "à°¸à±à°¥à°¾à°¨à°¿à°• వీకà±à°·à°£à°²à±"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "పేజీ గమనిక"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "చందాలà±"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "సహాయం"
+
+#: lib/action.php:754
msgid "About"
msgstr "à°—à±à°°à°¿à°‚à°šà°¿"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "à°ªà±à°°à°¶à±à°¨à°²à±"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "సేవా నియమాలà±"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "అంతరంగికత"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "మూలమà±"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "సంపà±à°°à°¦à°¿à°‚à°šà±"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "బాడà±à°œà°¿"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "à°¸à±à°Ÿà±‡à°Ÿà°¸à±â€Œà°¨à±†à°Ÿà± మృదూపకరణ లైసెనà±à°¸à±"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4544,12 +4750,12 @@ msgstr ""
"**%%site.name%%** అనేది [%%site.broughtby%%](%%site.broughtbyurl%%) వారౠ"
"అందిసà±à°¤à±à°¨à±à°¨ మైకà±à°°à±‹ à°¬à±à°²à°¾à°—ింగౠసదà±à°ªà°¾à°¯à°‚. "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** అనేది మైకà±à°°à±‹ à°¬à±à°²à°¾à°—ింగౠసదà±à°ªà°¾à°¯à°‚."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4560,109 +4766,151 @@ msgstr ""
"html) à°•à°¿à°‚à°¦ లభà±à°¯à°®à°¯à±à°¯à±‡ [à°¸à±à°Ÿà±‡à°Ÿà°¸à±&zwnj;నెటà±](http://status.net/) మైకà±à°°à±‹à°¬à±à°²à°¾à°—ింగౠఉపకరణం సంచిక %s "
"పై నడà±à°¸à±à°¤à±à°‚ది."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "కొతà±à°¤ సందేశం"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "à°…à°¨à±à°¨à±€ "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "పేజీకరణ"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "తరà±à°µà°¾à°¤"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "ఇంతకà±à°°à°¿à°¤à°‚"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "à°ˆ సైటà±à°•à°¿ మీరౠమారà±à°ªà±à°²à± చేయలేరà±."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "à°ªà±à°°à°¾à°¥à°®à°¿à°• సైటౠసà±à°µà°°à±‚పణం"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "సైటà±"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "రూపకలà±à°ªà°¨ à°¸à±à°µà°°à±‚పణం"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "రూపà±à°°à±‡à°–à°²à±"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "వాడà±à°•à°°à°¿ à°¸à±à°µà°°à±‚పణం"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "వాడà±à°•à°°à°¿"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS నిరà±à°§à°¾à°°à°£"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS నిరà±à°§à°¾à°°à°£"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "రూపకలà±à°ªà°¨ à°¸à±à°µà°°à±‚పణం"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "సైటౠగమనిక"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS నిరà±à°§à°¾à°°à°£"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4720,11 +4968,11 @@ msgstr ""
#: lib/applicationeditform.php:297
msgid "Read-only"
-msgstr ""
+msgstr "చదవడం-మాతà±à°°à°®à±‡"
#: lib/applicationeditform.php:315
msgid "Read-write"
-msgstr ""
+msgstr "చదవడం-à°µà±à°°à°¾à°¯à°¡à°‚"
#: lib/applicationeditform.php:316
msgid "Default access for this application: read-only, or read-write"
@@ -4756,12 +5004,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "సంకేతపదం మారà±à°ªà±"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "సంకేతపదం మారà±à°ªà±"
@@ -4851,12 +5099,12 @@ msgstr "%2$s à°—à±à°‚పౠనà±à°‚à°¡à°¿ %1$s వైదొలిగారà±
msgid "Fullname: %s"
msgstr "పూరà±à°¤à°¿à°ªà±‡à°°à±: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "à°ªà±à°°à°¾à°‚తం: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "హోంపేజీ: %s"
@@ -5041,20 +5289,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "నిరà±à°§à°¾à°°à°£ సంకేతం లేదà±."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5152,6 +5400,11 @@ msgstr ""
msgid "Go"
msgstr "వెళà±à°³à±"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5244,24 +5497,24 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr "బొమà±à°® కాదౠలేదా పాడైపోయిన ఫైలà±."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ సందేశమేమీ లేదà±."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "తెలియని ఫైలౠరకం"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "మెబై"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "కిబై"
@@ -5292,11 +5545,11 @@ msgstr "వాడà±à°•à°°à°¿à°ªà±‡à°°à± మరియౠసంకేతపదà
msgid "Sign up for a new account"
msgstr "కొతà±à°¤ ఖాతా సృషà±à°Ÿà°¿à°‚à°šà±à°•à±‹à°‚à°¡à°¿"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾ నిరà±à°§à°¾à°°à°£"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5313,12 +5566,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s ఇపà±à°ªà±à°¡à± %2$sలో మీ నోటీసà±à°²à°¨à°¿ వింటà±à°¨à±à°¨à°¾à°°à±."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5341,19 +5594,19 @@ msgstr ""
"%7$s.\n"
"\n"
"----\n"
-"మీ ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾à°¨à°¿ లేదా గమనింపà±à°² ఎంపికలనౠ%8$s వదà±à°¦ మారà±à°šà±à°•à±‹à°‚à°¡à°¿"
+"మీ ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾à°¨à°¿ లేదా గమనింపà±à°² ఎంపికలనౠ%8$s వదà±à°¦ మారà±à°šà±à°•à±‹à°‚à°¡à°¿\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "à°¸à±à°µà°ªà°°à°¿à°šà°¯à°‚: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5366,21 +5619,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s à°¸à±à°¥à°¿à°¤à°¿"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS నిరà±à°§à°¾à°°à°£"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5396,12 +5649,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "%s à°¨à±à°‚à°¡à°¿ కొతà±à°¤ అంతరంగిక సందేశం"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5420,12 +5673,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr ""
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5446,12 +5699,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) మీకౠఒక నోటీసà±à°¨à°¿ పంపించారà±"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5576,6 +5829,12 @@ msgstr ""
msgid "Available characters"
msgstr "à°…à°‚à°¦à±à°¬à°¾à°Ÿà±à°²à±‹ ఉనà±à°¨ à°…à°•à±à°·à°°à°¾à°²à±"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "పంపించà±"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5635,24 +5894,24 @@ msgstr "à°ª"
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "సందరà±à°­à°‚లో"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "à°¸à±à°ªà°‚దించండి"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "నోటీసà±à°¨à°¿ తొలగించాం."
@@ -5728,7 +5987,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "చందాలà±"
@@ -5736,23 +5995,23 @@ msgstr "చందాలà±"
msgid "All subscriptions"
msgstr "à°…à°¨à±à°¨à°¿ చందాలà±"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "చందాదారà±à°²à±"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "అందరౠచందాదారà±à°²à±"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "వాడà±à°•à°°à°¿ ID"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "సభà±à°¯à±à°²à±ˆà°¨ తేదీ"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "à°…à°¨à±à°¨à°¿ à°—à±à°‚à°ªà±à°²à±"
@@ -5786,16 +6045,19 @@ msgid "Popular"
msgstr "à°ªà±à°°à°¾à°šà±à°°à±à°¯à°‚"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
-msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
+msgstr "à°ˆ నోటీసà±à°¨à°¿ à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°¿à°‚చాలా?"
#: lib/repeatform.php:132
-#, fuzzy
msgid "Repeat this notice"
-msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
+msgstr "à°ˆ నోటీసà±à°¨à°¿ à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°¿à°‚à°šà±"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "à°ˆ à°—à±à°‚à°ªà±à°¨à±à°‚à°¡à°¿ à°ˆ వాడà±à°•à°°à°¿à°¨à°¿ నిరోధించà±"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5816,6 +6078,10 @@ msgstr "సైటà±à°¨à°¿ వెతà±à°•à±"
msgid "Keyword(s)"
msgstr "కీపదమà±(à°²à±)"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "వెతà±à°•à±"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "సహాయంలో వెతà±à°•à±"
@@ -5869,6 +6135,15 @@ msgstr "%sà°•à°¿ చందాచేరిన à°µà±à°¯à°•à±à°¤à±à°²à±"
msgid "Groups %s is a member of"
msgstr "%s సభà±à°¯à±à°²à±à°—à°¾ ఉనà±à°¨ à°—à±à°‚à°ªà±à°²à±"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ఆహà±à°µà°¾à°¨à°¿à°‚à°šà±"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5942,47 +6217,63 @@ msgstr "సందేశం"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "వాడà±à°•à°°à°¿ à°ªà±à°°à±Šà°«à±ˆà°²à±"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "నిరà±à°µà°¾à°¹à°•à±à°²à±"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "కొనà±à°¨à°¿ à°•à±à°·à°£à°¾à°² à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "à°“ నిమిషం à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "%d నిమిషాల à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "à°’à°• à°—à°‚à°Ÿ à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "%d à°—à°‚à°Ÿà°² à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "à°“ రోజౠకà±à°°à°¿à°¤à°‚"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "%d రోజà±à°² à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "à°“ నెల à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "%d నెలల à°•à±à°°à°¿à°¤à°‚"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "à°’à°• సంవతà±à°¸à°°à°‚ à°•à±à°°à°¿à°¤à°‚"
diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po
index 149b21292..805e55268 100644
--- a/locale/tr/LC_MESSAGES/statusnet.po
+++ b/locale/tr/LC_MESSAGES/statusnet.po
@@ -9,82 +9,89 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:50+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:51:04+0000\n"
"Language-Team: Turkish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Kabul et"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Ayarlar"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Kayıt"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Gizlilik"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
msgid "Invite only"
msgstr ""
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "Böyle bir kullanıcı yok."
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Ayarlar"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Kaydet"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "Böyle bir durum mesajı yok."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -98,72 +105,82 @@ msgstr "Böyle bir durum mesajı yok."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Böyle bir kullanıcı yok."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s ve arkadaşları"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s ve arkadaşları"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "%s için arkadaş güncellemeleri RSS beslemesi"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "%s için arkadaş güncellemeleri RSS beslemesi"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "%s için arkadaş güncellemeleri RSS beslemesi"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s ve arkadaşları"
@@ -182,20 +199,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Onay kodu bulunamadı."
@@ -229,8 +246,9 @@ msgstr "Kullanıcı güncellenemedi."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "Kullanıcının profili yok."
@@ -255,7 +273,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -373,7 +391,7 @@ msgstr "Kullanıcı güncellenemedi."
msgid "Could not find target user."
msgstr "Kullanıcı güncellenemedi."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -381,62 +399,62 @@ msgstr ""
"Takma ad sadece küçük harflerden ve rakamlardan oluşabilir, boşluk "
"kullanılamaz. "
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Takma ad kullanımda. Başka bir tane deneyin."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Geçersiz bir takma ad."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Başlangıç sayfası adresi geçerli bir URL değil."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Tam isim çok uzun (azm: 255 karakter)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Yer bilgisi çok uzun (azm: 255 karakter)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "%s Geçersiz başlangıç sayfası"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Takma ad kullanımda. Başka bir tane deneyin."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -448,16 +466,16 @@ msgstr ""
msgid "Group not found!"
msgstr "İstek bulunamadı!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "Zaten giriş yapmış durumdasıznız!"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Sunucuya yönlendirme yapılamadı: %s"
@@ -467,7 +485,7 @@ msgstr "Sunucuya yönlendirme yapılamadı: %s"
msgid "You are not a member of this group."
msgstr "Bize o profili yollamadınız"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "OpenID formu yaratılamadı: %s"
@@ -499,7 +517,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -543,7 +561,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -566,14 +584,14 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
#, fuzzy
msgid "Account"
msgstr "Hakkında"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -659,18 +677,6 @@ msgstr "%1$s'in %2$s'deki durum mesajları "
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s adli kullanicinin durum mesajlari"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr ""
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -681,12 +687,12 @@ msgstr "%1$s'in %2$s'deki durum mesajları "
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -701,12 +707,12 @@ msgstr "%s için cevaplar"
msgid "Repeats of %s"
msgstr "%s için cevaplar"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "%s adli kullanicinin durum mesajlari"
@@ -724,8 +730,7 @@ msgstr "Böyle bir belge yok."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Takma ad yok"
@@ -737,7 +742,7 @@ msgstr ""
msgid "Invalid size."
msgstr "Geçersiz büyüklük."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Avatar"
@@ -749,36 +754,36 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
#, fuzzy
msgid "Avatar settings"
msgstr "Ayarlar"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr ""
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Yükle"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -786,7 +791,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -821,23 +826,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr ""
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "Böyle bir kullanıcı yok."
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr ""
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
#, fuzzy
msgid "Block this user"
msgstr "Böyle bir kullanıcı yok."
@@ -846,41 +851,45 @@ msgstr "Böyle bir kullanıcı yok."
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "Böyle bir durum mesajı yok."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "Kullanıcının profili yok."
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s ve arkadaşları"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "Böyle bir kullanıcı yok."
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "Böyle bir kullanıcı yok."
@@ -939,7 +948,7 @@ msgid "Conversation"
msgstr "Yer"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Durum mesajları"
@@ -961,7 +970,7 @@ 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:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -987,12 +996,13 @@ msgstr "Böyle bir durum mesajı yok."
msgid "Delete this application"
msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Giriş yapılmadı."
@@ -1020,7 +1030,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "Böyle bir durum mesajı yok."
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr ""
@@ -1038,19 +1048,19 @@ msgstr "Yerel aboneliÄŸi kullanabilirsiniz!"
msgid "Delete user"
msgstr ""
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "Böyle bir kullanıcı yok."
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1161,6 +1171,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Kaydet"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1260,31 +1282,31 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr ""
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr ""
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "Hakkında bölümü çok uzun (azm 140 karakter)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "Kullanıcı güncellenemedi."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "Avatar bilgisi kaydedilemedi"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
#, fuzzy
msgid "Options saved."
msgstr "Ayarlar kaydedildi."
@@ -1403,7 +1425,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Geçersiz bir eposta adresi."
@@ -1596,6 +1618,25 @@ msgstr "Böyle bir durum mesajı yok."
msgid "Cannot read file."
msgstr "Böyle bir durum mesajı yok."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Geçersiz büyüklük."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Bize o profili yollamadınız"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "Kullanıcının profili yok."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1627,7 +1668,7 @@ msgstr "Kullanıcının profili yok."
msgid "User is not a member of group."
msgstr "Bize o profili yollamadınız"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "Böyle bir kullanıcı yok."
@@ -1663,96 +1704,102 @@ msgstr "Kullanıcı numarası yok"
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Kullanıcı güncellenemedi."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "Tercihler kaydedildi."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr ""
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Kullanıcının profili yok."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "Avatar güncellendi."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "Avatar güncellemede hata."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr ""
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "%s adli kullanicinin durum mesajlari"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr ""
@@ -2003,16 +2050,19 @@ msgstr ""
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Gönder"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2047,7 +2097,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Takma ad yok"
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -2056,12 +2111,12 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
#, fuzzy
msgid "You are not a member of that group."
msgstr "Bize o profili yollamadınız"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s'in %2$s'deki durum mesajları "
@@ -2079,8 +2134,7 @@ msgstr "Yanlış kullanıcı adı veya parola."
msgid "Error setting user. You are probably not authorized."
msgstr "YetkilendirilmemiÅŸ."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "GiriÅŸ"
@@ -2332,8 +2386,8 @@ msgstr "BaÄŸlan"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2481,7 +2535,8 @@ msgstr "Yeni parola kaydedilemedi."
msgid "Password saved."
msgstr "Parola kaydedildi."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2514,7 +2569,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2607,7 +2661,7 @@ msgstr ""
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Geri al"
@@ -2667,11 +2721,11 @@ msgstr "Geçersiz bir eposta adresi."
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "%s adli kullanicinin durum mesajlari"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Geçersiz durum mesajı"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2699,7 +2753,7 @@ msgstr ""
"verilmez"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Tam Ä°sim"
@@ -2729,7 +2783,7 @@ msgid "Bio"
msgstr "Hakkında"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2754,7 +2808,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr ""
@@ -2780,7 +2834,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Hakkında bölümü çok uzun (azm 140 karakter)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2811,7 +2865,8 @@ msgstr "Profil kaydedilemedi."
msgid "Couldn't save tags."
msgstr "Profil kaydedilemedi."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Ayarlar kaydedildi."
@@ -2824,48 +2879,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, fuzzy, php-format
msgid "Public timeline, page %d"
msgstr "Genel zaman çizgisi"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Genel zaman çizgisi"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Genel Durum Akış RSS Beslemesi"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Genel Durum Akış RSS Beslemesi"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Genel Durum Akış RSS Beslemesi"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2874,7 +2929,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3047,8 +3102,7 @@ msgstr "Onay kodu hatası."
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Kayıt"
@@ -3087,7 +3141,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Eposta"
@@ -3176,7 +3230,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Abone ol"
@@ -3216,7 +3270,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "Yarat"
@@ -3226,47 +3280,47 @@ msgstr "Yarat"
msgid "Repeated!"
msgstr "Yarat"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "%s için cevaplar"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "%s için cevaplar"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "%s için durum RSS beslemesi"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "%s için durum RSS beslemesi"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "%s için durum RSS beslemesi"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3278,6 +3332,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%s için cevaplar"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Bize o profili yollamadınız"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Kullanıcının profili yok."
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3293,8 +3357,9 @@ msgstr "Bize o profili yollamadınız"
msgid "User is already sandboxed."
msgstr "Kullanıcının profili yok."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3318,8 +3383,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Ayarlar"
@@ -3354,8 +3419,8 @@ msgstr "Yer"
msgid "Description"
msgstr "Abonelikler"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Ä°statistikler"
@@ -3415,35 +3480,35 @@ msgstr "%s ve arkadaşları"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "%s için arkadaş güncellemeleri RSS beslemesi"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "%s için arkadaş güncellemeleri RSS beslemesi"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "%s için arkadaş güncellemeleri RSS beslemesi"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3451,7 +3516,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3465,71 +3530,71 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "Bütün abonelikler"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "Böyle bir durum mesajı yok."
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
#, fuzzy
msgid "Note"
msgstr "Durum mesajları"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "%s için durum RSS beslemesi"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "%s için durum RSS beslemesi"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "%s için durum RSS beslemesi"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "%s için durum RSS beslemesi"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "Üyelik başlangıcı"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "Yarat"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3539,7 +3604,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3548,7 +3613,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3660,149 +3725,137 @@ msgid "User is already silenced."
msgstr "Kullanıcının profili yok."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Geçersiz bir eposta adresi."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Yeni durum mesajı"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Kullanıcı için kaydedilmiş eposta adresi yok."
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Yer"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr ""
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Yeni durum mesajı"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
msgstr ""
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Durum mesajını kaydederken hata oluştu."
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Yeni durum mesajı"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Yeni durum mesajı"
#: actions/smssettings.php:58
#, fuzzy
@@ -3899,6 +3952,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Abonelikler"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Ayarlar"
+
#: actions/subedit.php:70
#, fuzzy
msgid "You are not subscribed to that profile."
@@ -4009,22 +4122,22 @@ msgstr "JabberID yok."
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "%s adli kullanicinin durum mesajlari"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "%s için durum RSS beslemesi"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "%s için durum RSS beslemesi"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "%s için durum RSS beslemesi"
@@ -4078,7 +4191,7 @@ msgstr ""
msgid "No such tag."
msgstr "Böyle bir durum mesajı yok."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -4107,79 +4220,80 @@ msgstr "Yetkilendirme isteÄŸi yok!"
msgid "Unsubscribed"
msgstr "Aboneliği sonlandır"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Profil"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Bütün abonelikler"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "Takip talebine izin verildi"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "Yer"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4306,16 +4420,22 @@ msgstr "Bütün abonelikler"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "Bize o profili yollamadınız"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4359,7 +4479,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "KiÅŸisel"
@@ -4400,6 +4520,11 @@ msgstr "Kullanıcı güncellenemedi."
msgid "Group leave failed."
msgstr "Böyle bir durum mesajı yok."
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Kullanıcı güncellenemedi."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4417,46 +4542,46 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Durum mesajını kaydederken hata oluştu."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "Durum mesajını kaydederken hata oluştu."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Durum mesajını kaydederken hata oluştu."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Durum mesajını kaydederken hata oluştu."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4484,25 +4609,40 @@ msgstr "Bu kullanıcıyı zaten takip etmiyorsunuz!"
msgid "Couldn't delete self-subscription."
msgstr "Abonelik silinemedi."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Abonelik silinemedi."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Abonelik silinemedi."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "Avatar bilgisi kaydedilemedi"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Abonelik oluşturulamadı."
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "Abonelik oluşturulamadı."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Abonelik oluşturulamadı."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4542,131 +4682,185 @@ msgstr "%1$s'in %2$s'deki durum mesajları "
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "Başlangıç"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr ""
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "KiÅŸisel"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "BaÄŸlan"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "Parolayı değiştir"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Sunucuya yönlendirme yapılamadı: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "BaÄŸlan"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Abonelikler"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Çıkış"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Geçersiz büyüklük."
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Çıkış"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Yeni hesap oluÅŸtur"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Kayıt"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Yardım"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "GiriÅŸ"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Yardım"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Ara"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Yardım"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Ara"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "Yeni durum mesajı"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "Yeni durum mesajı"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "Abonelikler"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Yardım"
+
+#: lib/action.php:754
msgid "About"
msgstr "Hakkında"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "SSS"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Gizlilik"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Kaynak"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Ä°letiÅŸim"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4675,12 +4869,12 @@ msgstr ""
"**%%site.name%%** [%%site.broughtby%%](%%site.broughtbyurl%%)\" tarafından "
"hazırlanan anında mesajlaşma ağıdır. "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** bir aninda mesajlaşma sosyal ağıdır."
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4691,114 +4885,156 @@ msgstr ""
"licenses/agpl-3.0.html) lisansı ile korunan [StatusNet](http://status.net/) "
"microbloglama yazılımının %s. versiyonunu kullanmaktadır."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "Yeni durum mesajı"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
#, fuzzy
msgid "After"
msgstr "« Sonra"
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "Önce »"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Eposta adresi onayı"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "Yeni durum mesajı"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "Eposta adresi onayı"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "KiÅŸisel"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Eposta adresi onayı"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Eposta adresi onayı"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "Eposta adresi onayı"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Eposta adresi onayı"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Yeni durum mesajı"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Eposta adresi onayı"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4896,12 +5132,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Parola kaydedildi."
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Parola kaydedildi."
@@ -4988,12 +5224,12 @@ msgstr "%1$s'in %2$s'deki durum mesajları "
msgid "Fullname: %s"
msgstr "Tam Ä°sim"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -5181,20 +5417,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Onay kodu yok."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5296,6 +5532,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5392,24 +5633,24 @@ msgstr "Dosya yüklemede sistem hatası."
msgid "Not an image or corrupt file."
msgstr "Bu bir resim dosyası değil ya da dosyada hata var"
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Desteklenmeyen görüntü dosyası biçemi."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "Böyle bir durum mesajı yok."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr ""
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5443,11 +5684,11 @@ msgstr "Geçersiz kullanıcı adı veya parola."
msgid "Sign up for a new account"
msgstr "Yeni hesap oluÅŸtur"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Eposta adresi onayı"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5464,12 +5705,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s %2$s'da durumunuzu takip ediyor"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5490,17 +5731,17 @@ msgstr ""
"Kendisini durumsuz bırakmayın!,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "Hakkında"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5513,21 +5754,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s durum"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5543,12 +5784,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5567,12 +5808,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%1$s %2$s'da durumunuzu takip ediyor"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5593,12 +5834,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5714,6 +5955,12 @@ msgstr ""
msgid "Available characters"
msgstr "6 veya daha fazla karakter"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Gönder"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5773,26 +6020,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "İçerik yok!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Yarat"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
#, fuzzy
msgid "Reply"
msgstr "cevapla"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Durum mesajları"
@@ -5867,7 +6114,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Abonelikler"
@@ -5875,24 +6122,24 @@ msgstr "Abonelikler"
msgid "All subscriptions"
msgstr "Bütün abonelikler"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Abone olanlar"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "Abone olanlar"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Üyelik başlangıcı"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr ""
@@ -5936,7 +6183,12 @@ msgstr "Böyle bir durum mesajı yok."
msgid "Repeat this notice"
msgstr "Böyle bir durum mesajı yok."
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Böyle bir kullanıcı yok."
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5958,6 +6210,10 @@ msgstr "Ara"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Ara"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6012,6 +6268,15 @@ msgstr "Uzaktan abonelik"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr ""
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6086,47 +6351,62 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Kullanıcının profili yok."
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "birkaç saniye önce"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "yaklaşık bir dakika önce"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "yaklaşık %d dakika önce"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "yaklaşık bir saat önce"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "yaklaşık %d saat önce"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "yaklaşık bir gün önce"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "yaklaşık %d gün önce"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "yaklaşık bir ay önce"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "yaklaşık %d ay önce"
-#: lib/util.php:970
+#: lib/util.php:1033
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 c261c310d..78aa5dc23 100644
--- a/locale/uk/LC_MESSAGES/statusnet.po
+++ b/locale/uk/LC_MESSAGES/statusnet.po
@@ -10,78 +10,84 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:53+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:51:07+0000\n"
"Language-Team: Ukrainian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10< =4 && (n%100<10 or n%100>=20) ? 1 : 2);\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
msgid "Access"
msgstr "ПогодитиÑÑŒ"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
msgid "Site access settings"
msgstr "Параметри доÑтупу на Ñайт"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
msgid "Registration"
msgstr "РеєÑтраціÑ"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr "Приватно"
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
"Заборонити анонімним відвідувачам (Ñ‚Ñ–, що не увійшли до ÑиÑтеми) переглÑдати "
"Ñайт?"
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
-msgstr "Лише за запрошеннÑми"
+msgctxt "LABEL"
+msgid "Private"
+msgstr "Приватно"
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr "Зробити регіÑтрацію лише за запрошеннÑми."
-#: actions/accessadminpanel.php:173
-msgid "Closed"
-msgstr "Закрито"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr "Лише за запрошеннÑми"
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 "Зберегти"
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+msgid "Closed"
+msgstr "Закрито"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
msgid "Save access settings"
msgstr "Зберегти параметри доÑтупу"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Зберегти"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "Ðемає такої Ñторінки"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -95,51 +101,59 @@ msgstr "Ðемає такої Ñторінки"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Такого кориÑтувача немає."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%1$s та друзі, Ñторінка %2$d"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s з друзÑми"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Стрічка допиÑів Ð´Ð»Ñ Ð´Ñ€ÑƒÐ·Ñ–Ð² %s (RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Стрічка допиÑів Ð´Ð»Ñ Ð´Ñ€ÑƒÐ·Ñ–Ð² %s (RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Стрічка допиÑів Ð´Ð»Ñ Ð´Ñ€ÑƒÐ·Ñ–Ð² %s (Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "Це Ñтрічка допиÑів %s Ñ– друзів, але вона поки що порожнÑ."
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
@@ -148,7 +162,8 @@ msgstr ""
"Спробуйте до когоÑÑŒ підпиÑатиÑÑŒ, [приєднатиÑÑŒ до групи](%%action.groups%%) "
"або напишіть щоÑÑŒ Ñамі."
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
@@ -157,7 +172,7 @@ msgstr ""
"Ви можете [«розштовхати» %1$s](../%2$s) зі Ñторінки його профілю або [щоÑÑŒ "
"йому напиÑати](%%%%action.newnotice%%%%?status_textarea=%3$s)."
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
@@ -166,7 +181,8 @@ msgstr ""
"Чому б не [зареєÑтруватиÑÑŒ](%%%%action.register%%%%) Ñ– не Ñпробувати "
"«розштовхати» %s або щоÑÑŒ йому напиÑати."
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
msgid "You and friends"
msgstr "Ви з друзÑми"
@@ -184,20 +200,20 @@ msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %1$s та друзів на %2$s!"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
msgid "API method not found."
msgstr "API метод не знайдено."
@@ -230,8 +246,9 @@ msgstr "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ кориÑтувача."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "КориÑтувач не має профілю."
@@ -257,7 +274,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -368,7 +385,7 @@ msgstr "Ðе вдалоÑÑŒ вÑтановити джерело кориÑтув
msgid "Could not find target user."
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ цільового кориÑтувача."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
@@ -376,62 +393,62 @@ msgstr ""
"Ð†Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача повинно ÑкладатиÑÑŒ з літер нижнього регіÑтру Ñ– цифр, ніÑких "
"інтервалів."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Це Ñ–Ð¼â€™Ñ Ð²Ð¶Ðµ викориÑтовуєтьÑÑ. Спробуйте інше."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Це недійÑне Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Веб-Ñторінка має недійÑну URL-адреÑу."
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Повне Ñ–Ð¼â€™Ñ Ð·Ð°Ð´Ð¾Ð²Ð³Ðµ (255 знаків макÑимум)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, php-format
msgid "Description is too long (max %d chars)."
msgstr "ÐžÐ¿Ð¸Ñ Ð½Ð°Ð´Ñ‚Ð¾ довгий (%d знаків макÑимум)."
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Ð›Ð¾ÐºÐ°Ñ†Ñ–Ñ Ð½Ð°Ð´Ñ‚Ð¾ довга (255 знаків макÑимум)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr "Забагато додаткових імен! МакÑимум Ñтановить %d."
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
msgstr "Помилкове додаткове ім’Ñ: \"%s\""
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Додаткове Ñ–Ð¼â€™Ñ \"%s\" вже викориÑтовуєтьÑÑ. Спробуйте інше."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr "Додаткове Ñ–Ð¼â€™Ñ Ð½Ðµ може бути таким Ñамим що й оÑновне."
@@ -442,15 +459,15 @@ msgstr "Додаткове Ñ–Ð¼â€™Ñ Ð½Ðµ може бути таким ÑамиÐ
msgid "Group not found!"
msgstr "Групу не знайдено!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr "Ви вже Ñ” учаÑником цієї групи."
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr "Ðдмін цієї групи заблокував Вашу приÑутніÑÑ‚ÑŒ в ній."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Ðе вдалоÑÑŒ долучити кориÑтувача %1$s до групи %2$s."
@@ -459,7 +476,7 @@ msgstr "Ðе вдалоÑÑŒ долучити кориÑтувача %1$s до г
msgid "You are not a member of this group."
msgstr "Ви не Ñ” учаÑником цієї групи."
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Ðе вдалоÑÑŒ видалити кориÑтувача %1$s з групи %2$s."
@@ -490,7 +507,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -534,7 +551,7 @@ msgstr "Токен запиту %s було ÑкаÑовано Ñ– відхиле
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -561,13 +578,13 @@ msgstr ""
"на доÑтуп до Вашого акаунту %4$s лише тим Ñтороннім додаткам, Ñким Ви "
"довірÑєте."
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "Ðкаунт"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -605,11 +622,11 @@ msgstr "Такого допиÑу немає."
#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
-msgstr "Ðе можу вторувати Вашому влаÑному допиÑу."
+msgstr "Ðе можу повторити Ваш влаÑний допиÑ."
#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
-msgstr "Цьому допиÑу вже вторували."
+msgstr "Цей Ð´Ð¾Ð¿Ð¸Ñ Ð²Ð¶Ðµ повторено."
#: actions/apistatusesshow.php:138
msgid "Status deleted."
@@ -650,18 +667,6 @@ msgstr "%1$s / Обрані від %2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¸Ñ… від %2$s / %2$s."
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s Ñтрічка"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %1$s на %2$s!"
-
#: actions/apitimelinementions.php:117
#, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -672,12 +677,12 @@ msgstr "%1$s / Оновленні відповіді %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "%1$s оновив цю відповідь на Ð´Ð¾Ð¿Ð¸Ñ Ð²Ñ–Ð´ %2$s / %3$s."
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s загальна Ñтрічка"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ уÑÑ–Ñ…!"
@@ -685,19 +690,19 @@ msgstr "%s Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ уÑÑ–Ñ…!"
#: actions/apitimelineretweetedtome.php:111
#, php-format
msgid "Repeated to %s"
-msgstr "Ð’Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° %s"
+msgstr "Повторено Ð´Ð»Ñ %s"
#: actions/apitimelineretweetsofme.php:114
#, php-format
msgid "Repeats of %s"
-msgstr "Ð’Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ %s"
+msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "ДопиÑи позначені з %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ñ– з %1$s на %2$s!"
@@ -713,8 +718,7 @@ msgstr "Такого Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð°Ñ”."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Ðемає імені."
@@ -726,7 +730,7 @@ msgstr "Ðемає розміру."
msgid "Invalid size."
msgstr "ÐедійÑний розмір."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Ðватара"
@@ -738,35 +742,35 @@ msgstr "Ви можете завантажити аватару. МакÑимаÐ
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "КориÑтувач з невідповідним профілем"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð²Ð°Ñ‚Ð°Ñ€Ð¸"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "Оригінал"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "ПереглÑд"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr "Видалити"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Завантажити"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "Ð’Ñ‚Ñти"
@@ -774,7 +778,7 @@ msgstr "Ð’Ñ‚Ñти"
msgid "Pick a square area of the image to be your avatar"
msgstr "Оберіть квадратну ділÑнку зображеннÑ, Ñка й буде Вашою автарою."
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "Дані Вашого файлу деÑÑŒ загубилиÑÑŒ."
@@ -809,22 +813,22 @@ msgstr ""
"більше не отримуватимете жодних допиÑів від нього."
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "ÐÑ–"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
msgid "Do not block this user"
msgstr "Ðе блокувати цього кориÑтувача"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Так"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
msgid "Block this user"
msgstr "Блокувати кориÑтувача"
@@ -832,39 +836,43 @@ msgstr "Блокувати кориÑтувача"
msgid "Failed to save block information."
msgstr "Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— про Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð¾ÑÑŒ невдачею."
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "Такої групи немає."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, php-format
msgid "%s blocked profiles"
msgstr "Заблоковані профілі %s"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Заблоковані профілі %1$s, Ñторінка %2$d"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr "СпиÑок кориÑтувачів блокованих в цій групі."
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
msgid "Unblock user from group"
msgstr "Розблокувати кориÑтувача"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "Розблокувати"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Розблокувати цього кориÑтувача"
@@ -920,7 +928,7 @@ msgid "Conversation"
msgstr "Розмова"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "ДопиÑи"
@@ -939,7 +947,7 @@ msgstr "Ви не Ñ” влаÑником цього додатку."
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr "Виникли певні проблеми з токеном поточної ÑеÑÑ–Ñ—."
@@ -965,12 +973,13 @@ msgstr "Ðе видалÑти додаток"
msgid "Delete this application"
msgstr "Видалити додаток"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Ðе увійшли."
@@ -997,7 +1006,7 @@ msgstr "Ви впевненні, що бажаєте видалити цей дÐ
msgid "Do not delete this notice"
msgstr "Ðе видалÑти цей допиÑ"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr "Видалити допиÑ"
@@ -1013,7 +1022,7 @@ msgstr "Ви можете видалÑти лише локальних кориÑ
msgid "Delete user"
msgstr "Видалити кориÑтувача"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
@@ -1021,12 +1030,12 @@ msgstr ""
"Впевнені, що бажаєте видалити цього кориÑтувача? УÑÑ– дані буде знищено без "
"можливоÑÑ‚Ñ– відновленнÑ."
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
msgid "Delete this user"
msgstr "Видалити цього кориÑтувача"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr "Дизайн"
@@ -1129,6 +1138,18 @@ msgstr "Оновити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° замовчуваннÑм"
msgid "Reset back to default"
msgstr "ПовернутиÑÑŒ до початкових налаштувань"
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "Зберегти"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr "Зберегти дизайн"
@@ -1220,29 +1241,29 @@ msgstr "Редагувати групу %s"
msgid "You must be logged in to create a group."
msgstr "Ви маєте Ñпочатку увійти, аби мати змогу Ñтворити групу."
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr "Ви маєте бути наділені правами адміниÑтратора, аби редагувати групу"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "СкориÑтайтеÑÑŒ цією формою, щоб відредагувати групу."
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
msgstr "Ð¾Ð¿Ð¸Ñ Ð½Ð°Ð´Ñ‚Ð¾ довгий (%d знаків макÑимум)."
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ групу."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
msgid "Could not create aliases."
msgstr "Ðеможна призначити додаткові імена."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "Опції збережено."
@@ -1360,7 +1381,7 @@ msgid "Cannot normalize that email address"
msgstr "Ðе можна полагодити цю поштову адреÑу"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Це недійÑна електронна адреÑа."
@@ -1551,6 +1572,22 @@ msgstr "Такого файлу немає."
msgid "Cannot read file."
msgstr "Ðе можу прочитати файл."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+msgid "Invalid role."
+msgstr "Ðевірна роль."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr "Цю роль вже зарезервовано Ñ– не може бути вÑтановлено."
+
+#: actions/grantrole.php:75
+msgid "You cannot grant user roles on this site."
+msgstr "Ви не можете надавати кориÑтувачеві жодних ролей на цьому Ñайті."
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr "КориÑтувач вже має цю роль."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1580,7 +1617,7 @@ msgstr "КориÑтувача заблоковано в цій групі."
msgid "User is not a member of group."
msgstr "КориÑтувач не Ñ” учаÑником групи."
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
msgid "Block user from group"
msgstr "Блокувати кориÑтувача в групі"
@@ -1615,11 +1652,11 @@ msgstr "Ðемає ID."
msgid "You must be logged in to edit a group."
msgstr "Ви маєте Ñпочатку увійти, аби мати змогу редагувати групу."
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr "Дизайн групи"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
@@ -1627,20 +1664,20 @@ msgstr ""
"Ðалаштуйте виглÑд Ñторінки групи, викориÑтовуючи фонове Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ– кольори "
"на Ñвій Ñмак."
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
msgstr "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ дизайн."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr "Преференції дизайну збережно."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "Логотип групи"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
@@ -1648,62 +1685,68 @@ msgstr ""
"Ви маєте можливіÑÑ‚ÑŒ завантажити логотип Ð´Ð»Ñ Ð’Ð°ÑˆÐ¾Ñ— группи. МакÑимальний "
"розмір файлу %s."
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr "КориÑтувач без відповідного профілю."
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "Оберіть квадратну ділÑнку зображеннÑ, Ñка й буде логотипом групи."
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "Логотип оновлено."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
msgid "Failed updating logo."
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ð¾Ñ‚Ð¸Ð¿Ñƒ завершилоÑÑŒ невдачею."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "УчаÑники групи %s"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr "УчаÑники групи %1$s, Ñторінка %2$d"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "СпиÑок учаÑників цієї групи."
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "Ðдмін"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "Блок"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr "Ðадати кориÑтувачеві права адмініÑтратора"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr "Зробити адміном"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr "Ðадати цьому кориÑтувачеві права адмініÑтратора"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s Ñтрічка"
+
+#: actions/grouprss.php:140
#, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð»ÐµÐ½Ñ–Ð² %1$s на %2$s!"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "Групи"
@@ -1964,16 +2007,18 @@ msgstr "ОÑобиÑÑ‚Ñ– повідомленнÑ"
msgid "Optionally add a personal message to the invitation."
msgstr "Можна додати перÑональне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ (опціонально)."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
-msgstr "Так!"
+msgstr "ÐадіÑлати"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s запроÑив(ла) Ð’Ð°Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð´Ð¾ нього(неї) на %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2035,7 +2080,11 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Ви повинні Ñпочатку увійти на Ñайт, аби приєднатиÑÑ Ð´Ð¾ групи."
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+msgid "No nickname or ID."
+msgstr "Ðемає імені або ІД."
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s приєднавÑÑ Ð´Ð¾ групи %2$s"
@@ -2044,11 +2093,11 @@ msgstr "%1$s приєднавÑÑ Ð´Ð¾ групи %2$s"
msgid "You must be logged in to leave a group."
msgstr "Ви повинні Ñпочатку увійти на Ñайт, аби залишити групу."
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr "Ви не Ñ” учаÑником цієї групи."
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s залишив групу %2$s"
@@ -2065,8 +2114,7 @@ msgstr "Ðеточне Ñ–Ð¼â€™Ñ Ð°Ð±Ð¾ пароль."
msgid "Error setting user. You are probably not authorized."
msgstr "Помилка. Можливо, Ви не авторизовані."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Увійти"
@@ -2322,8 +2370,8 @@ msgstr "тип зміÑту "
msgid "Only "
msgstr "Лише "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Такий формат даних не підтримуєтьÑÑ."
@@ -2464,7 +2512,8 @@ msgstr "Ðеможна зберегти новий пароль."
msgid "Password saved."
msgstr "Пароль збережено."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr "ШлÑÑ…"
@@ -2497,7 +2546,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr "Помилковий SSL-Ñервер. МакÑимальна довжина 255 знаків."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr "Сайт"
@@ -2585,7 +2633,7 @@ msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ Ñ„Ð¾Ð½Ñ–Ð²"
msgid "SSL"
msgstr "SSL-шифруваннÑ"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "Ðіколи"
@@ -2641,11 +2689,11 @@ msgstr "Це недійÑний оÑобиÑтий теґ: %s"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "КориÑтувачі з оÑобиÑтим теґом %1$s — Ñторінка %2$d"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "ÐедійÑний зміÑÑ‚ допиÑу"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Ð´Ð¾Ð¿Ð¸Ñу «%1$s» Ñ” неÑуміÑною з ліцензією Ñайту «%2$s»."
@@ -2670,7 +2718,7 @@ msgstr ""
"1-64 літери нижнього регіÑтру Ñ– цифри, ніÑкої пунктуації або інтервалів"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Повне ім’Ñ"
@@ -2698,7 +2746,7 @@ msgid "Bio"
msgstr "Про Ñебе"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2725,7 +2773,7 @@ msgstr ""
"Позначте Ñебе теґами (літери, цифри, -, . та _), відокремлюючи кожен комою "
"або пробілом"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Мова"
@@ -2752,7 +2800,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "Ви перевищили ліміт (%d знаків макÑимум)."
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "ЧаÑовий поÑÑ Ð½Ðµ обрано."
@@ -2781,7 +2829,8 @@ msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ профіль."
msgid "Couldn't save tags."
msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ теґи."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾."
@@ -2794,28 +2843,28 @@ msgstr "ДоÑÑгнуто ліміту Ñторінки (%s)"
msgid "Could not retrieve public stream."
msgstr "Ðе вдаєтьÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ загальну Ñтрічку."
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "Загальний Ñтрічка, Ñторінка %d"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Загальна Ñтрічка"
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Стрічка публічних допиÑів (RSS 1.0)"
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Стрічка публічних допиÑів (RSS 2.0)"
-#: actions/public.php:167
+#: actions/public.php:168
msgid "Public Stream Feed (Atom)"
msgstr "Стрічка публічних допиÑів (Atom)"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
@@ -2823,11 +2872,11 @@ msgid ""
msgstr ""
"Це публічна Ñтрічка допиÑів Ñайту %%site.name%%, але вона поки що порожнÑ."
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr "Станьте першим! Ðапишіть щоÑÑŒ!"
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
@@ -2835,7 +2884,7 @@ msgstr ""
"Чому б не [зареєÑтруватиÑÑŒ](%%action.register%%) Ñ– не зробити Ñвій перший "
"допиÑ!"
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2849,7 +2898,7 @@ msgstr ""
"розділити Ñвоє Ð¶Ð¸Ñ‚Ñ‚Ñ Ð· друзÑми, родиною Ñ– колегами! ([ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ](%%"
"doc.help%%))"
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3029,8 +3078,7 @@ msgstr "Даруйте, помилка у коді запрошеннÑ."
msgid "Registration successful"
msgstr "РеєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ ÑƒÑпішна"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "РеєÑтраціÑ"
@@ -3073,7 +3121,7 @@ msgid "Same as password above. Required."
msgstr "Такий Ñамо, Ñк Ñ– пароль вище. Ðеодмінно."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Пошта"
@@ -3178,7 +3226,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL-адреÑа Вашого профілю на іншому ÑуміÑному ÑервіÑÑ–"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "ПідпиÑатиÑÑŒ"
@@ -3201,7 +3249,7 @@ msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ токен запиту."
#: actions/repeat.php:57
msgid "Only logged-in users can repeat notices."
-msgstr "Лише кориÑтувачі, що знаходÑÑ‚ÑŒÑÑ Ñƒ ÑиÑтемі, можуть вторувати допиÑам."
+msgstr "Лише кориÑтувачі, що знаходÑÑ‚ÑŒÑÑ Ñƒ ÑиÑтемі, можуть повторювати допиÑи."
#: actions/repeat.php:64 actions/repeat.php:71
msgid "No notice specified."
@@ -3209,47 +3257,47 @@ msgstr "Зазначеного допиÑу немає."
#: actions/repeat.php:76
msgid "You can't repeat your own notice."
-msgstr "Ви не можете вторувати Ñвоїм влаÑним допиÑам."
+msgstr "Ви не можете повторювати Ñвої влаÑні допиÑи."
#: actions/repeat.php:90
msgid "You already repeated that notice."
-msgstr "Ви вже вторували цьому допиÑу."
+msgstr "Ви вже повторили цей допиÑ."
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
msgid "Repeated"
-msgstr "ВторуваннÑ"
+msgstr "Повторено"
#: actions/repeat.php:119
msgid "Repeated!"
-msgstr "Вторувати!"
+msgstr "Повторено!"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Відповіді до %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "Відповіді до %1$s, Ñторінка %2$d"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Стрічка відповідей до %s (RSS 1.0)"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Стрічка відповідей до %s (RSS 2.0)"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Стрічка відповідей до %s (Atom)"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
@@ -3258,7 +3306,7 @@ msgstr ""
"Ð¦Ñ Ñтрічка допиÑів міÑтить відповіді Ð´Ð»Ñ %1$s, але %2$s поки що нічого не "
"отримав у відповідь."
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
@@ -3267,7 +3315,7 @@ msgstr ""
"Ви можете долучити інших кориÑтувачів до ÑпілкуваннÑ, підпиÑавшиÑÑŒ до "
"більшої кількоÑÑ‚Ñ– людей або [приєднавшиÑÑŒ до груп](%%action.groups%%)."
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3281,6 +3329,14 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "Відповіді до %1$s на %2$s!"
+#: actions/revokerole.php:75
+msgid "You cannot revoke user roles on this site."
+msgstr "Ви не можете позбавлÑти кориÑтувачів ролей на цьому Ñайті."
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr "КориÑтувач не має цієї ролі."
+
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
@@ -3293,8 +3349,9 @@ msgstr "Ви не можете нікого ізолювати на цьому Ñ
msgid "User is already sandboxed."
msgstr "КориÑтувача ізольовано доки наберетьÑÑ ÑƒÐ¼Ñƒ-розуму."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr "СеÑÑ–Ñ—"
@@ -3318,8 +3375,8 @@ msgstr "СеÑÑ–Ñ Ð½Ð°Ð»Ð°Ð´ÐºÐ¸"
msgid "Turn on debugging output for sessions."
msgstr "Виводити дані ÑеÑÑ–Ñ— наладки."
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
msgid "Save site settings"
msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñайту"
@@ -3349,8 +3406,8 @@ msgstr "ОрганізаціÑ"
msgid "Description"
msgstr "ОпиÑ"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "СтатиÑтика"
@@ -3412,22 +3469,22 @@ msgstr "Обрані допиÑи %1$s, Ñторінка %2$d"
msgid "Could not retrieve favorite notices."
msgstr "Ðе можна відновити обрані допиÑи."
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Стрічка обраних допиÑів %s (RSS 1.0)"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Стрічка обраних допиÑів %s (RSS 2.0)"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Стрічка обраних допиÑів %s (Atom)"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
@@ -3436,7 +3493,7 @@ msgstr ""
"допиÑÑ– Ñкий Ви вподобали, аби повернутиÑÑŒ до нього пізніше, або звернути на "
"нього увагу інших."
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
@@ -3445,7 +3502,7 @@ msgstr ""
"%s поки що не вподобав жодних допиÑів. Може Ви б напиÑали йому щоÑÑŒ "
"цікаве? :)"
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3456,7 +3513,7 @@ msgstr ""
"action.register%%%%) Ñ– не напиÑати щоÑÑŒ цікаве, що мало б ÑподобатиÑÑŒ цьому "
"кориÑтувачеві :)"
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr "Це ÑпоÑіб поділитиÑÑŒ з уÑіма тим, що вам подобаєтьÑÑ."
@@ -3470,67 +3527,67 @@ msgstr "Група %s"
msgid "%1$s group, page %2$d"
msgstr "Група %1$s, Ñторінка %2$d"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
msgid "Group profile"
msgstr "Профіль групи"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr "ЗауваженнÑ"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr "Додаткові імена"
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "ДіÑльніÑÑ‚ÑŒ групи"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Стрічка допиÑів групи %s (RSS 1.0)"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Стрічка допиÑів групи %s (RSS 2.0)"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Стрічка допиÑів групи %s (Atom)"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "FOAF Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸ %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "УчаÑники"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(ПуÑто)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "Ð’ÑÑ– учаÑники"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
msgid "Created"
msgstr "Створено"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3545,7 +3602,7 @@ msgstr ""
"короткі допиÑи про Ñвоє Ð¶Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð° інтереÑи. [ПриєднуйтеÑÑŒ](%%action.register%"
"%) зараз Ñ– долучітьÑÑ Ð´Ð¾ ÑпілкуваннÑ! ([ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ](%%doc.help%%))"
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3558,7 +3615,7 @@ msgstr ""
"забезпеченні [StatusNet](http://status.net/). Члени цієї групи роблÑÑ‚ÑŒ "
"короткі допиÑи про Ñвоє Ð¶Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð° інтереÑи. "
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr "Ðдміни"
@@ -3669,7 +3726,7 @@ msgstr ""
#: actions/showstream.php:305
#, php-format
msgid "Repeat of %s"
-msgstr "Ð’Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ %s"
+msgstr "ÐŸÐ¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð° %s"
#: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site."
@@ -3680,150 +3737,136 @@ msgid "User is already silenced."
msgstr "КориÑтувачу наразі заклеїли рота Ñкотчем."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
-msgstr "Загальні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñайту StatusNet."
+msgid "Basic settings for this StatusNet site"
+msgstr "ОÑновні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñайту StatusNet"
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr "Ð†Ð¼â€™Ñ Ñайту не може бути порожнім."
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
msgid "You must have a valid contact email address."
msgstr "Електронна адреÑа має бути чинною."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "Ðевідома мова «%s»."
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr "Помилковий Ñнепшот URL."
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr "Помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñнепшоту."
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr "ЧаÑтота Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ Ñнепшотів має міÑтити цифру."
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr "Ліміт текÑтових повідомлень Ñтановить 140 знаків."
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
"ЧаÑове Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ надÑиланні дублікату Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” Ñтановити від 1 Ñ– "
"більше Ñекунд."
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr "ОÑновні"
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
msgid "Site name"
msgstr "Ðазва Ñайту"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr "Ðазва Вашого Ñайту, штибу \"Мікроблоґи компанії ...\""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr "Ðадано"
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr "ТекÑÑ‚ викориÑтаний Ð´Ð»Ñ Ð¿Ð¾Ñілань кредитів унизу кожної Ñторінки"
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr "Ðаданий URL"
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr "URL викориÑтаний Ð´Ð»Ñ Ð¿Ð¾Ñілань кредитів унизу кожної Ñторінки"
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
msgstr "Контактна електронна адреÑа Ð´Ð»Ñ Ð’Ð°ÑˆÐ¾Ð³Ð¾ Ñайту"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
msgid "Local"
msgstr "Локаль"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr "ЧаÑовий поÑÑ Ð·Ð° замовчуваннÑм"
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr "ЧаÑовий поÑÑ Ð·Ð° замовчуваннÑм Ð´Ð»Ñ Ñайту; зазвичай UTC."
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
-msgstr "Мова Ñайту за замовчуваннÑм"
-
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr "Снепшоти"
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
-msgstr "Випадково під Ñ‡Ð°Ñ Ð²ÐµÐ±-хіта"
-
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
-msgstr "Згідно плану робіт"
-
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
-msgstr "Снепшоти даних"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
+msgstr "Мова за замовчуваннÑм"
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
-msgstr "Коли надÑилати ÑтатиÑтичні дані до Ñерверів status.net"
-
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
-msgstr "ЧаÑтота"
-
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr "Снепшоти надÑилатимутьÑÑ Ñ€Ð°Ð· на N веб-хітів"
-
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr "Ð—Ð²Ñ–Ñ‚Ð½Ñ URL-адреÑа"
-
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr "Снепшоти надÑилатимутьÑÑ Ð½Ð° цю URL-адреÑу"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
+msgstr ""
+"Мова Ñайту на випадок, коли Ð°Ð²Ñ‚Ð¾Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð²Ð¸ за наÑтройками браузера не "
+"доÑтупно"
-#: actions/siteadminpanel.php:315
+#: actions/siteadminpanel.php:271
msgid "Limits"
msgstr "ОбмеженнÑ"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Text limit"
msgstr "ТекÑтові обмеженнÑ"
-#: actions/siteadminpanel.php:318
+#: actions/siteadminpanel.php:274
msgid "Maximum number of characters for notices."
msgstr "МакÑимальна кількіÑÑ‚ÑŒ знаків у допиÑÑ–."
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "Dupe limit"
msgstr "ЧаÑове обмеженнÑ"
-#: actions/siteadminpanel.php:322
+#: actions/siteadminpanel.php:278
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
"Як довго кориÑтувачі мають зачекати (в Ñекундах) аби надіÑлати той Ñамий "
"Ð´Ð¾Ð¿Ð¸Ñ Ñ‰Ðµ раз."
+#: actions/sitenoticeadminpanel.php:56
+msgid "Site Notice"
+msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту"
+
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
+msgstr "Змінити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту"
+
+#: actions/sitenoticeadminpanel.php:103
+msgid "Unable to save site notice."
+msgstr "Ðе вдаєтьÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту."
+
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
+msgstr "МакÑимальна довжина Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту Ñтановить 255 Ñимволів"
+
+#: actions/sitenoticeadminpanel.php:176
+msgid "Site notice text"
+msgstr "ТекÑÑ‚ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту"
+
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
+msgstr "ТекÑÑ‚ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту (255 Ñимволів макÑимум; HTML дозволено)"
+
+#: actions/sitenoticeadminpanel.php:198
+msgid "Save site notice"
+msgstr "Зберегти Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту"
+
#: actions/smssettings.php:58
msgid "SMS settings"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¡ÐœÐ¡"
@@ -3923,6 +3966,64 @@ msgstr ""
msgid "No code entered"
msgstr "Код не введено"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr "Снепшоти"
+
+#: actions/snapshotadminpanel.php:65
+msgid "Manage snapshot configuration"
+msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ”ÑŽ знімку"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr "Помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñнепшоту."
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr "ЧаÑтота Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ Ñнепшотів має міÑтити цифру."
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr "Помилковий Ñнепшот URL."
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr "Випадково під Ñ‡Ð°Ñ Ð²ÐµÐ±-хіта"
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr "Згідно плану робіт"
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr "Снепшоти даних"
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr "Коли надÑилати ÑтатиÑтичні дані до Ñерверів status.net"
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr "ЧаÑтота"
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr "Снепшоти надÑилатимутьÑÑ Ñ€Ð°Ð· на N веб-хітів"
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr "Ð—Ð²Ñ–Ñ‚Ð½Ñ URL-адреÑа"
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr "Снепшоти надÑилатимутьÑÑ Ð½Ð° цю URL-адреÑу"
+
+#: actions/snapshotadminpanel.php:248
+msgid "Save snapshot settings"
+msgstr "Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ñ–Ð¼ÐºÑƒ"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr "Ви не підпиÑані до цього профілю."
@@ -3934,17 +4035,15 @@ msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ підпиÑку."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Ð¦Ñ Ð´Ñ–Ñ Ð¿Ñ€Ð¸Ð¹Ð¼Ð°Ñ” лише запити POST."
#: actions/subscribe.php:107
-#, fuzzy
msgid "No such profile."
-msgstr "Такого файлу немає."
+msgstr "Ðемає такого профілю."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "Ви не підпиÑані до цього профілю."
+msgstr "Цією дією Ви не зможете підпиÑатиÑÑ Ð´Ð¾ віддаленого профілю OMB 0.1."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4039,22 +4138,22 @@ msgstr "Jabber"
msgid "SMS"
msgstr "СМС"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "ДопиÑи з теґом %1$s, Ñторінка %2$d"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Стрічка допиÑів Ð´Ð»Ñ Ñ‚ÐµÒ‘Ñƒ %s (RSS 1.0)"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Стрічка допиÑів Ð´Ð»Ñ Ñ‚ÐµÒ‘Ñƒ %s (RSS 2.0)"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Стрічка допиÑів Ð´Ð»Ñ Ñ‚ÐµÒ‘Ñƒ %s (Atom)"
@@ -4108,7 +4207,7 @@ msgstr "СкориÑтайтеÑÑŒ цією формою, щоб додати Ñ‚
msgid "No such tag."
msgstr "Такого теґу немає."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API метод наразі знаходитьÑÑ Ñƒ розробці."
@@ -4132,76 +4231,77 @@ msgstr "У запиті відÑутній ID профілю."
msgid "Unsubscribed"
msgstr "ВідпиÑано"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Â«%1$s» не відповідає ліцензії Ñайту «%2$s»."
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr "КориÑтувач"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr "ВлаÑні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ñайту StatusNet."
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr "Помилкове Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ñ–Ð¾. Це мають бути цифри."
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr "Помилковий текÑÑ‚ привітаннÑ. МакÑимальна довжина 255 знаків."
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr "Помилкова підпиÑка за замовчуваннÑм: '%1$s' не Ñ” кориÑтувачем."
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Профіль"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±Ñ–Ð¾"
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr "МакÑимальна довжина біо кориÑтувача в знаках."
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr "Ðові кориÑтувачі"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr "ÐŸÑ€Ð¸Ð²Ñ–Ñ‚Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ кориÑтувача"
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr "ТекÑÑ‚ Ð¿Ñ€Ð¸Ð²Ñ–Ñ‚Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… кориÑтувачів (255 знаків)."
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
msgid "Default subscription"
msgstr "ПідпиÑка за замовчуваннÑм"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr "Ðвтоматично підпиÑувати нових кориÑтувачів до цього кориÑтувача."
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
msgid "Invitations"
msgstr "ЗапрошеннÑ"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ ÑкаÑовано"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
"Ð’ той чи інший ÑпоÑіб дозволити кориÑтувачам вітати нових кориÑтувачів."
@@ -4333,17 +4433,23 @@ msgstr "Групи %1$s, Ñторінка %2$d"
msgid "Search for more groups"
msgstr "Шукати групи ще"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr "%s не Ñ” учаÑником жодної групи."
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
"Спробуйте [знайти ÑкіÑÑŒ групи](%%action.groupsearch%%) Ñ– приєднайтеÑÑ Ð´Ð¾ них."
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %1$s на %2$s!"
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4399,7 +4505,7 @@ msgstr ""
msgid "Plugins"
msgstr "Додатки"
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
msgid "Version"
msgstr "ВерÑÑ–Ñ"
@@ -4438,6 +4544,10 @@ msgstr "Ðе Ñ” чаÑтиною групи."
msgid "Group leave failed."
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð»Ð¸ÑˆÐ¸Ñ‚Ð¸ групу."
+#: classes/Local_group.php:41
+msgid "Could not update local group."
+msgstr "Ðе вдаєтьÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ локальну групу."
+
#: classes/Login_token.php:76
#, php-format
msgid "Could not create login token for %s"
@@ -4455,27 +4565,27 @@ msgstr "Ðе можна долучити повідомленнÑ."
msgid "Could not update message with new URI."
msgstr "Ðе можна оновити Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· новим URI."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Помилка бази даних при додаванні теґу: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
msgid "Problem saving notice. Too long."
msgstr "Проблема при збереженні допиÑу. Ðадто довге."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
msgid "Problem saving notice. Unknown user."
msgstr "Проблема при збереженні допиÑу. Ðевідомий кориÑтувач."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Дуже багато допиÑів за короткий термін; ходіть подихайте повітрÑм Ñ– "
"повертайтеÑÑŒ за кілька хвилин."
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
@@ -4483,19 +4593,19 @@ msgstr ""
"Дуже багато повідомлень за короткий термін; ходіть подихайте повітрÑм Ñ– "
"повертайтеÑÑŒ за кілька хвилин."
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "Вам заборонено надÑилати допиÑи до цього Ñайту."
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Проблема при збереженні допиÑу."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
msgid "Problem saving group inbox."
msgstr "Проблема при збереженні вхідних допиÑів Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¸."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4520,23 +4630,35 @@ msgstr "Ðе підпиÑано!"
msgid "Couldn't delete self-subscription."
msgstr "Ðе можу видалити ÑамопідпиÑку."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+msgid "Couldn't delete subscription OMB token."
+msgstr "Ðе вдаєтьÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ токен підпиÑки OMB."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ підпиÑку."
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "Вітаємо на %1$s, @%2$s!"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "Ðе вдалоÑÑ Ñтворити нову групу."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+msgid "Could not set group URI."
+msgstr "Ðе вдалоÑÑ Ð²Ñтановити URI групи."
+
+#: classes/User_group.php:507
msgid "Could not set group membership."
msgstr "Ðе вдалоÑÑ Ð²Ñтановити членÑтво."
+#: classes/User_group.php:521
+msgid "Could not save local group info."
+msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ інформацію про локальну групу."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Змінити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽ"
@@ -4574,124 +4696,170 @@ msgstr "%1$s — %2$s"
msgid "Untitled page"
msgstr "Сторінка без заголовку"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "Відправна Ð½Ð°Ð²Ñ–Ð³Ð°Ñ†Ñ–Ñ Ð¿Ð¾ Ñайту"
-#: lib/action.php:439
-msgid "Home"
-msgstr "Дім"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "ПерÑональний профіль Ñ– Ñтрічка друзів"
-#: lib/action.php:441
+#: lib/action.php:433
+msgctxt "MENU"
+msgid "Personal"
+msgstr "ОÑобиÑте"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Змінити електронну адреÑу, аватару, пароль, профіль"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "З’єднаннÑ"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Ð—â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· ÑервіÑами"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "З’єднаннÑ"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Змінити конфігурацію Ñайту"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ЗапроÑити"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr "Ðдмін"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "ЗапроÑÑ–Ñ‚ÑŒ друзів та колег приєднатиÑÑŒ до Ð’Ð°Ñ Ð½Ð° %s"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Вийти"
+#: lib/action.php:456
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ЗапроÑити"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "Вийти з Ñайту"
-#: lib/action.php:463
+#: lib/action.php:465
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Вийти"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Створити новий акаунт"
-#: lib/action.php:466
+#: lib/action.php:473
+msgctxt "MENU"
+msgid "Register"
+msgstr "РеєÑтраціÑ"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Увійти на Ñайт"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Допомога"
+#: lib/action.php:479
+msgctxt "MENU"
+msgid "Login"
+msgstr "Увійти"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Допоможіть!"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Пошук"
+#: lib/action.php:485
+msgctxt "MENU"
+msgid "Help"
+msgstr "Довідка"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Пошук людей або текÑтів"
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr "Пошук"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
msgid "Site notice"
msgstr "Ð—Ð°ÑƒÐ²Ð°Ð¶ÐµÐ½Ð½Ñ Ñайту"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "ОглÑд"
-#: lib/action.php:625
+#: lib/action.php:645
msgid "Page notice"
msgstr "Ð—Ð°ÑƒÐ²Ð°Ð¶ÐµÐ½Ð½Ñ Ñторінки"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr "ДругорÑдна Ð½Ð°Ð²Ñ–Ð³Ð°Ñ†Ñ–Ñ Ð¿Ð¾ Ñайту"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Допомога"
+
+#: lib/action.php:754
msgid "About"
msgstr "Про"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "ЧаПи"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr "Умови"
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "КонфіденційніÑÑ‚ÑŒ"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Джерело"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Контакт"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr "Бедж"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¾Ð³Ð¾ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ StatusNet"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4700,12 +4868,12 @@ msgstr ""
"**%%site.name%%** — це ÑÐµÑ€Ð²Ñ–Ñ Ð¼Ñ–ÐºÑ€Ð¾Ð±Ð»Ð¾Ò‘Ñ–Ð² наданий вам [%%site.broughtby%%](%%"
"site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** — це ÑÐµÑ€Ð²Ñ–Ñ Ð¼Ñ–ÐºÑ€Ð¾Ð±Ð»Ð¾Ò‘Ñ–Ð². "
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4716,108 +4884,146 @@ msgstr ""
"Ð´Ð»Ñ Ð¼Ñ–ÐºÑ€Ð¾Ð±Ð»Ð¾Ò‘Ñ–Ð², верÑÑ–Ñ %s, доÑтупному під [GNU Affero General Public "
"License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
msgid "Site content license"
msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Ð·Ð¼Ñ–Ñту Ñайту"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr "ЗміÑÑ‚ Ñ– дані %1$s Ñ” приватними Ñ– конфіденційними."
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr "ÐвторÑькі права на зміÑÑ‚ Ñ– дані належать %1$s. Ð’ÑÑ– права захищено."
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
"ÐвторÑькі права на зміÑÑ‚ Ñ– дані належать розробникам. Ð’ÑÑ– права захищено."
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "Ð’ÑÑ– "
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "ліцензіÑ."
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "ÐÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ Ñторінок"
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr "Вперед"
-#: lib/action.php:1149
+#: lib/action.php:1169
msgid "Before"
msgstr "Ðазад"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "Поки що не можу обробити віддалений контент."
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "Поки що не можу обробити вбудований XML контент."
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "Поки що не можу обробити вбудований контент Base64."
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr "Ви не можете щоÑÑŒ змінювати на цьому Ñайті."
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr "Ð”Ð»Ñ Ñ†Ñ–Ñ”Ñ— панелі зміни не припуÑтимі."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr "showForm() не виконано."
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr "saveSettings() не виконано."
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr "Ðемає можливоÑÑ‚Ñ– видалити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½Ñƒ."
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
msgid "Basic site configuration"
msgstr "ОÑновна ÐºÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ñайту"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+msgctxt "MENU"
+msgid "Site"
+msgstr "Сайт"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
msgid "Design configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½Ñƒ"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+msgctxt "MENU"
+msgid "Design"
+msgstr "Дизайн"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
msgid "User configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "КориÑтувач"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
msgid "Access configuration"
msgstr "ПрийнÑти конфігурацію"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
msgid "Paths configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑˆÐ»Ñху"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
msgid "Sessions configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ ÑеÑій"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+msgid "Edit site notice"
+msgstr "Редагувати Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñайту"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+msgid "Snapshots configuration"
+msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð½Ñ–Ð¼ÐºÑ–Ð²"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API-реÑÑƒÑ€Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ” дозвіл типу «читаннÑ-запиÑ», але у Ð²Ð°Ñ Ñ” лише доÑтуп Ð´Ð»Ñ "
"читаннÑ."
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4909,11 +5115,11 @@ msgstr "ДопиÑи, до Ñких прикріплено це вкладенн
msgid "Tags for this attachment"
msgstr "Теґи Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ вкладеннÑ"
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr "Ðе вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ пароль"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr "Змінювати пароль не дозволено"
@@ -5000,12 +5206,12 @@ msgstr "%1$s залишив групу %2$s"
msgid "Fullname: %s"
msgstr "Повне ім’Ñ: %s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "ЛокаціÑ: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "Веб-Ñторінка: %s"
@@ -5031,20 +5237,20 @@ msgstr "Помилка при відправці прÑмого повідомл
#: lib/command.php:413
msgid "Cannot repeat your own notice"
-msgstr "Ðе можу вторувати Вашому влаÑному допиÑу"
+msgstr "Ðе можу повторити Ваш влаÑний допиÑ"
#: lib/command.php:418
msgid "Already repeated that notice"
-msgstr "Цьому допиÑу вже вторували"
+msgstr "Цей Ð´Ð¾Ð¿Ð¸Ñ Ð²Ð¶Ðµ повторили"
#: lib/command.php:426
#, php-format
msgid "Notice from %s repeated"
-msgstr "ДопиÑу від %s вторували"
+msgstr "Ð”Ð¾Ð¿Ð¸Ñ %s повторили"
#: lib/command.php:428
msgid "Error repeating notice."
-msgstr "Помилка із вторуваннÑм допиÑу."
+msgstr "Помилка при повторенні допиÑу."
#: lib/command.php:482
#, php-format
@@ -5113,9 +5319,9 @@ msgstr ""
"Це поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° викориÑтати лише раз, воно дійÑне протÑгом 2 хвилин: %s"
#: lib/command.php:692
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "ВідпиÑано від %s"
+msgstr "ВідпиÑано %s"
#: lib/command.php:709
msgid "You are not subscribed to anyone."
@@ -5151,7 +5357,6 @@ msgstr[1] "Ви Ñ” учаÑником таких груп:"
msgstr[2] "Ви Ñ” учаÑником таких груп:"
#: lib/command.php:769
-#, fuzzy
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5228,19 +5433,19 @@ msgstr ""
"tracks — наразі не виконуєтьÑÑ\n"
"tracking — наразі не виконуєтьÑÑ\n"
-#: lib/common.php:136
+#: lib/common.php:148
msgid "No configuration file found. "
msgstr "Файлу конфігурації не знайдено. "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr "Шукав файли конфігурації в цих міÑцÑÑ…: "
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr "ЗапуÑÑ‚Ñ–Ñ‚ÑŒ файл інÑталÑції, аби полагодити це."
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr "Іти до файлу інÑталÑції."
@@ -5339,6 +5544,11 @@ msgstr "Оберіть теґ до звуженого ÑпиÑку"
msgid "Go"
msgstr "Вперед"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr "Ðадати цьому кориÑтувачеві роль \"%s\""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr "URL-адреÑа веб-Ñторінки, блоґу групи, або тематичного блоґу"
@@ -5429,23 +5639,23 @@ msgstr "СиÑтема відповіла помилкою при заванта
msgid "Not an image or corrupt file."
msgstr "Це не зображеннÑ, або файл зіпÑовано."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Формат Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ підтримуєтьÑÑ."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
msgid "Lost our file."
msgstr "Файл втрачено."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "Тип файлу не підтримуєтьÑÑ"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr "Мб"
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr "кб"
@@ -5475,11 +5685,11 @@ msgstr "Увійти викориÑтовуючи Ñ–Ð¼â€™Ñ Ñ‚Ð° пароль"
msgid "Sign up for a new account"
msgstr "ЗареєÑтрувати новий акаунт"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "ÐŸÑ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾Ñ— адреÑи"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5508,12 +5718,12 @@ msgstr ""
"ДÑкуємо за Ваш Ñ‡Ð°Ñ \n"
"%s\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s тепер Ñлідкує за Вашими допиÑами на %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5538,17 +5748,17 @@ msgstr ""
"----\n"
"Змінити електронну адреÑу або умови ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ â€” %8$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, php-format
msgid "Bio: %s"
msgstr "Про Ñебе: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Ðова електронна адреÑа Ð´Ð»Ñ Ð½Ð°Ð´ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ на %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5569,21 +5779,21 @@ msgstr ""
"Щиро Ваші,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s ÑтатуÑ"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "ÐŸÑ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð¡ÐœÐ¡"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "Ð’Ð°Ñ Ñпробував «розштовхати» %s"
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5610,12 +5820,12 @@ msgstr ""
"З найкращими побажаннÑми,\n"
"%4$s\n"
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Ðове приватне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5648,12 +5858,12 @@ msgstr ""
"З найкращими побажаннÑми,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s (@%s) додав(ла) Ваш Ð´Ð¾Ð¿Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð½Ð¸Ñ…"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5690,12 +5900,12 @@ msgstr ""
"Щиро Ваші,\n"
"%6$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr "%s (@%s) пропонує до Вашої уваги наÑтупний допиÑ"
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5827,6 +6037,11 @@ msgstr "До"
msgid "Available characters"
msgstr "ЛишилоÑÑŒ знаків"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Так!"
+
#: lib/noticeform.php:160
msgid "Send a notice"
msgstr "ÐадіÑлати допиÑ"
@@ -5885,25 +6100,25 @@ msgstr "Зах."
msgid "at"
msgstr "в"
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
msgid "in context"
msgstr "в контекÑÑ‚Ñ–"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
msgid "Repeated by"
-msgstr "Вторуванні"
+msgstr "Повторено"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr "ВідповіÑти на цей допиÑ"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "ВідповіÑти"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
msgid "Notice repeated"
-msgstr "Ð”Ð¾Ð¿Ð¸Ñ Ð²Ñ‚Ð¾Ñ€ÑƒÐ²Ð°Ð»Ð¸"
+msgstr "Ð”Ð¾Ð¿Ð¸Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¸Ð»Ð¸"
#: lib/nudgeform.php:116
msgid "Nudge this user"
@@ -5974,7 +6189,7 @@ msgstr "Теґи у допиÑах %s"
msgid "Unknown"
msgstr "Ðевідомо"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "ПідпиÑки"
@@ -5982,23 +6197,23 @@ msgstr "ПідпиÑки"
msgid "All subscriptions"
msgstr "Ð’ÑÑ– підпиÑки"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "ПідпиÑчики"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
msgid "All subscribers"
msgstr "Ð’ÑÑ– підпиÑчики"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr "ІД"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "З нами від"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "Ð’ÑÑ– групи"
@@ -6036,9 +6251,14 @@ msgstr "Повторити цей допиÑ?"
#: lib/repeatform.php:132
msgid "Repeat this notice"
-msgstr "Вторувати цьому допиÑу"
+msgstr "Повторити цей допиÑ"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Відкликати роль \"%s\" Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кориÑтувача"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr "КориÑтувача Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾ÐºÐ¾Ñ€Ð¸Ñтувацького режиму не визначено."
@@ -6058,6 +6278,10 @@ msgstr "Пошук"
msgid "Keyword(s)"
msgstr "Ключові Ñлова"
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Пошук"
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr "Пошук"
@@ -6109,6 +6333,15 @@ msgstr "Люди підпиÑані до %s"
msgid "Groups %s is a member of"
msgstr "%s бере учаÑÑ‚ÑŒ в цих групах"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ЗапроÑити"
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "ЗапроÑÑ–Ñ‚ÑŒ друзів та колег приєднатиÑÑŒ до Ð’Ð°Ñ Ð½Ð° %s"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6179,47 +6412,61 @@ msgstr "ПовідомленнÑ"
msgid "Moderate"
msgstr "Модерувати"
-#: lib/util.php:952
+#: lib/userprofile.php:352
+msgid "User role"
+msgstr "Роль кориÑтувача"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr "ÐдмініÑтратор"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr "Модератор"
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "мить тому"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "хвилину тому"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "близько %d хвилин тому"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "годину тому"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "близько %d годин тому"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "день тому"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "близько %d днів тому"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "міÑÑць тому"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "близько %d міÑÑців тому"
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr "рік тому"
diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po
index 4dcc58488..59751aa5d 100644
--- a/locale/vi/LC_MESSAGES/statusnet.po
+++ b/locale/vi/LC_MESSAGES/statusnet.po
@@ -7,83 +7,90 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:51:57+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:51:10+0000\n"
"Language-Team: Vietnamese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "Chấp nhận"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "Thay đổi hình đại diện"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "Äăng ký"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "Riêng tư"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "ThÆ° má»i"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "Ban user"
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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"
-
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "Thay đổi hình đại diện"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "LÆ°u"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "Không có tin nhắn nào."
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -97,72 +104,82 @@ msgstr "Không có tin nhắn nào."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "Không có user nào."
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s và bạn bè"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s và bạn bè"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "Chá»n những ngÆ°á»i bạn của %s"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "Chá»n những ngÆ°á»i bạn của %s"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "Chá»n những ngÆ°á»i bạn của %s"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s và bạn bè"
@@ -181,20 +198,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "Phương thức API không tìm thấy!"
@@ -228,8 +245,9 @@ msgstr "Không thể cập nhật thành viên."
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "NgÆ°á»i dùng không có thông tin."
@@ -254,7 +272,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -377,68 +395,68 @@ msgstr "Không thể lấy lại các tin nhắn ưa thích"
msgid "Could not find target user."
msgstr "Không tìm thấy bất kỳ trạng thái nào."
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "Biệt hiệu phải là chữ viết thÆ°á»ng hoặc số và không có khoảng trắng."
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "Biệt hiệu này đã dùng rồi. Hãy nhập biệt hiệu khác."
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "Biệt hiệu không hợp lệ."
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "Trang chủ không phải là URL"
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "Tên đầy đủ quá dài (tối đa là 255 ký tự)."
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 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ự)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "Tên khu vực quá dài (không quá 255 ký tự)."
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "Trang chủ '%s' không hợp lệ"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "Biệt hiệu này đã dùng rồi. Hãy nhập biệt hiệu khác."
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -450,16 +468,16 @@ msgstr ""
msgid "Group not found!"
msgstr "Phương thức API không tìm thấy!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "Bạn đã theo những ngÆ°á»i này:"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi."
@@ -469,7 +487,7 @@ msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè cá»
msgid "You are not a member of this group."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi."
@@ -501,7 +519,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -545,7 +563,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -568,14 +586,14 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
#, fuzzy
msgid "Account"
msgstr "Giới thiệu"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -660,18 +678,6 @@ msgstr "Tìm kiếm các tin nhắn ưa thích của %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "Tất cả các cập nhật của %s"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, fuzzy, php-format
-msgid "%s timeline"
-msgstr "Dòng tin nhắn của %s"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -682,12 +688,12 @@ msgstr "%1$s / Các cập nhật Ä‘ang trả lá»i tá»›i %2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, fuzzy, php-format
msgid "%s public timeline"
msgstr "Dòng tin công cộng"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "%s cập nhật từ tất cả má»i ngÆ°á»i!"
@@ -702,12 +708,12 @@ msgstr "Trả lá»i cho %s"
msgid "Repeats of %s"
msgstr "Trả lá»i cho %s"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "Thông báo được gắn thẻ %s"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "Dòng tin nhắn cho %s"
@@ -725,8 +731,7 @@ msgstr "Không có tài liệu nào."
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Không có biệt hiệu."
@@ -738,7 +743,7 @@ msgstr "Không có kích thước."
msgid "Invalid size."
msgstr "Kích thước không hợp lệ."
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "Hình đại diện"
@@ -752,37 +757,37 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
#, fuzzy
msgid "User without matching profile"
msgstr "Hồ sơ ở nơi khác không khớp với hồ sơ này của bạn"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "Thay đổi hình đại diện"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "Xem trÆ°á»›c"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
#, fuzzy
msgid "Delete"
msgstr "Xóa tin nhắn"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "Tải file"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
#, fuzzy
msgid "Crop"
msgstr "Nhóm"
@@ -791,7 +796,7 @@ msgstr "Nhóm"
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -826,23 +831,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "Không"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "Bá» chặn ngÆ°á»i dùng này"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "Có"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
#, fuzzy
msgid "Block this user"
msgstr "Ban user"
@@ -851,41 +856,45 @@ msgstr "Ban user"
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "Không có tin nhắn nào."
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "Hồ sơ"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s và bạn bè"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "Bá» chặn ngÆ°á»i dùng này"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "BỠchặn"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "Bá» chặn ngÆ°á»i dùng này"
@@ -943,7 +952,7 @@ msgid "Conversation"
msgstr "Không có mã số xác nhận."
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "Tin nhắn"
@@ -965,7 +974,7 @@ 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:1197
+#: lib/action.php:1217
#, 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."
@@ -992,12 +1001,13 @@ msgstr "Không thể xóa tin nhắn này."
msgid "Delete this application"
msgstr "Xóa tin nhắn"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "Chưa đăng nhập."
@@ -1026,7 +1036,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:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
#, fuzzy
msgid "Delete this notice"
msgstr "Xóa tin nhắn"
@@ -1046,19 +1056,19 @@ msgstr "Bạn đã không xóa trạng thái của những ngÆ°á»i khác."
msgid "Delete user"
msgstr "Xóa tin nhắn"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "Xóa tin nhắn"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1173,6 +1183,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "LÆ°u"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
#, fuzzy
msgid "Save design"
@@ -1278,32 +1300,32 @@ msgstr "%s và nhóm"
msgid "You must be logged in to create a group."
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "Lý lịch quá dài (không quá 140 ký tự)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "Không thể cập nhật thành viên."
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "Không thể tạo favorite."
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
#, fuzzy
msgid "Options saved."
msgstr "Äã lÆ°u các Ä‘iá»u chỉnh."
@@ -1429,7 +1451,7 @@ msgid "Cannot normalize that email address"
msgstr "Không thể bình thÆ°á»ng hóa địa chỉ GTalk này"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "Äịa chỉ email không hợp lệ."
@@ -1635,6 +1657,25 @@ msgstr "Không có tin nhắn nào."
msgid "Cannot read file."
msgstr "Không có tin nhắn nào."
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "Kích thước không hợp lệ."
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "Bạn đã theo những ngÆ°á»i này:"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "NgÆ°á»i dùng không có thông tin."
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1667,7 +1708,7 @@ msgstr "NgÆ°á»i dùng không có thông tin."
msgid "User is not a member of group."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "Ban user"
@@ -1704,100 +1745,106 @@ msgstr "Không có id."
msgid "You must be logged in to edit a group."
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
#, fuzzy
msgid "Group design"
msgstr "Nhóm"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "Không thể cập nhật thành viên."
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "Các tính năng đã được lưu."
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
#, fuzzy
msgid "Group logo"
msgstr "Mã nhóm"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "Hồ sơ ở nơi khác không khớp với hồ sơ này của bạn"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "Hình đại diện đã được cập nhật."
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "Cập nhật hình đại diện không thành công."
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, fuzzy, php-format
msgid "%s group members"
msgstr "Thành viên"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "Thành viên"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
#, fuzzy
msgid "Make user an admin of the group"
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
#, fuzzy
msgid "Make this user an admin"
msgstr "Kênh mà bạn tham gia"
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, fuzzy, php-format
+msgid "%s timeline"
+msgstr "Dòng tin nhắn của %s"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "Dòng tin nhắn cho %s"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
#, fuzzy
msgid "Groups"
@@ -2056,16 +2103,19 @@ msgstr "Tin nhắn cá nhân"
msgid "Optionally add a personal message to the invitation."
msgstr "Không bắt buá»™c phải thêm thông Ä‘iệp vào thÆ° má»i."
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "Gá»­i"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s moi ban tham gia vao %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2127,7 +2177,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "Không có biệt hiệu."
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s và nhóm"
@@ -2137,12 +2192,12 @@ msgstr "%s và nhóm"
msgid "You must be logged in to leave a group."
msgstr "Bạn phải đăng nhập vào má»›i có thể gá»­i thÆ° má»i những "
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
#, fuzzy
msgid "You are not a member of that group."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s và nhóm"
@@ -2160,8 +2215,7 @@ msgstr "Sai tên đăng nhập hoặc mật khẩu."
msgid "Error setting user. You are probably not authorized."
msgstr "Chưa được phép."
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "Äăng nhập"
@@ -2421,8 +2475,8 @@ msgstr "Kết nối"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "Không hỗ trợ định dạng dữ liệu này."
@@ -2574,7 +2628,8 @@ msgstr "Không thể lưu mật khẩu mới"
msgid "Password saved."
msgstr "Äã lÆ°u mật khẩu."
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2607,7 +2662,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "ThÆ° má»i"
@@ -2707,7 +2761,7 @@ msgstr "Background Theme:"
msgid "SSL"
msgstr "SMS"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "Khôi phục"
@@ -2766,11 +2820,11 @@ msgstr "Äịa chỉ email không hợp lệ."
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Dòng tin nhắn cho %s"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "Nội dung tin nhắn không hợp lệ"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2796,7 +2850,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 chữ cái thÆ°á»ng hoặc là chữ số, không có dấu chấm hay "
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Tên đầy đủ"
@@ -2825,7 +2879,7 @@ msgid "Bio"
msgstr "Lý lịch"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2850,7 +2904,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "Ngôn ngữ"
@@ -2876,7 +2930,7 @@ msgstr "Tá»± Ä‘á»™ng theo những ngÆ°á»i nào đăng ký theo tôi"
msgid "Bio is too long (max %d chars)."
msgstr "Lý lịch quá dài (không quá 140 ký tự)"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2909,7 +2963,8 @@ msgstr "Không thể lưu hồ sơ cá nhân."
msgid "Couldn't save tags."
msgstr "Không thể lưu hồ sơ cá nhân."
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "Äã lÆ°u các Ä‘iá»u chỉnh."
@@ -2923,48 +2978,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "Không thể lấy lại các tin nhắn ưa thích"
-#: actions/public.php:129
+#: actions/public.php:130
#, fuzzy, php-format
msgid "Public timeline, page %d"
msgstr "Dòng tin công cộng"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "Dòng tin công cộng"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "Dòng tin công cộng"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "Dòng tin công cộng"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "Dòng tin công cộng"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2973,7 +3028,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3147,8 +3202,7 @@ msgstr "Lỗi xảy ra với mã xác nhận."
msgid "Registration successful"
msgstr "Äăng ký thành công"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "Äăng ký"
@@ -3190,7 +3244,7 @@ msgid "Same as password above. Required."
msgstr "Cùng mật khẩu ở trên. Bắt buộc."
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
@@ -3294,7 +3348,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "URL trong hồ sơ cá nhân của bạn ở trên các trang microblogging khác"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "Theo bạn này"
@@ -3335,7 +3389,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:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "Tạo"
@@ -3345,47 +3399,47 @@ msgstr "Tạo"
msgid "Repeated!"
msgstr "Tạo"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "Trả lá»i cho %s"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "%s chào mừng bạn "
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3397,6 +3451,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "%s chào mừng bạn "
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "Bạn đã theo những ngÆ°á»i này:"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "Hồ sơ ở nơi khác không khớp với hồ sơ này của bạn"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3412,8 +3476,9 @@ 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."
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3437,8 +3502,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "Thay đổi hình đại diện"
@@ -3473,8 +3538,8 @@ msgstr "ThÆ° má»i đã gá»­i"
msgid "Description"
msgstr "Mô tả"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "Số liệu thống kê"
@@ -3535,35 +3600,35 @@ msgstr "Những tin nhắn ưa thích của %s"
msgid "Could not retrieve favorite notices."
msgstr "Không thể lấy lại các tin nhắn ưa thích"
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "Chá»n những ngÆ°á»i bạn của %s"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "Chá»n những ngÆ°á»i bạn của %s"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "Chá»n những ngÆ°á»i bạn của %s"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3571,7 +3636,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3585,72 +3650,72 @@ msgstr "%s và nhóm"
msgid "%1$s group, page %2$d"
msgstr "Thành viên"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "Thông tin nhóm"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
#, fuzzy
msgid "Note"
msgstr "Tin nhắn"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
#, fuzzy
msgid "Group actions"
msgstr "Mã nhóm"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "Hộp thư đi của %s"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
msgid "Members"
msgstr "Thành viên"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
#, fuzzy
msgid "All members"
msgstr "Thành viên"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "Tạo"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3660,7 +3725,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3669,7 +3734,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3783,150 +3848,139 @@ msgid "User is already silenced."
msgstr "NgÆ°á»i dùng không có thông tin."
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Äịa chỉ email không hợp lệ."
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "Thông báo mới"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "Dia chi email moi de gui tin nhan den %s"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "Thành phố"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "Ngôn ngữ bạn thích"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "Thông báo mới"
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "Tin mới nhất"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "Không thể lưu thông tin Twitter của bạn!"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "Thông báo mới"
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
-msgstr ""
-
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "Thông báo mới"
#: actions/smssettings.php:58
#, fuzzy
@@ -4038,6 +4092,66 @@ msgstr ""
msgid "No code entered"
msgstr "Không có mã nào được nhập"
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "Tôi theo"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "Thay đổi hình đại diện"
+
#: actions/subedit.php:70
#, fuzzy
msgid "You are not subscribed to that profile."
@@ -4148,22 +4262,22 @@ msgstr "Không có Jabber ID."
msgid "SMS"
msgstr "SMS"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "Dòng tin nhắn cho %s"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "Dòng tin nhắn cho %s"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "Dòng tin nhắn cho %s"
@@ -4218,7 +4332,7 @@ msgstr ""
msgid "No such tag."
msgstr "Không có tin nhắn nào."
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "Phương thức API dưới cấu trúc có sẵn."
@@ -4247,81 +4361,82 @@ msgstr "Không có URL cho hồ sÆ¡ để quay vá»."
msgid "Unsubscribed"
msgstr "Hết theo"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "Hồ sơ "
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, 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:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "Tất cả đăng nhận"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, 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:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "ThÆ° má»i đã gá»­i"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "ThÆ° má»i đã gá»­i"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4455,16 +4570,22 @@ msgstr "Thành viên"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4508,7 +4629,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "Cá nhân"
@@ -4549,6 +4670,11 @@ msgstr "Không thể cập nhật thành viên."
msgid "Group leave failed."
msgstr "Thông tin nhóm"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "Không thể cập nhật thành viên."
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4569,46 +4695,46 @@ msgstr "Không thể chèn thêm vào đăng nhận."
msgid "Could not update message with new URI."
msgstr "Không thể cập nhật thông tin user với địa chỉ email đã được xác nhận."
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, fuzzy, php-format
msgid "DB error inserting hashtag: %s"
msgstr "Lá»—i cÆ¡ sở dữ liệu khi chèn trả lá»i: %s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%s (%s)"
@@ -4636,25 +4762,40 @@ msgstr "Chưa đăng nhận!"
msgid "Couldn't delete self-subscription."
msgstr "Không thể xóa đăng nhận."
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "Không thể xóa đăng nhận."
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "Không thể xóa đăng nhận."
-#: classes/User.php:372
+#: classes/User.php:373
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "%s chào mừng bạn "
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "Không thể tạo favorite."
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "Không thể tạo đăng nhận."
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "Không thể tạo đăng nhận."
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "Không thể tạo đăng nhận."
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "Thay đổi các thiết lập trong hồ sơ cá nhân của bạn"
@@ -4695,135 +4836,188 @@ msgstr "%s (%s)"
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "Trang chủ"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
+#: lib/action.php:433
#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "Cá nhân"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "Thay đổi mật khẩu của bạn"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "Kết nối"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "Không thể chuyển đến máy chủ: %s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "Kết nối"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "Tôi theo"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "ThÆ° má»i"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
+msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
"Äiá»n địa chỉ email và ná»™i dung tin nhắn để gá»­i thÆ° má»i bạn bè và đồng nghiệp "
"của bạn tham gia vào dịch vụ này."
-#: lib/action.php:458
-msgid "Logout"
-msgstr "Thoát"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "ThÆ° má»i"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "Thoát"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "Tạo tài khoản mới"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "Äăng ký"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "Hướng dẫn"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "Äăng nhập"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Hướng dẫn"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "Tìm kiếm"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "Hướng dẫn"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "Tìm kiếm"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "Thông báo mới"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "Thông báo mới"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "Tôi theo"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "Hướng dẫn"
+
+#: lib/action.php:754
msgid "About"
msgstr "Giới thiệu"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "Riêng tư"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "Nguồn"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "Liên hệ"
-#: lib/action.php:751
+#: lib/action.php:771
#, fuzzy
msgid "Badge"
msgstr "Tin đã gửi"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4832,12 +5026,12 @@ msgstr ""
"**%%site.name%%** là dịch vụ gửi tin nhắn được cung cấp từ [%%site.broughtby%"
"%](%%site.broughtbyurl%%). "
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** là dịch vụ gửi tin nhắn. "
-#: lib/action.php:786
+#: lib/action.php:806
#, fuzzy, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4848,117 +5042,159 @@ msgstr ""
"quyá»n [GNU Affero General Public License](http://www.fsf.org/licensing/"
"licenses/agpl-3.0.html)."
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "Tìm theo nội dung của tin nhắn"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
#, fuzzy
msgid "After"
msgstr "Sau"
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "TrÆ°á»›c"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "Bạn đã theo những ngÆ°á»i này:"
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "Biệt hiệu không được cho phép."
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "Không thể lưu thông tin Twitter của bạn!"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "Xac nhan dia chi email"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "ThÆ° má»i"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "Xác nhận SMS"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "Cá nhân"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "Xác nhận SMS"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "Xác nhận SMS"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "Xác nhận SMS"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "Xác nhận SMS"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "Thông báo mới"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "Xác nhận SMS"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -5054,12 +5290,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "Äã lÆ°u mật khẩu."
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "Äã lÆ°u mật khẩu."
@@ -5150,12 +5386,12 @@ msgstr "%s và nhóm"
msgid "Fullname: %s"
msgstr "Tên đầy đủ"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, fuzzy, php-format
msgid "Location: %s"
msgstr "Thành phố: %s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, fuzzy, php-format
msgid "Homepage: %s"
msgstr "Trang chủ hoặc Blog: %s"
@@ -5346,20 +5582,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "Không có mã số xác nhận."
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5466,6 +5702,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5563,25 +5804,25 @@ msgstr "Hệ thống xảy ra lỗi trong khi tải file."
msgid "Not an image or corrupt file."
msgstr "File há»ng hoặc không phải là file ảnh."
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "Không hỗ trợ kiểu file ảnh này."
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "Không có tin nhắn nào."
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
#, fuzzy
msgid "Unknown file type"
msgstr "Không hỗ trợ kiểu file ảnh này."
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5615,11 +5856,11 @@ msgstr "Sai tên đăng nhập hoặc mật khẩu."
msgid "Sign up for a new account"
msgstr "Tạo tài khoản mới"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "Xac nhan dia chi email"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, fuzzy, php-format
msgid ""
"Hey, %s.\n"
@@ -5651,12 +5892,12 @@ msgstr ""
"%4$s\n"
"\n"
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s đang theo dõi lưu ý của bạn trên %2$s."
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5677,17 +5918,17 @@ msgstr ""
"NgÆ°á»i bạn trung thành của bạn,\n"
"%4$s.\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "Thành phố: %s"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "Dia chi email moi de gui tin nhan den %s"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5708,21 +5949,21 @@ msgstr ""
"Chúc sức khá»e,\n"
"%4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, fuzzy, php-format
msgid "%s status"
msgstr "Trạng thái của %1$s vào %2$s"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "Xác nhận SMS"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5738,12 +5979,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "Bạn có tin nhắn riêng từ %s"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5776,12 +6017,12 @@ msgstr ""
"Chúc sức khá»e,\n"
"%5$s\n"
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s da them tin nhan cua ban vao danh sach tin nhan ua thich"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, fuzzy, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5815,12 +6056,12 @@ msgstr ""
"Chúc sức khá»e,\n"
"%5$s\n"
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5939,6 +6180,12 @@ msgstr ""
msgid "Available characters"
msgstr "Nhiá»u hÆ¡n 6 ký tá»±"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "Gá»­i"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5999,26 +6246,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "Không có nội dung!"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "Tạo"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
#, fuzzy
msgid "Reply to this notice"
msgstr "Trả lá»i tin nhắn này"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr "Trả lá»i"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "Tin đã gửi"
@@ -6097,7 +6344,7 @@ msgstr "cảnh báo tin nhắn"
msgid "Unknown"
msgstr "Không tìm thấy action"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "Tôi theo bạn này"
@@ -6105,24 +6352,24 @@ msgstr "Tôi theo bạn này"
msgid "All subscriptions"
msgstr "Tất cả đăng nhận"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "Bạn này theo tôi"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "Bạn này theo tôi"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "Gia nhập từ"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
#, fuzzy
msgid "All groups"
msgstr "Nhóm"
@@ -6169,7 +6416,12 @@ 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
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "Ban user"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6192,6 +6444,10 @@ msgstr "Tìm kiếm"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "Tìm kiếm"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6247,6 +6503,17 @@ msgstr "Theo nhóm này"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "ThÆ° má»i"
+
+#: lib/subgroupnav.php:106
+#, fuzzy, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+"Äiá»n địa chỉ email và ná»™i dung tin nhắn để gá»­i thÆ° má»i bạn bè và đồng nghiệp "
+"của bạn tham gia vào dịch vụ này."
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6326,47 +6593,62 @@ msgstr "Tin mới nhất"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "Hồ sơ"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "vài giây trước"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "1 phút trước"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "%d phút trước"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "1 giá» trÆ°á»›c"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "%d giá» trÆ°á»›c"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "1 ngày trước"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "%d ngày trước"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "1 tháng trước"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "%d tháng trước"
-#: lib/util.php:970
+#: lib/util.php:1033
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 60ca89d66..cc1761616 100644
--- a/locale/zh_CN/LC_MESSAGES/statusnet.po
+++ b/locale/zh_CN/LC_MESSAGES/statusnet.po
@@ -10,82 +10,89 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:52:00+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:51:13+0000\n"
"Language-Team: Simplified Chinese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "接å—"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "头åƒè®¾ç½®"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "注册"
-#: actions/accessadminpanel.php:161
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
+msgid "Prohibit anonymous users (not logged in) from viewing site?"
+msgstr ""
+
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
+#: actions/accessadminpanel.php:167
#, fuzzy
+msgctxt "LABEL"
msgid "Private"
msgstr "éšç§"
-#: actions/accessadminpanel.php:163
-msgid "Prohibit anonymous users (not logged in) from viewing site?"
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
+msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:167
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
#, fuzzy
msgid "Invite only"
msgstr "邀请"
-#: actions/accessadminpanel.php:169
-msgid "Make registration invitation only."
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
+msgid "Disable new registrations."
msgstr ""
-#: actions/accessadminpanel.php:173
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
#, fuzzy
msgid "Closed"
msgstr "阻止"
-#: actions/accessadminpanel.php:175
-msgid "Disable new registrations."
-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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "头åƒè®¾ç½®"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+#, fuzzy
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "ä¿å­˜"
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
msgid "No such page"
msgstr "没有该页é¢"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -99,72 +106,82 @@ msgstr "没有该页é¢"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "没有这个用户。"
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s åŠå¥½å‹"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s åŠå¥½å‹"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "%s 好å‹çš„èšåˆ(RSS 1.0)"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "%s 好å‹çš„èšåˆ(RSS 2.0)"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "%s 好å‹çš„èšåˆ(Atom)"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr "这是 %s 和好å‹çš„时间线,但是没有任何人å‘布内容。"
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s åŠå¥½å‹"
@@ -183,20 +200,20 @@ msgstr "æ¥è‡ª%2$s 上 %1$s 和好å‹çš„æ›´æ–°ï¼"
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "API 方法未实现ï¼"
@@ -230,8 +247,9 @@ msgstr "无法更新用户。"
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr "用户没有个人信æ¯ã€‚"
@@ -256,7 +274,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
#, fuzzy
@@ -375,68 +393,68 @@ msgstr "无法获å–收è—的通告。"
msgid "Could not find target user."
msgstr "找ä¸åˆ°ä»»ä½•ä¿¡æ¯ã€‚"
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "昵称åªèƒ½ä½¿ç”¨å°å†™å­—æ¯å’Œæ•°å­—,ä¸åŒ…å«ç©ºæ ¼ã€‚"
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "昵称已被使用,æ¢ä¸€ä¸ªå§ã€‚"
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr "ä¸æ˜¯æœ‰æ•ˆçš„昵称。"
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "主页的URLä¸æ­£ç¡®ã€‚"
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "å…¨å过长(ä¸èƒ½è¶…过 255 个字符)。"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "æ述过长(ä¸èƒ½è¶…过140字符)。"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "ä½ç½®è¿‡é•¿(ä¸èƒ½è¶…过255个字符)。"
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "主页'%s'ä¸æ­£ç¡®"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "昵称已被使用,æ¢ä¸€ä¸ªå§ã€‚"
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -448,16 +466,16 @@ msgstr ""
msgid "Group not found!"
msgstr "API 方法未实现ï¼"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
#, fuzzy
msgid "You are already a member of that group."
msgstr "您已ç»æ˜¯è¯¥ç»„æˆå‘˜"
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "无法把 %s 用户添加到 %s 组"
@@ -467,7 +485,7 @@ msgstr "无法把 %s 用户添加到 %s 组"
msgid "You are not a member of this group."
msgstr "您未告知此个人信æ¯"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "无法订阅用户:未找到。"
@@ -499,7 +517,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -543,7 +561,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -566,13 +584,13 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
msgid "Account"
msgstr "å¸å·"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -658,18 +676,6 @@ msgstr "%s çš„æ”¶è— / %s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%s 收è—了 %s çš„ %s 通告。"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr "%s 时间表"
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr "%2$s 上 %1$s çš„æ›´æ–°ï¼"
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -680,12 +686,12 @@ msgstr "%1$s / å›žå¤ %2$s 的消æ¯"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr "å›žå¤ %2$s / %3$s çš„ %1$s 更新。"
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr "%s 公众时间表"
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr "æ¥è‡ªæ‰€æœ‰äººçš„ %s 消æ¯ï¼"
@@ -700,12 +706,12 @@ msgstr "%s 的回å¤"
msgid "Repeats of %s"
msgstr "%s 的回å¤"
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr "带 %s 标签的通告"
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "%2$s 上 %1$s çš„æ›´æ–°ï¼"
@@ -723,8 +729,7 @@ msgstr "没有这份文档。"
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "没有昵称。"
@@ -736,7 +741,7 @@ msgstr "没有大å°ã€‚"
msgid "Invalid size."
msgstr "大å°ä¸æ­£ç¡®ã€‚"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "头åƒ"
@@ -748,36 +753,36 @@ msgstr "您å¯ä»¥åœ¨è¿™é‡Œä¸Šä¼ ä¸ªäººå¤´åƒã€‚"
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr "找ä¸åˆ°åŒ¹é…的用户。"
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
msgid "Avatar settings"
msgstr "头åƒè®¾ç½®"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr "原æ¥çš„"
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr "预览"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
#, fuzzy
msgid "Delete"
msgstr "删除"
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr "上传"
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr "剪è£"
@@ -785,7 +790,7 @@ msgstr "剪è£"
msgid "Pick a square area of the image to be your avatar"
msgstr "请选择一å—方形区域作为你的头åƒ"
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr "文件数æ®ä¸¢å¤±"
@@ -820,23 +825,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr "å¦"
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "å–消阻止次用户"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr "是"
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
#, fuzzy
msgid "Block this user"
msgstr "阻止该用户"
@@ -845,41 +850,45 @@ msgstr "阻止该用户"
msgid "Failed to save block information."
msgstr "ä¿å­˜é˜»æ­¢ä¿¡æ¯å¤±è´¥ã€‚"
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
msgid "No such group."
msgstr "没有这个组。"
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "用户没有个人信æ¯ã€‚"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s åŠå¥½å‹"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
#, fuzzy
msgid "A list of the users blocked from joining this group."
msgstr "该组æˆå‘˜åˆ—表。"
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "å–消阻止用户失败。"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "å–消阻止"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "å–消阻止次用户"
@@ -939,7 +948,7 @@ msgid "Conversation"
msgstr "确认ç "
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr "通告"
@@ -961,7 +970,7 @@ msgstr "您未告知此个人信æ¯"
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
#, fuzzy
msgid "There was a problem with your session token."
msgstr "会è¯æ ‡è¯†æœ‰é—®é¢˜ï¼Œè¯·é‡è¯•ã€‚"
@@ -988,12 +997,13 @@ msgstr "无法删除通告。"
msgid "Delete this application"
msgstr "删除通告"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr "未登录。"
@@ -1022,7 +1032,7 @@ msgstr "确定è¦åˆ é™¤è¿™æ¡æ¶ˆæ¯å—?"
msgid "Do not delete this notice"
msgstr "无法删除通告。"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
#, fuzzy
msgid "Delete this notice"
msgstr "删除通告"
@@ -1042,19 +1052,19 @@ msgstr "您ä¸èƒ½åˆ é™¤å…¶ä»–用户的状æ€ã€‚"
msgid "Delete user"
msgstr "删除"
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "删除通告"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1165,6 +1175,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr "ä¿å­˜"
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1267,31 +1289,31 @@ msgstr "编辑 %s 组"
msgid "You must be logged in to create a group."
msgstr "您必须登录æ‰èƒ½åˆ›å»ºå°ç»„。"
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "åªæœ‰adminæ‰èƒ½ç¼–辑这个组"
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr "使用这个表å•æ¥ç¼–辑组"
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "æ述过长(ä¸èƒ½è¶…过140字符)。"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
msgid "Could not update group."
msgstr "无法更新组"
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "无法创建收è—。"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr "选项已ä¿å­˜ã€‚"
@@ -1412,7 +1434,7 @@ msgid "Cannot normalize that email address"
msgstr "无法识别此电å­é‚®ä»¶"
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "ä¸æ˜¯æœ‰æ•ˆçš„电å­é‚®ä»¶ã€‚"
@@ -1611,6 +1633,25 @@ msgstr "没有这份通告。"
msgid "Cannot read file."
msgstr "没有这份通告。"
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "大å°ä¸æ­£ç¡®ã€‚"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "无法å‘此用户å‘é€æ¶ˆæ¯ã€‚"
+
+#: actions/grantrole.php:82
+#, fuzzy
+msgid "User already has this role."
+msgstr "用户没有个人信æ¯ã€‚"
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1645,7 +1686,7 @@ msgstr "用户没有个人信æ¯ã€‚"
msgid "User is not a member of group."
msgstr "您未告知此个人信æ¯"
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "阻止用户"
@@ -1682,99 +1723,105 @@ msgstr "没有ID"
msgid "You must be logged in to edit a group."
msgstr "您必须登录æ‰èƒ½åˆ›å»ºå°ç»„。"
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
#, fuzzy
msgid "Group design"
msgstr "组"
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "无法更新用户。"
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
#, fuzzy
msgid "Design preferences saved."
msgstr "åŒæ­¥é€‰é¡¹å·²ä¿å­˜ã€‚"
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr "组logo"
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, fuzzy, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr "ä½ å¯ä»¥ç»™ä½ çš„组上载一个logo图。"
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
#, fuzzy
msgid "User without matching profile."
msgstr "找ä¸åˆ°åŒ¹é…的用户。"
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
#, fuzzy
msgid "Pick a square area of the image to be the logo."
msgstr "请选择一å—方形区域作为你的头åƒ"
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
msgid "Logo updated."
msgstr "logo已更新。"
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "更新logo失败。"
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr "%s 组æˆå‘˜"
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, fuzzy, php-format
msgid "%1$s group members, page %2$d"
msgstr "%s 组æˆå‘˜, 第 %d 页"
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr "该组æˆå‘˜åˆ—表。"
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr "admin管ç†å‘˜"
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr "阻止"
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
#, fuzzy
msgid "Make user an admin of the group"
msgstr "åªæœ‰adminæ‰èƒ½ç¼–辑这个组"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
#, fuzzy
msgid "Make Admin"
msgstr "admin管ç†å‘˜"
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr "%s 时间表"
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "%2$s 上 %1$s çš„æ›´æ–°ï¼"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr "组"
@@ -2020,16 +2067,19 @@ msgstr "个人消æ¯"
msgid "Optionally add a personal message to the invitation."
msgstr "在邀请中加几å¥è¯(å¯é€‰)。"
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+#, fuzzy
+msgctxt "BUTTON"
msgid "Send"
msgstr "å‘é€"
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr "%1$s 邀请您加入 %2$s"
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2085,7 +2135,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "您必须登录æ‰èƒ½åŠ å…¥ç»„。"
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "没有昵称。"
+
+#: actions/joingroup.php:141
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s 加入 %s 组"
@@ -2095,12 +2150,12 @@ msgstr "%s 加入 %s 组"
msgid "You must be logged in to leave a group."
msgstr "您必须登录æ‰èƒ½é‚€è¯·å…¶ä»–人使用 %s"
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
#, fuzzy
msgid "You are not a member of that group."
msgstr "您未告知此个人信æ¯"
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s 离开群 %s"
@@ -2118,8 +2173,7 @@ msgstr "用户å或密ç ä¸æ­£ç¡®ã€‚"
msgid "Error setting user. You are probably not authorized."
msgstr "未认è¯ã€‚"
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "登录"
@@ -2371,8 +2425,8 @@ msgstr "连接"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr "ä¸æ”¯æŒçš„æ•°æ®æ ¼å¼ã€‚"
@@ -2521,7 +2575,8 @@ msgstr "无法ä¿å­˜æ–°å¯†ç ã€‚"
msgid "Password saved."
msgstr "密ç å·²ä¿å­˜ã€‚"
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2554,7 +2609,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
#, fuzzy
msgid "Site"
msgstr "邀请"
@@ -2650,7 +2704,7 @@ msgstr ""
msgid "SSL"
msgstr "SMS短信"
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
#, fuzzy
msgid "Never"
msgstr "æ¢å¤"
@@ -2709,11 +2763,11 @@ msgstr "ä¸æ˜¯æœ‰æ•ˆçš„电å­é‚®ä»¶"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "用户自加标签 %s - 第 %d 页"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr "通告内容ä¸æ­£ç¡®"
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2737,7 +2791,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1 到 64 个å°å†™å­—æ¯æˆ–数字,ä¸åŒ…å«æ ‡ç‚¹åŠç©ºç™½"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "å…¨å"
@@ -2766,7 +2820,7 @@ msgid "Bio"
msgstr "自述"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2791,7 +2845,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr "你的标签 (å­—æ¯letters, æ•°å­—numbers, -, ., å’Œ _), 以逗å·æˆ–空格分隔"
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr "语言"
@@ -2817,7 +2871,7 @@ msgstr "自动订阅任何订阅我的更新的人(这个选项最适åˆæœºå™¨äº
msgid "Bio is too long (max %d chars)."
msgstr "自述过长(ä¸èƒ½è¶…过140字符)。"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "未选择时区。"
@@ -2848,7 +2902,8 @@ msgstr "无法ä¿å­˜ä¸ªäººä¿¡æ¯ã€‚"
msgid "Couldn't save tags."
msgstr "无法ä¿å­˜ä¸ªäººä¿¡æ¯ã€‚"
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr "设置已ä¿å­˜ã€‚"
@@ -2862,48 +2917,48 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr "无法获å–收è—的通告。"
-#: actions/public.php:129
+#: actions/public.php:130
#, fuzzy, php-format
msgid "Public timeline, page %d"
msgstr "公开的时间表"
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "公开的时间表"
-#: actions/public.php:159
+#: actions/public.php:160
#, fuzzy
msgid "Public Stream Feed (RSS 1.0)"
msgstr "公开的èšåˆ"
-#: actions/public.php:163
+#: actions/public.php:164
#, fuzzy
msgid "Public Stream Feed (RSS 2.0)"
msgstr "公开的èšåˆ"
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "公开的èšåˆ"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2912,7 +2967,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, fuzzy, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -3085,8 +3140,7 @@ msgstr "验è¯ç å‡ºé”™ã€‚"
msgid "Registration successful"
msgstr "注册æˆåŠŸã€‚"
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr "注册"
@@ -3125,7 +3179,7 @@ msgid "Same as password above. Required."
msgstr "相åŒçš„密ç ã€‚此项必填。"
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "电å­é‚®ä»¶"
@@ -3226,7 +3280,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr "您在其他兼容的微åšå®¢æœåŠ¡çš„个人信æ¯URL"
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr "订阅"
@@ -3269,7 +3323,7 @@ msgstr "您必须åŒæ„此授æƒæ–¹å¯æ³¨å†Œã€‚"
msgid "You already repeated that notice."
msgstr "您已æˆåŠŸé˜»æ­¢è¯¥ç”¨æˆ·ï¼š"
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "创建"
@@ -3279,47 +3333,47 @@ msgstr "创建"
msgid "Repeated!"
msgstr "创建"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr "%s 的回å¤"
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "å‘é€ç»™ %1$s çš„ %2$s 消æ¯"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "%s 的通告èšåˆ"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "%s 的通告èšåˆ"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "%s 的通告èšåˆ"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, fuzzy, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr "这是 %s 和好å‹çš„时间线,但是没有任何人å‘布内容。"
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3331,6 +3385,16 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "å‘é€ç»™ %1$s çš„ %2$s 消æ¯"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "无法å‘此用户å‘é€æ¶ˆæ¯ã€‚"
+
+#: actions/revokerole.php:82
+#, fuzzy
+msgid "User doesn't have this role."
+msgstr "找ä¸åˆ°åŒ¹é…的用户。"
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3346,8 +3410,9 @@ msgstr "无法å‘此用户å‘é€æ¶ˆæ¯ã€‚"
msgid "User is already sandboxed."
msgstr "用户没有个人信æ¯ã€‚"
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3371,8 +3436,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "头åƒè®¾ç½®"
@@ -3408,8 +3473,8 @@ msgstr "分页"
msgid "Description"
msgstr "æè¿°"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr "统计"
@@ -3470,35 +3535,35 @@ msgstr "%s 收è—的通告"
msgid "Could not retrieve favorite notices."
msgstr "无法获å–收è—的通告。"
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "%s 好å‹çš„èšåˆ"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "%s 好å‹çš„èšåˆ"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "%s 好å‹çš„èšåˆ"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3506,7 +3571,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3520,71 +3585,71 @@ msgstr "%s 组"
msgid "%1$s group, page %2$d"
msgstr "%s 组æˆå‘˜, 第 %d 页"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "组资料"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr "URL 互è”网地å€"
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
#, fuzzy
msgid "Note"
msgstr "通告"
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr "组动作"
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr "%s 的通告èšåˆ"
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, fuzzy, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr "%s 的通告èšåˆ"
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, fuzzy, php-format
msgid "Notice feed for %s group (Atom)"
msgstr "%s 的通告èšåˆ"
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, php-format
msgid "FOAF for %s group"
msgstr "%s çš„å‘件箱"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "注册于"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr "(没有)"
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr "所有æˆå‘˜"
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "创建"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3594,7 +3659,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, fuzzy, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3605,7 +3670,7 @@ msgstr ""
"**%s** 是一个 %%%%site.name%%%% 的用户组,一个微åšå®¢æœåŠ¡ [micro-blogging]"
"(http://en.wikipedia.org/wiki/Micro-blogging)"
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
#, fuzzy
msgid "Admins"
msgstr "admin管ç†å‘˜"
@@ -3721,150 +3786,139 @@ msgid "User is already silenced."
msgstr "用户没有个人信æ¯ã€‚"
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "ä¸æ˜¯æœ‰æ•ˆçš„电å­é‚®ä»¶"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "新通告"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "新的电å­é‚®ä»¶åœ°å€ï¼Œç”¨äºŽå‘布 %s ä¿¡æ¯"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "本地显示"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
+#: actions/siteadminpanel.php:262
#, fuzzy
-msgid "Default site language"
+msgid "Default language"
msgstr "首选语言"
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "新通告"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:67
+#, fuzzy
+msgid "Edit site-wide message"
+msgstr "新消æ¯"
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "无法ä¿å­˜ Twitter 设置ï¼"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "新通告"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "新通告"
#: actions/smssettings.php:58
#, fuzzy
@@ -3967,6 +4021,66 @@ msgstr ""
msgid "No code entered"
msgstr "没有输入验è¯ç "
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "主站导航"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "头åƒè®¾ç½®"
+
#: actions/subedit.php:70
#, fuzzy
msgid "You are not subscribed to that profile."
@@ -4077,22 +4191,22 @@ msgstr "没有 Jabber ID。"
msgid "SMS"
msgstr "SMS短信"
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "用户自加标签 %s - 第 %d 页"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr "%s 的通告èšåˆ"
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "%s 的通告èšåˆ"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, fuzzy, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr "%s 的通告èšåˆ"
@@ -4148,7 +4262,7 @@ msgstr "使用这个表格给你的关注者或你的订阅加注标签。"
msgid "No such tag."
msgstr "未找到此消æ¯ã€‚"
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr "API 方法尚未实现。"
@@ -4177,81 +4291,83 @@ msgstr "æœåŠ¡å™¨æ²¡æœ‰è¿”回个人信æ¯URL。"
msgid "Unsubscribed"
msgstr "退订"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+#, fuzzy
+msgctxt "TITLE"
msgid "User"
msgstr "用户"
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr "个人信æ¯"
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
#, fuzzy
msgid "New users"
msgstr "邀请新用户"
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "所有订阅"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
#, fuzzy
msgid "Automatically subscribe new users to this user."
msgstr "自动订阅任何订阅我的更新的人(这个选项最适åˆæœºå™¨äºº)"
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "å·²å‘é€é‚€è¯·"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
#, fuzzy
msgid "Invitations enabled"
msgstr "å·²å‘é€é‚€è¯·"
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4382,16 +4498,22 @@ msgstr "%s 组æˆå‘˜, 第 %d 页"
msgid "Search for more groups"
msgstr "检索人或文字"
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, fuzzy, php-format
msgid "%s is not a member of any group."
msgstr "您未告知此个人信æ¯"
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr "%2$s 上 %1$s çš„æ›´æ–°ï¼"
+
#: actions/version.php:73
#, fuzzy, php-format
msgid "StatusNet %s"
@@ -4435,7 +4557,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "个人"
@@ -4476,6 +4598,11 @@ msgstr "无法更新组"
msgid "Group leave failed."
msgstr "组资料"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "无法更新组"
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4494,47 +4621,47 @@ msgstr "无法添加信æ¯ã€‚"
msgid "Could not update message with new URI."
msgstr "无法添加新URIçš„ä¿¡æ¯ã€‚"
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr "添加标签时数æ®åº“出错:%s"
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr "你在短时间里å‘布了过多的消æ¯ï¼Œè¯·æ·±å‘¼å¸ï¼Œè¿‡å‡ åˆ†é’Ÿå†å‘消æ¯ã€‚"
-#: classes/Notice.php:237
+#: classes/Notice.php:256
#, fuzzy
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr "你在短时间里å‘布了过多的消æ¯ï¼Œè¯·æ·±å‘¼å¸ï¼Œè¿‡å‡ åˆ†é’Ÿå†å‘消æ¯ã€‚"
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr "在这个网站你被ç¦æ­¢å‘布消æ¯ã€‚"
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -4563,24 +4690,39 @@ msgstr "未订阅ï¼"
msgid "Couldn't delete self-subscription."
msgstr "无法删除订阅。"
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "无法删除订阅。"
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "无法删除订阅。"
-#: classes/User.php:372
+#: classes/User.php:373
#, fuzzy, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr "å‘é€ç»™ %1$s çš„ %2$s 消æ¯"
-#: classes/User_group.php:423
+#: classes/User_group.php:477
msgid "Could not create group."
msgstr "无法创建组。"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "无法删除订阅。"
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "无法删除订阅。"
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "无法删除订阅。"
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr "修改您的个人信æ¯"
@@ -4619,133 +4761,191 @@ msgstr "%1$s (%2$s)"
msgid "Untitled page"
msgstr "无标题页"
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr "主站导航"
-#: lib/action.php:439
-msgid "Home"
-msgstr "主页"
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr "个人资料åŠæœ‹å‹å¹´è¡¨"
-#: lib/action.php:441
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "个人"
+
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "修改资料"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "连接"
-
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "无法é‡å®šå‘到æœåŠ¡å™¨ï¼š%s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "连接"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
msgstr "主站导航"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
-msgstr "邀请"
+#: lib/action.php:449
+#, fuzzy
+msgctxt "MENU"
+msgid "Admin"
+msgstr "admin管ç†å‘˜"
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, fuzzy, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr "使用这个表å•æ¥é‚€è¯·å¥½å‹å’ŒåŒäº‹åŠ å…¥ã€‚"
-#: lib/action.php:458
-msgid "Logout"
-msgstr "登出"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "邀请"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr "登出本站"
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "登出"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "创建新å¸å·"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "注册"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "登入本站"
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "帮助"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "登录"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "帮助"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr "æœç´¢"
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "帮助"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "检索人或文字"
-#: lib/action.php:493
+#: lib/action.php:491
+#, fuzzy
+msgctxt "MENU"
+msgid "Search"
+msgstr "æœç´¢"
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "新通告"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr "本地显示"
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "新通告"
-#: lib/action.php:727
+#: lib/action.php:747
#, fuzzy
msgid "Secondary site navigation"
msgstr "次项站导航"
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "帮助"
+
+#: lib/action.php:754
msgid "About"
msgstr "关于"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "常è§é—®é¢˜FAQ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr "éšç§"
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr "æ¥æº"
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "è”系人"
-#: lib/action.php:751
+#: lib/action.php:771
#, fuzzy
msgid "Badge"
msgstr "呼å«"
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr "StatusNet软件注册è¯"
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4754,12 +4954,12 @@ msgstr ""
"**%%site.name%%** 是一个微åšå®¢æœåŠ¡ï¼Œæ供者为 [%%site.broughtby%%](%%site."
"broughtbyurl%%)。"
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** 是一个微åšå®¢æœåŠ¡ã€‚"
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4770,119 +4970,161 @@ msgstr ""
"General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)"
"授æƒã€‚"
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "StatusNet软件注册è¯"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr "全部"
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr "注册è¯"
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr "分页"
-#: lib/action.php:1141
+#: lib/action.php:1161
#, fuzzy
msgid "After"
msgstr "« 之åŽ"
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "ä¹‹å‰ Â»"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
#, fuzzy
msgid "You cannot make changes to this site."
msgstr "无法å‘此用户å‘é€æ¶ˆæ¯ã€‚"
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
#, fuzzy
msgid "Changes to that panel are not allowed."
msgstr "ä¸å…许注册。"
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
#, fuzzy
msgid "showForm() not implemented."
msgstr "命令尚未实现。"
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
#, fuzzy
msgid "saveSettings() not implemented."
msgstr "命令尚未实现。"
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
#, fuzzy
msgid "Unable to delete design setting."
msgstr "无法ä¿å­˜ Twitter 设置ï¼"
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "电å­é‚®ä»¶åœ°å€ç¡®è®¤"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "邀请"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "SMS短信确认"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "个人"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "SMS短信确认"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr "用户"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "SMS短信确认"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "SMS短信确认"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "SMS短信确认"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "新通告"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "SMS短信确认"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4978,12 +5220,12 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
#, fuzzy
msgid "Password changing failed"
msgstr "密ç å·²ä¿å­˜ã€‚"
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
#, fuzzy
msgid "Password changing is not allowed"
msgstr "密ç å·²ä¿å­˜ã€‚"
@@ -5069,12 +5311,12 @@ msgstr "%s 离开群 %s"
msgid "Fullname: %s"
msgstr "å…¨å:%s"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr "ä½ç½®ï¼š%s"
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr "主页:%s"
@@ -5261,20 +5503,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "没有验è¯ç "
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
#, fuzzy
msgid "Go to the installer."
msgstr "登入本站"
@@ -5380,6 +5622,11 @@ msgstr "选择标签缩å°æ¸…å•"
msgid "Go"
msgstr "执行"
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
#, fuzzy
msgid "URL of the homepage or blog of the group or topic"
@@ -5474,24 +5721,24 @@ msgstr "上传文件时出错。"
msgid "Not an image or corrupt file."
msgstr "ä¸æ˜¯å›¾ç‰‡æ–‡ä»¶æˆ–文件已æŸå。"
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr "ä¸æ”¯æŒè¿™ç§å›¾åƒæ ¼å¼ã€‚"
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "没有这份通告。"
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr "未知文件类型"
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5525,11 +5772,11 @@ msgstr "输入用户å和密ç ä»¥ç™»å½•ã€‚"
msgid "Sign up for a new account"
msgstr "创建新å¸å·"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "电å­é‚®ä»¶åœ°å€ç¡®è®¤"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5546,12 +5793,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "%1$s 开始关注您的 %2$s ä¿¡æ¯ã€‚"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5571,19 +5818,19 @@ msgstr ""
"\n"
"为您效力的 %4$s\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr ""
"自传Bio: %s\n"
"\n"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr "新的电å­é‚®ä»¶åœ°å€ï¼Œç”¨äºŽå‘布 %s ä¿¡æ¯"
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5603,21 +5850,21 @@ msgstr ""
"\n"
"为您效力的 %4$s"
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr "%s 状æ€"
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr "SMS短信确认"
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr "%s 振铃呼å«ä½ "
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5633,12 +5880,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr "%s å‘é€äº†æ–°çš„ç§äººä¿¡æ¯"
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5657,12 +5904,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "%s 收è—了您的通告"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5683,12 +5930,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5806,6 +6053,12 @@ msgstr "到"
msgid "Available characters"
msgstr "6 个或更多字符"
+#: lib/messageform.php:178 lib/noticeform.php:236
+#, fuzzy
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr "å‘é€"
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5866,27 +6119,27 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "没有内容ï¼"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "创建"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
#, fuzzy
msgid "Reply to this notice"
msgstr "无法删除通告。"
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
#, fuzzy
msgid "Reply"
msgstr "回å¤"
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "消æ¯å·²å‘布。"
@@ -5963,7 +6216,7 @@ msgstr "%s's 的消æ¯çš„标签"
msgid "Unknown"
msgstr "未知动作"
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr "订阅"
@@ -5971,25 +6224,25 @@ msgstr "订阅"
msgid "All subscriptions"
msgstr "所有订阅"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr "订阅者"
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "订阅者"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
#, fuzzy
msgid "User ID"
msgstr "用户"
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "用户始于"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr "所有组"
@@ -6034,7 +6287,12 @@ msgstr "无法删除通告。"
msgid "Repeat this notice"
msgstr "无法删除通告。"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "该组æˆå‘˜åˆ—表。"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -6057,6 +6315,10 @@ msgstr "æœç´¢"
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr "æœç´¢"
+
#: lib/searchaction.php:162
#, fuzzy
msgid "Search help"
@@ -6112,6 +6374,15 @@ msgstr "订阅 %s"
msgid "Groups %s is a member of"
msgstr "%s 组是æˆå‘˜ç»„æˆäº†"
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr "邀请"
+
+#: lib/subgroupnav.php:106
+#, fuzzy, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr "使用这个表å•æ¥é‚€è¯·å¥½å‹å’ŒåŒäº‹åŠ å…¥ã€‚"
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -6192,47 +6463,63 @@ msgstr "新消æ¯"
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "用户没有个人信æ¯ã€‚"
+
+#: lib/userprofile.php:354
+#, fuzzy
+msgctxt "role"
+msgid "Administrator"
+msgstr "admin管ç†å‘˜"
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr "几秒å‰"
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr "一分钟å‰"
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr "%d 分钟å‰"
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr "一å°æ—¶å‰"
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr "%d å°æ—¶å‰"
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr "一天å‰"
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr "%d 天å‰"
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr "一个月å‰"
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr "%d 个月å‰"
-#: lib/util.php:970
+#: lib/util.php:1033
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 ff517edec..3ea887beb 100644
--- a/locale/zh_TW/LC_MESSAGES/statusnet.po
+++ b/locale/zh_TW/LC_MESSAGES/statusnet.po
@@ -7,81 +7,87 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 23:49+0000\n"
-"PO-Revision-Date: 2010-02-24 23:52:03+0000\n"
+"POT-Creation-Date: 2010-03-06 23:49+0000\n"
+"PO-Revision-Date: 2010-03-06 23:51:15+0000\n"
"Language-Team: Traditional Chinese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r62925); Translate extension (2010-01-16)\n"
+"X-Generator: MediaWiki 1.17alpha (r63350); 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"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
+#. TRANS: Page title
+#. TRANS: Menu item for site administration
+#: actions/accessadminpanel.php:55 lib/adminpanelaction.php:374
#, fuzzy
msgid "Access"
msgstr "接å—"
-#: actions/accessadminpanel.php:65
+#. TRANS: Page notice
+#: actions/accessadminpanel.php:67
#, fuzzy
msgid "Site access settings"
msgstr "線上å³æ™‚通設定"
-#: actions/accessadminpanel.php:158
+#. TRANS: Form legend for registration form.
+#: actions/accessadminpanel.php:161
#, fuzzy
msgid "Registration"
msgstr "所有訂閱"
-#: actions/accessadminpanel.php:161
-msgid "Private"
-msgstr ""
-
-#: actions/accessadminpanel.php:163
+#. TRANS: Checkbox instructions for admin setting "Private"
+#: actions/accessadminpanel.php:165
msgid "Prohibit anonymous users (not logged in) from viewing site?"
msgstr ""
+#. TRANS: Checkbox label for prohibiting anonymous users from viewing site.
#: actions/accessadminpanel.php:167
-msgid "Invite only"
+msgctxt "LABEL"
+msgid "Private"
msgstr ""
-#: actions/accessadminpanel.php:169
+#. TRANS: Checkbox instructions for admin setting "Invite only"
+#: actions/accessadminpanel.php:174
msgid "Make registration invitation only."
msgstr ""
-#: actions/accessadminpanel.php:173
-#, fuzzy
-msgid "Closed"
-msgstr "無此使用者"
+#. TRANS: Checkbox label for configuring site as invite only.
+#: actions/accessadminpanel.php:176
+msgid "Invite only"
+msgstr ""
-#: actions/accessadminpanel.php:175
+#. TRANS: Checkbox instructions for admin setting "Closed" (no new registrations)
+#: actions/accessadminpanel.php:183
msgid "Disable new registrations."
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/sessionsadminpanel.php:199
-#: actions/siteadminpanel.php:336 actions/smssettings.php:181
-#: actions/subscriptions.php:208 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 ""
+#. TRANS: Checkbox label for disabling new user registrations.
+#: actions/accessadminpanel.php:185
+#, fuzzy
+msgid "Closed"
+msgstr "無此使用者"
-#: actions/accessadminpanel.php:189
+#. TRANS: Title / tooltip for button to save access settings in site admin panel
+#: actions/accessadminpanel.php:202
#, fuzzy
msgid "Save access settings"
msgstr "線上å³æ™‚通設定"
-#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
-#: actions/showfavorites.php:137 actions/tag.php:51
+#: actions/accessadminpanel.php:203
+msgctxt "BUTTON"
+msgid "Save"
+msgstr ""
+
+#. TRANS: Server error when page not found (404)
+#: actions/all.php:64 actions/public.php:98 actions/replies.php:93
+#: actions/showfavorites.php:138 actions/tag.php:52
#, fuzzy
msgid "No such page"
msgstr "無此通知"
-#: actions/all.php:74 actions/allrss.php:68
+#: actions/all.php:75 actions/allrss.php:68
#: actions/apiaccountupdatedeliverydevice.php:113
#: actions/apiaccountupdateprofile.php:105
#: actions/apiaccountupdateprofilebackgroundimage.php:116
@@ -95,72 +101,82 @@ msgstr "無此通知"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
-#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
-#: actions/replies.php:73 actions/repliesrss.php:38 actions/rsd.php:116
-#: actions/showfavorites.php:105 actions/userbyid.php:74
-#: actions/usergroups.php:91 actions/userrss.php:38 actions/xrds.php:71
-#: lib/command.php:163 lib/command.php:302 lib/command.php:355
-#: lib/command.php:401 lib/command.php:462 lib/command.php:518
-#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77
+#: actions/hcard.php:67 actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/otp.php:76 actions/remotesubscribe.php:145
+#: actions/remotesubscribe.php:154 actions/replies.php:73
+#: actions/repliesrss.php:38 actions/rsd.php:116 actions/showfavorites.php:105
+#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:40
+#: actions/xrds.php:71 lib/command.php:163 lib/command.php:302
+#: lib/command.php:355 lib/command.php:401 lib/command.php:462
+#: lib/command.php:518 lib/galleryaction.php:59 lib/mailbox.php:82
+#: lib/profileaction.php:77
msgid "No such user."
msgstr "無此使用者"
-#: actions/all.php:84
+#. TRANS: Page title. %1$s is user nickname, %2$d is page number
+#: actions/all.php:86
#, fuzzy, php-format
msgid "%1$s and friends, page %2$d"
msgstr "%s與好å‹"
-#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
+#. TRANS: Page title. %1$s is user nickname
+#. TRANS: H1 text. %1$s is user nickname
+#: actions/all.php:89 actions/all.php:181 actions/allrss.php:115
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
#: lib/personalgroupnav.php:100
#, php-format
msgid "%s and friends"
msgstr "%s與好å‹"
-#: actions/all.php:99
+#. TRANS: %1$s is user nickname
+#: actions/all.php:103
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 1.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/all.php:107
+#. TRANS: %1$s is user nickname
+#: actions/all.php:112
#, fuzzy, php-format
msgid "Feed for friends of %s (RSS 2.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/all.php:115
+#. TRANS: %1$s is user nickname
+#: actions/all.php:121
#, fuzzy, php-format
msgid "Feed for friends of %s (Atom)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/all.php:127
+#. TRANS: %1$s is user nickname
+#: actions/all.php:134
#, php-format
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-#: actions/all.php:132
+#: actions/all.php:139
#, php-format
msgid ""
"Try subscribing to more people, [join a group](%%action.groups%%) or post "
"something yourself."
msgstr ""
-#: actions/all.php:134
+#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
+#: actions/all.php:142
#, php-format
msgid ""
"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)."
msgstr ""
-#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:211
+#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-#: actions/all.php:165
+#. TRANS: H1 text
+#: actions/all.php:178
#, fuzzy
msgid "You and friends"
msgstr "%s與好å‹"
@@ -179,20 +195,20 @@ msgstr ""
#: actions/apiaccountverifycredentials.php:70 actions/apidirectmessage.php:156
#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100
#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100
-#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:136
+#: actions/apifriendshipsshow.php:128 actions/apigroupcreate.php:138
#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155
#: actions/apigroupleave.php:141 actions/apigrouplist.php:132
#: actions/apigrouplistall.php:120 actions/apigroupmembership.php:106
#: actions/apigroupshow.php:115 actions/apihelptest.php:88
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
-#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
+#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:135
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
-#: actions/apitimelinegroup.php:195 actions/apitimelinehome.php:184
-#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
+#: actions/apitimelinegroup.php:160 actions/apitimelinehome.php:184
+#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:148
#: actions/apitimelineretweetedtome.php:121
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
-#: actions/apitimelineuser.php:207 actions/apiusershow.php:101
+#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
#, fuzzy
msgid "API method not found."
msgstr "確èªç¢¼éºå¤±"
@@ -226,8 +242,9 @@ msgstr "無法更新使用者"
#: actions/apiaccountupdateprofilebackgroundimage.php:194
#: actions/apiaccountupdateprofilecolors.php:185
#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108
-#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80
-#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84
+#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/hcard.php:74
+#: actions/replies.php:80 actions/usergroups.php:98 lib/galleryaction.php:66
+#: lib/profileaction.php:84
msgid "User has no profile."
msgstr ""
@@ -252,7 +269,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:146
#: actions/apiaccountupdateprofilecolors.php:164
#: actions/apiaccountupdateprofilecolors.php:174
-#: actions/groupdesignsettings.php:287 actions/groupdesignsettings.php:297
+#: actions/groupdesignsettings.php:290 actions/groupdesignsettings.php:300
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
@@ -368,68 +385,68 @@ msgstr "無法更新使用者"
msgid "Could not find target user."
msgstr "無法更新使用者"
-#: actions/apigroupcreate.php:164 actions/editgroup.php:182
+#: actions/apigroupcreate.php:166 actions/editgroup.php:186
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr "暱稱請用å°å¯«å­—æ¯æˆ–數字,勿加空格。"
-#: actions/apigroupcreate.php:173 actions/editgroup.php:186
+#: actions/apigroupcreate.php:175 actions/editgroup.php:190
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
msgstr "此暱稱已有人使用。å†è©¦è©¦çœ‹åˆ¥çš„å§ã€‚"
-#: actions/apigroupcreate.php:180 actions/editgroup.php:189
+#: actions/apigroupcreate.php:182 actions/editgroup.php:193
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
msgstr ""
-#: actions/apigroupcreate.php:196 actions/editapplication.php:215
-#: actions/editgroup.php:195 actions/newapplication.php:203
+#: actions/apigroupcreate.php:198 actions/editapplication.php:215
+#: actions/editgroup.php:199 actions/newapplication.php:203
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
msgstr "個人首é ä½å€éŒ¯èª¤"
-#: actions/apigroupcreate.php:205 actions/editgroup.php:198
+#: actions/apigroupcreate.php:207 actions/editgroup.php:202
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
msgstr "å…¨åéŽé•·ï¼ˆæœ€å¤š255字元)"
-#: actions/apigroupcreate.php:213 actions/editapplication.php:190
+#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
#, fuzzy, php-format
msgid "Description is too long (max %d chars)."
msgstr "自我介紹éŽé•·(å…±140個字元)"
-#: actions/apigroupcreate.php:224 actions/editgroup.php:204
+#: actions/apigroupcreate.php:226 actions/editgroup.php:208
#: actions/newgroup.php:148 actions/profilesettings.php:232
#: actions/register.php:227
msgid "Location is too long (max 255 chars)."
msgstr "地點éŽé•·ï¼ˆå…±255個字)"
-#: actions/apigroupcreate.php:243 actions/editgroup.php:215
+#: actions/apigroupcreate.php:245 actions/editgroup.php:219
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
msgstr ""
-#: actions/apigroupcreate.php:264 actions/editgroup.php:224
+#: actions/apigroupcreate.php:266 actions/editgroup.php:228
#: actions/newgroup.php:168
#, fuzzy, php-format
msgid "Invalid alias: \"%s\""
msgstr "個人首é é€£çµ%s無效"
-#: actions/apigroupcreate.php:273 actions/editgroup.php:228
+#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
#, fuzzy, php-format
msgid "Alias \"%s\" already in use. Try another one."
msgstr "此暱稱已有人使用。å†è©¦è©¦çœ‹åˆ¥çš„å§ã€‚"
-#: actions/apigroupcreate.php:286 actions/editgroup.php:234
+#: actions/apigroupcreate.php:288 actions/editgroup.php:238
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
msgstr ""
@@ -441,15 +458,15 @@ msgstr ""
msgid "Group not found!"
msgstr "ç›®å‰ç„¡è«‹æ±‚"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90
+#: actions/apigroupjoin.php:110 actions/joingroup.php:100
msgid "You are already a member of that group."
msgstr ""
-#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
+#: actions/apigroupjoin.php:119 actions/joingroup.php:105 lib/command.php:221
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:124
+#: actions/apigroupjoin.php:138 actions/joingroup.php:134
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
@@ -459,7 +476,7 @@ msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
msgid "You are not a member of this group."
msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
-#: actions/apigroupleave.php:124 actions/leavegroup.php:119
+#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, fuzzy, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "無法從 %s 建立OpenID"
@@ -491,7 +508,7 @@ 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:54
-#: actions/groupblock.php:66 actions/grouplogo.php:309
+#: actions/groupblock.php:66 actions/grouplogo.php:312
#: 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
@@ -535,7 +552,7 @@ msgstr ""
#: 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/emailsettings.php:256 actions/grouplogo.php:322
#: actions/imsettings.php:220 actions/newapplication.php:121
#: actions/oauthconnectionssettings.php:147 actions/recoverpassword.php:44
#: actions/smssettings.php:248 lib/designsettings.php:304
@@ -558,14 +575,14 @@ msgid ""
"give access to your %4$s account to third parties you trust."
msgstr ""
-#: actions/apioauthauthorize.php:310 lib/action.php:441
+#: actions/apioauthauthorize.php:310 lib/action.php:438
#, fuzzy
msgid "Account"
msgstr "關於"
#: actions/apioauthauthorize.php:313 actions/login.php:230
#: actions/profilesettings.php:106 actions/register.php:424
-#: actions/showgroup.php:236 actions/tagother.php:94
+#: actions/showgroup.php:244 actions/tagother.php:94
#: actions/userauthorization.php:145 lib/groupeditform.php:152
#: lib/userprofile.php:131
msgid "Nickname"
@@ -649,18 +666,6 @@ msgstr "%1$s的狀態是%2$s"
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "&s的微型部è½æ ¼"
-#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
-#: actions/grouprss.php:131 actions/userrss.php:90
-#, php-format
-msgid "%s timeline"
-msgstr ""
-
-#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
-#: actions/userrss.php:92
-#, php-format
-msgid "Updates from %1$s on %2$s!"
-msgstr ""
-
#: actions/apitimelinementions.php:117
#, fuzzy, php-format
msgid "%1$s / Updates mentioning %2$s"
@@ -671,12 +676,12 @@ msgstr "%1$s的狀態是%2$s"
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
-#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
+#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
#, php-format
msgid "%s public timeline"
msgstr ""
-#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
+#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
msgstr ""
@@ -691,12 +696,12 @@ msgstr ""
msgid "Repeats of %s"
msgstr ""
-#: actions/apitimelinetag.php:102 actions/tag.php:66
+#: actions/apitimelinetag.php:102 actions/tag.php:67
#, php-format
msgid "Notices tagged with %s"
msgstr ""
-#: actions/apitimelinetag.php:104 actions/tagrss.php:64
+#: actions/apitimelinetag.php:104 actions/tagrss.php:65
#, fuzzy, php-format
msgid "Updates tagged with %1$s on %2$s!"
msgstr "&s的微型部è½æ ¼"
@@ -714,8 +719,7 @@ msgstr "無此文件"
#: actions/avatarbynickname.php:59 actions/blockedfromgroup.php:73
#: actions/editgroup.php:84 actions/groupdesignsettings.php:84
#: actions/grouplogo.php:86 actions/groupmembers.php:76
-#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
-#: actions/showgroup.php:121
+#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "無暱稱"
@@ -727,7 +731,7 @@ msgstr "無尺寸"
msgid "Invalid size."
msgstr "尺寸錯誤"
-#: actions/avatarsettings.php:67 actions/showgroup.php:221
+#: actions/avatarsettings.php:67 actions/showgroup.php:229
#: lib/accountsettingsaction.php:112
msgid "Avatar"
msgstr "個人圖åƒ"
@@ -739,36 +743,36 @@ msgstr ""
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/remotesubscribe.php:191 actions/userauthorization.php:72
-#: actions/userrss.php:103
+#: actions/userrss.php:106
msgid "User without matching profile"
msgstr ""
#: actions/avatarsettings.php:119 actions/avatarsettings.php:197
-#: actions/grouplogo.php:251
+#: actions/grouplogo.php:254
#, fuzzy
msgid "Avatar settings"
msgstr "線上å³æ™‚通設定"
#: actions/avatarsettings.php:127 actions/avatarsettings.php:205
-#: actions/grouplogo.php:199 actions/grouplogo.php:259
+#: actions/grouplogo.php:202 actions/grouplogo.php:262
msgid "Original"
msgstr ""
#: actions/avatarsettings.php:142 actions/avatarsettings.php:217
-#: actions/grouplogo.php:210 actions/grouplogo.php:271
+#: actions/grouplogo.php:213 actions/grouplogo.php:274
msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:637
+#: lib/deleteuserform.php:66 lib/noticelist.php:655
msgid "Delete"
msgstr ""
-#: actions/avatarsettings.php:166 actions/grouplogo.php:233
+#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
msgstr ""
-#: actions/avatarsettings.php:231 actions/grouplogo.php:286
+#: actions/avatarsettings.php:231 actions/grouplogo.php:289
msgid "Crop"
msgstr ""
@@ -776,7 +780,7 @@ msgstr ""
msgid "Pick a square area of the image to be your avatar"
msgstr ""
-#: actions/avatarsettings.php:343 actions/grouplogo.php:377
+#: actions/avatarsettings.php:343 actions/grouplogo.php:380
msgid "Lost our file data."
msgstr ""
@@ -811,23 +815,23 @@ msgid ""
msgstr ""
#: actions/block.php:143 actions/deleteapplication.php:153
-#: actions/deletenotice.php:145 actions/deleteuser.php:147
+#: actions/deletenotice.php:145 actions/deleteuser.php:150
#: actions/groupblock.php:178
msgid "No"
msgstr ""
-#: actions/block.php:143 actions/deleteuser.php:147
+#: actions/block.php:143 actions/deleteuser.php:150
#, fuzzy
msgid "Do not block this user"
msgstr "無此使用者"
#: actions/block.php:144 actions/deleteapplication.php:158
-#: actions/deletenotice.php:146 actions/deleteuser.php:148
+#: actions/deletenotice.php:146 actions/deleteuser.php:151
#: actions/groupblock.php:179 lib/repeatform.php:132
msgid "Yes"
msgstr ""
-#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
+#: actions/block.php:144 actions/groupmembers.php:355 lib/blockform.php:80
#, fuzzy
msgid "Block this user"
msgstr "無此使用者"
@@ -836,41 +840,45 @@ msgstr "無此使用者"
msgid "Failed to save block information."
msgstr ""
-#: actions/blockedfromgroup.php:80 actions/editgroup.php:96
-#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86
-#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97
-#: actions/grouplogo.php:99 actions/groupmembers.php:83
-#: actions/grouprss.php:98 actions/groupunblock.php:86
-#: actions/joingroup.php:83 actions/leavegroup.php:83 actions/makeadmin.php:86
-#: actions/showgroup.php:137 lib/command.php:212 lib/command.php:260
+#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
+#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
+#: actions/foafgroup.php:69 actions/groupblock.php:86 actions/groupbyid.php:83
+#: actions/groupdesignsettings.php:100 actions/grouplogo.php:102
+#: actions/groupmembers.php:83 actions/groupmembers.php:90
+#: actions/grouprss.php:98 actions/grouprss.php:105
+#: actions/groupunblock.php:86 actions/joingroup.php:82
+#: actions/joingroup.php:93 actions/leavegroup.php:82
+#: actions/leavegroup.php:93 actions/makeadmin.php:86
+#: actions/showgroup.php:138 actions/showgroup.php:146 lib/command.php:212
+#: lib/command.php:260
#, fuzzy
msgid "No such group."
msgstr "無此通知"
-#: actions/blockedfromgroup.php:90
+#: actions/blockedfromgroup.php:97
#, fuzzy, php-format
msgid "%s blocked profiles"
msgstr "無此通知"
-#: actions/blockedfromgroup.php:93
+#: actions/blockedfromgroup.php:100
#, fuzzy, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "%s與好å‹"
-#: actions/blockedfromgroup.php:108
+#: actions/blockedfromgroup.php:115
msgid "A list of the users blocked from joining this group."
msgstr ""
-#: actions/blockedfromgroup.php:281
+#: actions/blockedfromgroup.php:288
#, fuzzy
msgid "Unblock user from group"
msgstr "無此使用者"
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr ""
-#: actions/blockedfromgroup.php:313 lib/unblockform.php:80
+#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
#, fuzzy
msgid "Unblock this user"
msgstr "無此使用者"
@@ -929,7 +937,7 @@ msgid "Conversation"
msgstr "地點"
#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87
-#: lib/profileaction.php:216 lib/searchgroupnav.php:82
+#: lib/profileaction.php:218 lib/searchgroupnav.php:82
msgid "Notices"
msgstr ""
@@ -951,7 +959,7 @@ msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
#: actions/deleteapplication.php:102 actions/editapplication.php:127
#: actions/newapplication.php:110 actions/showapplication.php:118
-#: lib/action.php:1197
+#: lib/action.php:1217
msgid "There was a problem with your session token."
msgstr ""
@@ -977,12 +985,13 @@ msgstr "無此通知"
msgid "Delete this application"
msgstr "請在140個字以內æ述你自己與你的興趣"
+#. TRANS: Client error message
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
#: actions/makeadmin.php:61 actions/newmessage.php:87 actions/newnotice.php:89
#: actions/nudge.php:63 actions/subedit.php:31 actions/subscribe.php:96
#: actions/tagother.php:33 actions/unsubscribe.php:52
-#: lib/adminpanelaction.php:72 lib/profileformaction.php:63
+#: lib/adminpanelaction.php:73 lib/profileformaction.php:63
#: lib/settingsaction.php:72
msgid "Not logged in."
msgstr ""
@@ -1010,7 +1019,7 @@ msgstr ""
msgid "Do not delete this notice"
msgstr "無此通知"
-#: actions/deletenotice.php:146 lib/noticelist.php:637
+#: actions/deletenotice.php:146 lib/noticelist.php:655
msgid "Delete this notice"
msgstr ""
@@ -1028,19 +1037,19 @@ msgstr "無此使用者"
msgid "Delete user"
msgstr ""
-#: actions/deleteuser.php:135
+#: actions/deleteuser.php:136
msgid ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
msgstr ""
-#: actions/deleteuser.php:148 lib/deleteuserform.php:77
+#: actions/deleteuser.php:151 lib/deleteuserform.php:77
#, fuzzy
msgid "Delete this user"
msgstr "無此使用者"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
-#: lib/adminpanelaction.php:316 lib/groupnav.php:119
+#: lib/groupnav.php:119
msgid "Design"
msgstr ""
@@ -1149,6 +1158,18 @@ msgstr ""
msgid "Reset back to default"
msgstr ""
+#: actions/designadminpanel.php:586 actions/emailsettings.php:195
+#: actions/imsettings.php:163 actions/othersettings.php:126
+#: actions/pathsadminpanel.php:351 actions/profilesettings.php:174
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/sitenoticeadminpanel.php:195 actions/smssettings.php:181
+#: actions/snapshotadminpanel.php:245 actions/subscriptions.php:208
+#: actions/tagother.php:154 actions/useradminpanel.php:294
+#: lib/applicationeditform.php:333 lib/applicationeditform.php:334
+#: lib/designsettings.php:256 lib/groupeditform.php:202
+msgid "Save"
+msgstr ""
+
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
msgstr ""
@@ -1248,31 +1269,31 @@ msgstr ""
msgid "You must be logged in to create a group."
msgstr ""
-#: actions/editgroup.php:103 actions/editgroup.php:168
-#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
+#: actions/editgroup.php:107 actions/editgroup.php:172
+#: actions/groupdesignsettings.php:107 actions/grouplogo.php:109
msgid "You must be an admin to edit the group."
msgstr ""
-#: actions/editgroup.php:154
+#: actions/editgroup.php:158
msgid "Use this form to edit the group."
msgstr ""
-#: actions/editgroup.php:201 actions/newgroup.php:145
+#: actions/editgroup.php:205 actions/newgroup.php:145
#, fuzzy, php-format
msgid "description is too long (max %d chars)."
msgstr "自我介紹éŽé•·(å…±140個字元)"
-#: actions/editgroup.php:253
+#: actions/editgroup.php:258
#, fuzzy
msgid "Could not update group."
msgstr "無法更新使用者"
-#: actions/editgroup.php:259 classes/User_group.php:433
+#: actions/editgroup.php:264 classes/User_group.php:493
#, fuzzy
msgid "Could not create aliases."
msgstr "無法存å–個人圖åƒè³‡æ–™"
-#: actions/editgroup.php:269
+#: actions/editgroup.php:280
msgid "Options saved."
msgstr ""
@@ -1390,7 +1411,7 @@ msgid "Cannot normalize that email address"
msgstr ""
#: actions/emailsettings.php:331 actions/register.php:201
-#: actions/siteadminpanel.php:143
+#: actions/siteadminpanel.php:144
msgid "Not a valid email address."
msgstr "此信箱無效"
@@ -1582,6 +1603,24 @@ msgstr "無此通知"
msgid "Cannot read file."
msgstr "無此通知"
+#: actions/grantrole.php:62 actions/revokerole.php:62
+#, fuzzy
+msgid "Invalid role."
+msgstr "尺寸錯誤"
+
+#: actions/grantrole.php:66 actions/revokerole.php:66
+msgid "This role is reserved and cannot be set."
+msgstr ""
+
+#: actions/grantrole.php:75
+#, fuzzy
+msgid "You cannot grant user roles on this site."
+msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
+
+#: actions/grantrole.php:82
+msgid "User already has this role."
+msgstr ""
+
#: actions/groupblock.php:71 actions/groupunblock.php:71
#: actions/makeadmin.php:71 actions/subedit.php:46
#: lib/profileformaction.php:70
@@ -1611,7 +1650,7 @@ msgstr ""
msgid "User is not a member of group."
msgstr ""
-#: actions/groupblock.php:136 actions/groupmembers.php:316
+#: actions/groupblock.php:136 actions/groupmembers.php:323
#, fuzzy
msgid "Block user from group"
msgstr "無此使用者"
@@ -1647,94 +1686,100 @@ msgstr "查無此Jabber ID"
msgid "You must be logged in to edit a group."
msgstr ""
-#: actions/groupdesignsettings.php:141
+#: actions/groupdesignsettings.php:144
msgid "Group design"
msgstr ""
-#: actions/groupdesignsettings.php:152
+#: actions/groupdesignsettings.php:155
msgid ""
"Customize the way your group looks with a background image and a colour "
"palette of your choice."
msgstr ""
-#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
+#: actions/groupdesignsettings.php:266 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
#, fuzzy
msgid "Couldn't update your design."
msgstr "無法更新使用者"
-#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
+#: actions/groupdesignsettings.php:311 actions/userdesignsettings.php:231
msgid "Design preferences saved."
msgstr ""
-#: actions/grouplogo.php:139 actions/grouplogo.php:192
+#: actions/grouplogo.php:142 actions/grouplogo.php:195
msgid "Group logo"
msgstr ""
-#: actions/grouplogo.php:150
+#: actions/grouplogo.php:153
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-#: actions/grouplogo.php:178
+#: actions/grouplogo.php:181
msgid "User without matching profile."
msgstr ""
-#: actions/grouplogo.php:362
+#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr ""
-#: actions/grouplogo.php:396
+#: actions/grouplogo.php:399
#, fuzzy
msgid "Logo updated."
msgstr "更新個人圖åƒ"
-#: actions/grouplogo.php:398
+#: actions/grouplogo.php:401
#, fuzzy
msgid "Failed updating logo."
msgstr "無法上傳個人圖åƒ"
-#: actions/groupmembers.php:93 lib/groupnav.php:92
+#: actions/groupmembers.php:100 lib/groupnav.php:92
#, php-format
msgid "%s group members"
msgstr ""
-#: actions/groupmembers.php:96
+#: actions/groupmembers.php:103
#, php-format
msgid "%1$s group members, page %2$d"
msgstr ""
-#: actions/groupmembers.php:111
+#: actions/groupmembers.php:118
msgid "A list of the users in this group."
msgstr ""
-#: actions/groupmembers.php:175 lib/action.php:448 lib/groupnav.php:107
+#: actions/groupmembers.php:182 lib/groupnav.php:107
msgid "Admin"
msgstr ""
-#: actions/groupmembers.php:348 lib/blockform.php:69
+#: actions/groupmembers.php:355 lib/blockform.php:69
msgid "Block"
msgstr ""
-#: actions/groupmembers.php:443
+#: actions/groupmembers.php:450
msgid "Make user an admin of the group"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make Admin"
msgstr ""
-#: actions/groupmembers.php:475
+#: actions/groupmembers.php:482
msgid "Make this user an admin"
msgstr ""
-#: actions/grouprss.php:133
+#: actions/grouprss.php:138 actions/userrss.php:93
+#: lib/atomgroupnoticefeed.php:61 lib/atomusernoticefeed.php:67
+#, php-format
+msgid "%s timeline"
+msgstr ""
+
+#: actions/grouprss.php:140
#, fuzzy, php-format
msgid "Updates from members of %1$s on %2$s!"
msgstr "&s的微型部è½æ ¼"
-#: actions/groups.php:62 lib/profileaction.php:210 lib/profileaction.php:230
+#: actions/groups.php:62 lib/profileaction.php:212 lib/profileaction.php:232
#: lib/publicgroupnav.php:81 lib/searchgroupnav.php:84 lib/subgroupnav.php:98
msgid "Groups"
msgstr ""
@@ -1973,16 +2018,18 @@ msgstr ""
msgid "Optionally add a personal message to the invitation."
msgstr ""
-#: actions/invite.php:197 lib/messageform.php:178 lib/noticeform.php:236
+#. TRANS: Send button for inviting friends
+#: actions/invite.php:198
+msgctxt "BUTTON"
msgid "Send"
msgstr ""
-#: actions/invite.php:226
+#: actions/invite.php:227
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
-#: actions/invite.php:228
+#: actions/invite.php:229
#, php-format
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -2017,7 +2064,12 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:131
+#: actions/joingroup.php:88 actions/leavegroup.php:88
+#, fuzzy
+msgid "No nickname or ID."
+msgstr "無暱稱"
+
+#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -2026,11 +2078,11 @@ msgstr ""
msgid "You must be logged in to leave a group."
msgstr ""
-#: actions/leavegroup.php:90 lib/command.php:265
+#: actions/leavegroup.php:100 lib/command.php:265
msgid "You are not a member of that group."
msgstr ""
-#: actions/leavegroup.php:127
+#: actions/leavegroup.php:137
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s的狀態是%2$s"
@@ -2047,8 +2099,7 @@ msgstr "使用者å稱或密碼錯誤"
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:188 actions/login.php:241 lib/action.php:466
-#: lib/logingroupnav.php:79
+#: actions/login.php:188 actions/login.php:241 lib/logingroupnav.php:79
msgid "Login"
msgstr "登入"
@@ -2291,8 +2342,8 @@ msgstr "連çµ"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
-#: lib/api.php:1068 lib/api.php:1177
+#: actions/oembed.php:181 actions/oembed.php:200 lib/apiaction.php:1042
+#: lib/apiaction.php:1070 lib/apiaction.php:1179
msgid "Not a supported data format."
msgstr ""
@@ -2438,7 +2489,8 @@ msgstr "無法存å–新密碼"
msgid "Password saved."
msgstr ""
-#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:331
+#. TRANS: Menu item for site administration
+#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:382
msgid "Paths"
msgstr ""
@@ -2471,7 +2523,6 @@ msgid "Invalid SSL server. The maximum length is 255 characters."
msgstr ""
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
-#: lib/adminpanelaction.php:311
msgid "Site"
msgstr ""
@@ -2564,7 +2615,7 @@ msgstr ""
msgid "SSL"
msgstr ""
-#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
+#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr ""
@@ -2619,11 +2670,11 @@ msgstr "此信箱無效"
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "&s的微型部è½æ ¼"
-#: actions/postnotice.php:84
+#: actions/postnotice.php:95
msgid "Invalid notice content"
msgstr ""
-#: actions/postnotice.php:90
+#: actions/postnotice.php:101
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
@@ -2646,7 +2697,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64個å°å¯«è‹±æ–‡å­—æ¯æˆ–數字,勿加標點符號或空格"
#: actions/profilesettings.php:111 actions/register.php:448
-#: actions/showgroup.php:247 actions/tagother.php:104
+#: actions/showgroup.php:255 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "å…¨å"
@@ -2675,7 +2726,7 @@ msgid "Bio"
msgstr "自我介紹"
#: actions/profilesettings.php:132 actions/register.php:471
-#: actions/showgroup.php:256 actions/tagother.php:112
+#: actions/showgroup.php:264 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
@@ -2700,7 +2751,7 @@ msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
+#: actions/profilesettings.php:151
msgid "Language"
msgstr ""
@@ -2726,7 +2777,7 @@ msgstr ""
msgid "Bio is too long (max %d chars)."
msgstr "自我介紹éŽé•·(å…±140個字元)"
-#: actions/profilesettings.php:235 actions/siteadminpanel.php:150
+#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr ""
@@ -2757,7 +2808,8 @@ msgstr "無法儲存個人資料"
msgid "Couldn't save tags."
msgstr "無法儲存個人資料"
-#: actions/profilesettings.php:391 lib/adminpanelaction.php:137
+#. TRANS: Message after successful saving of administrative settings.
+#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
msgid "Settings saved."
msgstr ""
@@ -2770,46 +2822,46 @@ msgstr ""
msgid "Could not retrieve public stream."
msgstr ""
-#: actions/public.php:129
+#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr ""
-#: actions/public.php:131 lib/publicgroupnav.php:79
+#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr ""
-#: actions/public.php:159
+#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
msgstr ""
-#: actions/public.php:163
+#: actions/public.php:164
msgid "Public Stream Feed (RSS 2.0)"
msgstr ""
-#: actions/public.php:167
+#: actions/public.php:168
#, fuzzy
msgid "Public Stream Feed (Atom)"
msgstr "%s的公開內容"
-#: actions/public.php:187
+#: actions/public.php:188
#, php-format
msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-#: actions/public.php:190
+#: actions/public.php:191
msgid "Be the first to post!"
msgstr ""
-#: actions/public.php:194
+#: actions/public.php:195
#, php-format
msgid ""
"Why not [register an account](%%action.register%%) and be the first to post!"
msgstr ""
-#: actions/public.php:241
+#: actions/public.php:242
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2818,7 +2870,7 @@ msgid ""
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-#: actions/public.php:246
+#: actions/public.php:247
#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
@@ -2988,8 +3040,7 @@ msgstr "確èªç¢¼ç™¼ç”ŸéŒ¯èª¤"
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:503 lib/action.php:463
-#: lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:503 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -3028,7 +3079,7 @@ msgid "Same as password above. Required."
msgstr ""
#: actions/register.php:438 actions/register.php:442
-#: actions/siteadminpanel.php:256 lib/accountsettingsaction.php:120
+#: actions/siteadminpanel.php:238 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "é›»å­ä¿¡ç®±"
@@ -3113,7 +3164,7 @@ msgid "URL of your profile on another compatible microblogging service"
msgstr ""
#: actions/remotesubscribe.php:137 lib/subscribeform.php:139
-#: lib/userprofile.php:368
+#: lib/userprofile.php:394
msgid "Subscribe"
msgstr ""
@@ -3152,7 +3203,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "無此使用者"
-#: actions/repeat.php:114 lib/noticelist.php:656
+#: actions/repeat.php:114 lib/noticelist.php:674
#, fuzzy
msgid "Repeated"
msgstr "新增"
@@ -3162,47 +3213,47 @@ msgstr "新增"
msgid "Repeated!"
msgstr "新增"
-#: actions/replies.php:125 actions/repliesrss.php:68
+#: actions/replies.php:126 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105
#, php-format
msgid "Replies to %s"
msgstr ""
-#: actions/replies.php:127
+#: actions/replies.php:128
#, fuzzy, php-format
msgid "Replies to %1$s, page %2$d"
msgstr "&s的微型部è½æ ¼"
-#: actions/replies.php:144
+#: actions/replies.php:145
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 1.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/replies.php:151
+#: actions/replies.php:152
#, fuzzy, php-format
msgid "Replies feed for %s (RSS 2.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/replies.php:158
+#: actions/replies.php:159
#, fuzzy, php-format
msgid "Replies feed for %s (Atom)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/replies.php:198
+#: actions/replies.php:199
#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-#: actions/replies.php:203
+#: actions/replies.php:204
#, php-format
msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
-#: actions/replies.php:205
+#: actions/replies.php:206
#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
@@ -3214,6 +3265,15 @@ msgstr ""
msgid "Replies to %1$s on %2$s!"
msgstr "&s的微型部è½æ ¼"
+#: actions/revokerole.php:75
+#, fuzzy
+msgid "You cannot revoke user roles on this site."
+msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
+
+#: actions/revokerole.php:82
+msgid "User doesn't have this role."
+msgstr ""
+
#: actions/rsd.php:146 actions/version.php:157
#, fuzzy
msgid "StatusNet"
@@ -3228,8 +3288,9 @@ msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
msgid "User is already sandboxed."
msgstr ""
+#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
-#: lib/adminpanelaction.php:336
+#: lib/adminpanelaction.php:390
msgid "Sessions"
msgstr ""
@@ -3253,8 +3314,8 @@ msgstr ""
msgid "Turn on debugging output for sessions."
msgstr ""
-#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:336
-#: actions/useradminpanel.php:293
+#: actions/sessionsadminpanel.php:199 actions/siteadminpanel.php:292
+#: actions/useradminpanel.php:294
#, fuzzy
msgid "Save site settings"
msgstr "線上å³æ™‚通設定"
@@ -3288,8 +3349,8 @@ msgstr "地點"
msgid "Description"
msgstr "所有訂閱"
-#: actions/showapplication.php:192 actions/showgroup.php:429
-#: lib/profileaction.php:174
+#: actions/showapplication.php:192 actions/showgroup.php:438
+#: lib/profileaction.php:176
msgid "Statistics"
msgstr ""
@@ -3349,35 +3410,35 @@ msgstr "%s與好å‹"
msgid "Could not retrieve favorite notices."
msgstr ""
-#: actions/showfavorites.php:170
+#: actions/showfavorites.php:171
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/showfavorites.php:177
+#: actions/showfavorites.php:178
#, fuzzy, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/showfavorites.php:184
+#: actions/showfavorites.php:185
#, fuzzy, php-format
msgid "Feed for favorites of %s (Atom)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/showfavorites.php:205
+#: actions/showfavorites.php:206
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-#: actions/showfavorites.php:207
+#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:211
+#: actions/showfavorites.php:212
#, php-format
msgid ""
"%s hasn't added any notices to his favorites yet. Why not [register an "
@@ -3385,7 +3446,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
-#: actions/showfavorites.php:242
+#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
msgstr ""
@@ -3399,70 +3460,70 @@ msgstr ""
msgid "%1$s group, page %2$d"
msgstr "所有訂閱"
-#: actions/showgroup.php:218
+#: actions/showgroup.php:226
#, fuzzy
msgid "Group profile"
msgstr "無此通知"
-#: actions/showgroup.php:263 actions/tagother.php:118
+#: actions/showgroup.php:271 actions/tagother.php:118
#: actions/userauthorization.php:175 lib/userprofile.php:177
msgid "URL"
msgstr ""
-#: actions/showgroup.php:274 actions/tagother.php:128
+#: actions/showgroup.php:282 actions/tagother.php:128
#: actions/userauthorization.php:187 lib/userprofile.php:194
msgid "Note"
msgstr ""
-#: actions/showgroup.php:284 lib/groupeditform.php:184
+#: actions/showgroup.php:292 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
-#: actions/showgroup.php:293
+#: actions/showgroup.php:301
msgid "Group actions"
msgstr ""
-#: actions/showgroup.php:328
+#: actions/showgroup.php:337
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
msgstr ""
-#: actions/showgroup.php:334
+#: actions/showgroup.php:343
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
msgstr ""
-#: actions/showgroup.php:340
+#: actions/showgroup.php:349
#, php-format
msgid "Notice feed for %s group (Atom)"
msgstr ""
-#: actions/showgroup.php:345
+#: actions/showgroup.php:354
#, fuzzy, php-format
msgid "FOAF for %s group"
msgstr "無此通知"
-#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91
+#: actions/showgroup.php:390 actions/showgroup.php:447 lib/groupnav.php:91
#, fuzzy
msgid "Members"
msgstr "何時加入會員的呢?"
-#: actions/showgroup.php:386 lib/profileaction.php:117
-#: lib/profileaction.php:148 lib/profileaction.php:236 lib/section.php:95
+#: actions/showgroup.php:395 lib/profileaction.php:117
+#: lib/profileaction.php:150 lib/profileaction.php:238 lib/section.php:95
#: lib/subscriptionlist.php:126 lib/tagcloudsection.php:71
msgid "(None)"
msgstr ""
-#: actions/showgroup.php:392
+#: actions/showgroup.php:401
msgid "All members"
msgstr ""
-#: actions/showgroup.php:432
+#: actions/showgroup.php:441
#, fuzzy
msgid "Created"
msgstr "新增"
-#: actions/showgroup.php:448
+#: actions/showgroup.php:457
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3472,7 +3533,7 @@ msgid ""
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-#: actions/showgroup.php:454
+#: actions/showgroup.php:463
#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
@@ -3481,7 +3542,7 @@ msgid ""
"their life and interests. "
msgstr ""
-#: actions/showgroup.php:482
+#: actions/showgroup.php:491
msgid "Admins"
msgstr ""
@@ -3592,149 +3653,137 @@ msgid "User is already silenced."
msgstr ""
#: actions/siteadminpanel.php:69
-msgid "Basic settings for this StatusNet site."
+msgid "Basic settings for this StatusNet site"
msgstr ""
-#: actions/siteadminpanel.php:132
+#: actions/siteadminpanel.php:133
msgid "Site name must have non-zero length."
msgstr ""
-#: actions/siteadminpanel.php:140
+#: actions/siteadminpanel.php:141
#, fuzzy
msgid "You must have a valid contact email address."
msgstr "此信箱無效"
-#: actions/siteadminpanel.php:158
+#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr ""
#: actions/siteadminpanel.php:165
-msgid "Invalid snapshot report URL."
-msgstr ""
-
-#: actions/siteadminpanel.php:171
-msgid "Invalid snapshot run value."
-msgstr ""
-
-#: actions/siteadminpanel.php:177
-msgid "Snapshot frequency must be a number."
-msgstr ""
-
-#: actions/siteadminpanel.php:183
msgid "Minimum text limit is 140 characters."
msgstr ""
-#: actions/siteadminpanel.php:189
+#: actions/siteadminpanel.php:171
msgid "Dupe limit must 1 or more seconds."
msgstr ""
-#: actions/siteadminpanel.php:239
+#: actions/siteadminpanel.php:221
msgid "General"
msgstr ""
-#: actions/siteadminpanel.php:242
+#: actions/siteadminpanel.php:224
#, fuzzy
msgid "Site name"
msgstr "新訊æ¯"
-#: actions/siteadminpanel.php:243
+#: actions/siteadminpanel.php:225
msgid "The name of your site, like \"Yourcompany Microblog\""
msgstr ""
-#: actions/siteadminpanel.php:247
+#: actions/siteadminpanel.php:229
msgid "Brought by"
msgstr ""
-#: actions/siteadminpanel.php:248
+#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:252
+#: actions/siteadminpanel.php:234
msgid "Brought by URL"
msgstr ""
-#: actions/siteadminpanel.php:253
+#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
msgstr ""
-#: actions/siteadminpanel.php:257
+#: actions/siteadminpanel.php:239
#, fuzzy
msgid "Contact email address for your site"
msgstr "查無此使用者所註冊的信箱"
-#: actions/siteadminpanel.php:263
+#: actions/siteadminpanel.php:245
#, fuzzy
msgid "Local"
msgstr "地點"
-#: actions/siteadminpanel.php:274
+#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
-#: actions/siteadminpanel.php:275
+#: actions/siteadminpanel.php:257
msgid "Default timezone for the site; usually UTC."
msgstr ""
-#: actions/siteadminpanel.php:281
-msgid "Default site language"
+#: actions/siteadminpanel.php:262
+msgid "Default language"
msgstr ""
-#: actions/siteadminpanel.php:289
-msgid "Snapshots"
-msgstr ""
-
-#: actions/siteadminpanel.php:292
-msgid "Randomly during Web hit"
+#: actions/siteadminpanel.php:263
+msgid "Site language when autodetection from browser settings is not available"
msgstr ""
-#: actions/siteadminpanel.php:293
-msgid "In a scheduled job"
+#: actions/siteadminpanel.php:271
+msgid "Limits"
msgstr ""
-#: actions/siteadminpanel.php:295
-msgid "Data snapshots"
+#: actions/siteadminpanel.php:274
+msgid "Text limit"
msgstr ""
-#: actions/siteadminpanel.php:296
-msgid "When to send statistical data to status.net servers"
+#: actions/siteadminpanel.php:274
+msgid "Maximum number of characters for notices."
msgstr ""
-#: actions/siteadminpanel.php:301
-msgid "Frequency"
+#: actions/siteadminpanel.php:278
+msgid "Dupe limit"
msgstr ""
-#: actions/siteadminpanel.php:302
-msgid "Snapshots will be sent once every N web hits"
+#: actions/siteadminpanel.php:278
+msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
-#: actions/siteadminpanel.php:307
-msgid "Report URL"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:56
+#, fuzzy
+msgid "Site Notice"
+msgstr "新訊æ¯"
-#: actions/siteadminpanel.php:308
-msgid "Snapshots will be sent to this URL"
+#: actions/sitenoticeadminpanel.php:67
+msgid "Edit site-wide message"
msgstr ""
-#: actions/siteadminpanel.php:315
-msgid "Limits"
-msgstr ""
+#: actions/sitenoticeadminpanel.php:103
+#, fuzzy
+msgid "Unable to save site notice."
+msgstr "新訊æ¯"
-#: actions/siteadminpanel.php:318
-msgid "Text limit"
+#: actions/sitenoticeadminpanel.php:113
+msgid "Max length for the site-wide notice is 255 chars"
msgstr ""
-#: actions/siteadminpanel.php:318
-msgid "Maximum number of characters for notices."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:176
+#, fuzzy
+msgid "Site notice text"
+msgstr "新訊æ¯"
-#: actions/siteadminpanel.php:322
-msgid "Dupe limit"
+#: actions/sitenoticeadminpanel.php:178
+msgid "Site-wide notice text (255 chars max; HTML okay)"
msgstr ""
-#: actions/siteadminpanel.php:322
-msgid "How long users must wait (in seconds) to post the same thing again."
-msgstr ""
+#: actions/sitenoticeadminpanel.php:198
+#, fuzzy
+msgid "Save site notice"
+msgstr "新訊æ¯"
#: actions/smssettings.php:58
#, fuzzy
@@ -3831,6 +3880,66 @@ msgstr ""
msgid "No code entered"
msgstr ""
+#. TRANS: Menu item for site administration
+#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
+#: lib/adminpanelaction.php:406
+msgid "Snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:65
+#, fuzzy
+msgid "Manage snapshot configuration"
+msgstr "確èªä¿¡ç®±"
+
+#: actions/snapshotadminpanel.php:127
+msgid "Invalid snapshot run value."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:133
+msgid "Snapshot frequency must be a number."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:144
+msgid "Invalid snapshot report URL."
+msgstr ""
+
+#: actions/snapshotadminpanel.php:200
+msgid "Randomly during Web hit"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:201
+msgid "In a scheduled job"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:206
+msgid "Data snapshots"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:208
+msgid "When to send statistical data to status.net servers"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:217
+msgid "Frequency"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:218
+msgid "Snapshots will be sent once every N web hits"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:226
+msgid "Report URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:227
+msgid "Snapshots will be sent to this URL"
+msgstr ""
+
+#: actions/snapshotadminpanel.php:248
+#, fuzzy
+msgid "Save snapshot settings"
+msgstr "線上å³æ™‚通設定"
+
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
msgstr ""
@@ -3939,22 +4048,22 @@ msgstr "查無此Jabber ID"
msgid "SMS"
msgstr ""
-#: actions/tag.php:68
+#: actions/tag.php:69
#, fuzzy, php-format
msgid "Notices tagged with %1$s, page %2$d"
msgstr "&s的微型部è½æ ¼"
-#: actions/tag.php:86
+#: actions/tag.php:87
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
msgstr ""
-#: actions/tag.php:92
+#: actions/tag.php:93
#, fuzzy, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
msgstr "發é€çµ¦%s好å‹çš„訂閱"
-#: actions/tag.php:98
+#: actions/tag.php:99
#, php-format
msgid "Notice feed for tag %s (Atom)"
msgstr ""
@@ -4008,7 +4117,7 @@ msgstr ""
msgid "No such tag."
msgstr "無此通知"
-#: actions/twitapitrends.php:87
+#: actions/twitapitrends.php:85
msgid "API method under construction."
msgstr ""
@@ -4035,78 +4144,79 @@ msgstr "無確èªè«‹æ±‚"
msgid "Unsubscribed"
msgstr "此帳號已註冊"
-#: actions/updateprofile.php:62 actions/userauthorization.php:337
+#: actions/updateprofile.php:64 actions/userauthorization.php:337
#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
-#: lib/personalgroupnav.php:115
+#. TRANS: User admin panel title
+#: actions/useradminpanel.php:59
+msgctxt "TITLE"
msgid "User"
msgstr ""
-#: actions/useradminpanel.php:69
+#: actions/useradminpanel.php:70
msgid "User settings for this StatusNet site."
msgstr ""
-#: actions/useradminpanel.php:148
+#: actions/useradminpanel.php:149
msgid "Invalid bio limit. Must be numeric."
msgstr ""
-#: actions/useradminpanel.php:154
+#: actions/useradminpanel.php:155
msgid "Invalid welcome text. Max length is 255 characters."
msgstr ""
-#: actions/useradminpanel.php:164
+#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
msgstr ""
-#: actions/useradminpanel.php:217 lib/accountsettingsaction.php:108
+#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
msgid "Profile"
msgstr ""
-#: actions/useradminpanel.php:221
+#: actions/useradminpanel.php:222
msgid "Bio Limit"
msgstr ""
-#: actions/useradminpanel.php:222
+#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
msgstr ""
-#: actions/useradminpanel.php:230
+#: actions/useradminpanel.php:231
msgid "New users"
msgstr ""
-#: actions/useradminpanel.php:234
+#: actions/useradminpanel.php:235
msgid "New user welcome"
msgstr ""
-#: actions/useradminpanel.php:235
+#: actions/useradminpanel.php:236
msgid "Welcome text for new users (Max 255 chars)."
msgstr ""
-#: actions/useradminpanel.php:240
+#: actions/useradminpanel.php:241
#, fuzzy
msgid "Default subscription"
msgstr "所有訂閱"
-#: actions/useradminpanel.php:241
+#: actions/useradminpanel.php:242
msgid "Automatically subscribe new users to this user."
msgstr ""
-#: actions/useradminpanel.php:250
+#: actions/useradminpanel.php:251
#, fuzzy
msgid "Invitations"
msgstr "地點"
-#: actions/useradminpanel.php:255
+#: actions/useradminpanel.php:256
msgid "Invitations enabled"
msgstr ""
-#: actions/useradminpanel.php:257
+#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
@@ -4227,16 +4337,22 @@ msgstr "所有訂閱"
msgid "Search for more groups"
msgstr ""
-#: actions/usergroups.php:153
+#: actions/usergroups.php:157
#, php-format
msgid "%s is not a member of any group."
msgstr ""
-#: actions/usergroups.php:158
+#: actions/usergroups.php:162
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
+#: actions/userrss.php:95 lib/atomgroupnoticefeed.php:66
+#: lib/atomusernoticefeed.php:72
+#, php-format
+msgid "Updates from %1$s on %2$s!"
+msgstr ""
+
#: actions/version.php:73
#, php-format
msgid "StatusNet %s"
@@ -4280,7 +4396,7 @@ msgstr ""
msgid "Plugins"
msgstr ""
-#: actions/version.php:196 lib/action.php:747
+#: actions/version.php:196 lib/action.php:767
#, fuzzy
msgid "Version"
msgstr "地點"
@@ -4321,6 +4437,11 @@ msgstr "無法更新使用者"
msgid "Group leave failed."
msgstr "無此通知"
+#: classes/Local_group.php:41
+#, fuzzy
+msgid "Could not update local group."
+msgstr "無法更新使用者"
+
#: classes/Login_token.php:76
#, fuzzy, php-format
msgid "Could not create login token for %s"
@@ -4338,46 +4459,46 @@ msgstr ""
msgid "Could not update message with new URI."
msgstr ""
-#: classes/Notice.php:157
+#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
-#: classes/Notice.php:222
+#: classes/Notice.php:241
#, fuzzy
msgid "Problem saving notice. Too long."
msgstr "儲存使用者發生錯誤"
-#: classes/Notice.php:226
+#: classes/Notice.php:245
#, fuzzy
msgid "Problem saving notice. Unknown user."
msgstr "儲存使用者發生錯誤"
-#: classes/Notice.php:231
+#: classes/Notice.php:250
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
-#: classes/Notice.php:237
+#: classes/Notice.php:256
msgid ""
"Too many duplicate messages too quickly; take a breather and post again in a "
"few minutes."
msgstr ""
-#: classes/Notice.php:243
+#: classes/Notice.php:262
msgid "You are banned from posting notices on this site."
msgstr ""
-#: classes/Notice.php:309 classes/Notice.php:335
+#: classes/Notice.php:328 classes/Notice.php:354
msgid "Problem saving notice."
msgstr ""
-#: classes/Notice.php:882
+#: classes/Notice.php:927
#, fuzzy
msgid "Problem saving group inbox."
msgstr "儲存使用者發生錯誤"
-#: classes/Notice.php:1407
+#: classes/Notice.php:1459
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -4404,25 +4525,40 @@ msgstr "此帳號已註冊"
msgid "Couldn't delete self-subscription."
msgstr "無法刪除帳號"
-#: classes/Subscription.php:179 lib/subs.php:69
+#: classes/Subscription.php:190
+#, fuzzy
+msgid "Couldn't delete subscription OMB token."
+msgstr "無法刪除帳號"
+
+#: classes/Subscription.php:201 lib/subs.php:69
msgid "Couldn't delete subscription."
msgstr "無法刪除帳號"
-#: classes/User.php:372
+#: classes/User.php:373
#, php-format
msgid "Welcome to %1$s, @%2$s!"
msgstr ""
-#: classes/User_group.php:423
+#: classes/User_group.php:477
#, fuzzy
msgid "Could not create group."
msgstr "無法存å–個人圖åƒè³‡æ–™"
-#: classes/User_group.php:452
+#: classes/User_group.php:486
+#, fuzzy
+msgid "Could not set group URI."
+msgstr "註冊失敗"
+
+#: classes/User_group.php:507
#, fuzzy
msgid "Could not set group membership."
msgstr "註冊失敗"
+#: classes/User_group.php:521
+#, fuzzy
+msgid "Could not save local group info."
+msgstr "註冊失敗"
+
#: lib/accountsettingsaction.php:108
msgid "Change your profile settings"
msgstr ""
@@ -4462,129 +4598,183 @@ msgstr "%1$s的狀態是%2$s"
msgid "Untitled page"
msgstr ""
-#: lib/action.php:433
+#: lib/action.php:424
msgid "Primary site navigation"
msgstr ""
-#: lib/action.php:439
-msgid "Home"
-msgstr "主é "
-
-#: lib/action.php:439
+#. TRANS: Tooltip for main menu option "Personal"
+#: lib/action.php:430
+msgctxt "TOOLTIP"
msgid "Personal profile and friends timeline"
msgstr ""
-#: lib/action.php:441
-msgid "Change your email, avatar, password, profile"
-msgstr ""
+#: lib/action.php:433
+#, fuzzy
+msgctxt "MENU"
+msgid "Personal"
+msgstr "地點"
-#: lib/action.php:444
-msgid "Connect"
-msgstr "連çµ"
+#. TRANS: Tooltip for main menu option "Account"
+#: lib/action.php:435
+#, fuzzy
+msgctxt "TOOLTIP"
+msgid "Change your email, avatar, password, profile"
+msgstr "更改密碼"
-#: lib/action.php:444
+#. TRANS: Tooltip for main menu option "Services"
+#: lib/action.php:440
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Connect to services"
msgstr "無法連çµåˆ°ä¼ºæœå™¨:%s"
-#: lib/action.php:448
+#: lib/action.php:443
+msgid "Connect"
+msgstr "連çµ"
+
+#. TRANS: Tooltip for menu option "Admin"
+#: lib/action.php:446
+#, fuzzy
+msgctxt "TOOLTIP"
msgid "Change site configuration"
-msgstr ""
+msgstr "確èªä¿¡ç®±"
-#: lib/action.php:452 lib/subgroupnav.php:105
-msgid "Invite"
+#: lib/action.php:449
+msgctxt "MENU"
+msgid "Admin"
msgstr ""
-#: lib/action.php:453 lib/subgroupnav.php:106
+#. TRANS: Tooltip for main menu option "Invite"
+#: lib/action.php:453
#, php-format
+msgctxt "TOOLTIP"
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
-#: lib/action.php:458
-msgid "Logout"
-msgstr "登出"
+#: lib/action.php:456
+#, fuzzy
+msgctxt "MENU"
+msgid "Invite"
+msgstr "尺寸錯誤"
-#: lib/action.php:458
+#. TRANS: Tooltip for main menu option "Logout"
+#: lib/action.php:462
+msgctxt "TOOLTIP"
msgid "Logout from the site"
msgstr ""
-#: lib/action.php:463
+#: lib/action.php:465
+#, fuzzy
+msgctxt "MENU"
+msgid "Logout"
+msgstr "登出"
+
+#. TRANS: Tooltip for main menu option "Register"
+#: lib/action.php:470
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Create an account"
msgstr "新增帳號"
-#: lib/action.php:466
+#: lib/action.php:473
+#, fuzzy
+msgctxt "MENU"
+msgid "Register"
+msgstr "所有訂閱"
+
+#. TRANS: Tooltip for main menu option "Login"
+#: lib/action.php:476
+msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: lib/action.php:469 lib/action.php:732
-msgid "Help"
-msgstr "求救"
+#: lib/action.php:479
+#, fuzzy
+msgctxt "MENU"
+msgid "Login"
+msgstr "登入"
-#: lib/action.php:469
+#. TRANS: Tooltip for main menu option "Help"
+#: lib/action.php:482
#, fuzzy
+msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "求救"
-#: lib/action.php:472 lib/searchaction.php:127
-msgid "Search"
-msgstr ""
+#: lib/action.php:485
+#, fuzzy
+msgctxt "MENU"
+msgid "Help"
+msgstr "求救"
-#: lib/action.php:472
+#. TRANS: Tooltip for main menu option "Search"
+#: lib/action.php:488
+msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: lib/action.php:493
+#: lib/action.php:491
+msgctxt "MENU"
+msgid "Search"
+msgstr ""
+
+#. TRANS: DT element for site notice. String is hidden in default CSS.
+#. TRANS: Menu item for site administration
+#: lib/action.php:513 lib/adminpanelaction.php:398
#, fuzzy
msgid "Site notice"
msgstr "新訊æ¯"
-#: lib/action.php:559
+#: lib/action.php:579
msgid "Local views"
msgstr ""
-#: lib/action.php:625
+#: lib/action.php:645
#, fuzzy
msgid "Page notice"
msgstr "新訊æ¯"
-#: lib/action.php:727
+#: lib/action.php:747
msgid "Secondary site navigation"
msgstr ""
-#: lib/action.php:734
+#: lib/action.php:752
+msgid "Help"
+msgstr "求救"
+
+#: lib/action.php:754
msgid "About"
msgstr "關於"
-#: lib/action.php:736
+#: lib/action.php:756
msgid "FAQ"
msgstr "常見å•é¡Œ"
-#: lib/action.php:740
+#: lib/action.php:760
msgid "TOS"
msgstr ""
-#: lib/action.php:743
+#: lib/action.php:763
msgid "Privacy"
msgstr ""
-#: lib/action.php:745
+#: lib/action.php:765
msgid "Source"
msgstr ""
-#: lib/action.php:749
+#: lib/action.php:769
msgid "Contact"
msgstr "好å‹åå–®"
-#: lib/action.php:751
+#: lib/action.php:771
msgid "Badge"
msgstr ""
-#: lib/action.php:779
+#: lib/action.php:799
msgid "StatusNet software license"
msgstr ""
-#: lib/action.php:782
+#: lib/action.php:802
#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
@@ -4593,12 +4783,12 @@ msgstr ""
"**%%site.name%%**是由[%%site.broughtby%%](%%site.broughtbyurl%%)所æ供的微型"
"部è½æ ¼æœå‹™"
-#: lib/action.php:784
+#: lib/action.php:804
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%**是個微型部è½æ ¼"
-#: lib/action.php:786
+#: lib/action.php:806
#, php-format
msgid ""
"It runs the [StatusNet](http://status.net/) microblogging software, version %"
@@ -4606,113 +4796,155 @@ msgid ""
"org/licensing/licenses/agpl-3.0.html)."
msgstr ""
-#: lib/action.php:801
+#: lib/action.php:821
#, fuzzy
msgid "Site content license"
msgstr "新訊æ¯"
-#: lib/action.php:806
+#: lib/action.php:826
#, php-format
msgid "Content and data of %1$s are private and confidential."
msgstr ""
-#: lib/action.php:811
+#: lib/action.php:831
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
-#: lib/action.php:814
+#: lib/action.php:834
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
-#: lib/action.php:827
+#: lib/action.php:847
msgid "All "
msgstr ""
-#: lib/action.php:833
+#: lib/action.php:853
msgid "license."
msgstr ""
-#: lib/action.php:1132
+#: lib/action.php:1152
msgid "Pagination"
msgstr ""
-#: lib/action.php:1141
+#: lib/action.php:1161
msgid "After"
msgstr ""
-#: lib/action.php:1149
+#: lib/action.php:1169
#, fuzzy
msgid "Before"
msgstr "之å‰çš„內容»"
-#: lib/activity.php:382
+#: lib/activity.php:453
msgid "Can't handle remote content yet."
msgstr ""
-#: lib/activity.php:410
+#: lib/activity.php:481
msgid "Can't handle embedded XML content yet."
msgstr ""
-#: lib/activity.php:414
+#: lib/activity.php:485
msgid "Can't handle embedded Base64 content yet."
msgstr ""
-#: lib/adminpanelaction.php:96
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:98
msgid "You cannot make changes to this site."
msgstr ""
-#: lib/adminpanelaction.php:107
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:110
msgid "Changes to that panel are not allowed."
msgstr ""
-#: lib/adminpanelaction.php:206
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:229
msgid "showForm() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:235
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:259
msgid "saveSettings() not implemented."
msgstr ""
-#: lib/adminpanelaction.php:258
+#. TRANS: Client error message
+#: lib/adminpanelaction.php:283
msgid "Unable to delete design setting."
msgstr ""
-#: lib/adminpanelaction.php:312
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:348
#, fuzzy
msgid "Basic site configuration"
msgstr "確èªä¿¡ç®±"
-#: lib/adminpanelaction.php:317
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:350
+#, fuzzy
+msgctxt "MENU"
+msgid "Site"
+msgstr "新訊æ¯"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:356
#, fuzzy
msgid "Design configuration"
msgstr "確èªä¿¡ç®±"
-#: lib/adminpanelaction.php:322
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:358
+#, fuzzy
+msgctxt "MENU"
+msgid "Design"
+msgstr "地點"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:364
#, fuzzy
msgid "User configuration"
msgstr "確èªä¿¡ç®±"
-#: lib/adminpanelaction.php:327
+#. TRANS: Menu item for site administration
+#: lib/adminpanelaction.php:366 lib/personalgroupnav.php:115
+msgid "User"
+msgstr ""
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:372
#, fuzzy
msgid "Access configuration"
msgstr "確èªä¿¡ç®±"
-#: lib/adminpanelaction.php:332
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:380
#, fuzzy
msgid "Paths configuration"
msgstr "確èªä¿¡ç®±"
-#: lib/adminpanelaction.php:337
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:388
#, fuzzy
msgid "Sessions configuration"
msgstr "確èªä¿¡ç®±"
-#: lib/apiauth.php:95
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:396
+#, fuzzy
+msgid "Edit site notice"
+msgstr "新訊æ¯"
+
+#. TRANS: Menu item title/tooltip
+#: lib/adminpanelaction.php:404
+#, fuzzy
+msgid "Snapshots configuration"
+msgstr "確èªä¿¡ç®±"
+
+#: lib/apiauth.php:94
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
-#: lib/apiauth.php:273
+#: lib/apiauth.php:272
#, php-format
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
msgstr ""
@@ -4803,11 +5035,11 @@ msgstr ""
msgid "Tags for this attachment"
msgstr ""
-#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
+#: lib/authenticationplugin.php:220 lib/authenticationplugin.php:225
msgid "Password changing failed"
msgstr ""
-#: lib/authenticationplugin.php:233
+#: lib/authenticationplugin.php:235
msgid "Password changing is not allowed"
msgstr ""
@@ -4893,12 +5125,12 @@ msgstr "%1$s的狀態是%2$s"
msgid "Fullname: %s"
msgstr "å…¨å"
-#: lib/command.php:312 lib/mail.php:254
+#: lib/command.php:312 lib/mail.php:258
#, php-format
msgid "Location: %s"
msgstr ""
-#: lib/command.php:315 lib/mail.php:256
+#: lib/command.php:315 lib/mail.php:260
#, php-format
msgid "Homepage: %s"
msgstr ""
@@ -5085,20 +5317,20 @@ msgid ""
"tracking - not yet implemented.\n"
msgstr ""
-#: lib/common.php:136
+#: lib/common.php:148
#, fuzzy
msgid "No configuration file found. "
msgstr "無確èªç¢¼"
-#: lib/common.php:137
+#: lib/common.php:149
msgid "I looked for configuration files in the following places: "
msgstr ""
-#: lib/common.php:139
+#: lib/common.php:151
msgid "You may wish to run the installer to fix this."
msgstr ""
-#: lib/common.php:140
+#: lib/common.php:152
msgid "Go to the installer."
msgstr ""
@@ -5198,6 +5430,11 @@ msgstr ""
msgid "Go"
msgstr ""
+#: lib/grantroleform.php:91
+#, php-format
+msgid "Grant this user the \"%s\" role"
+msgstr ""
+
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
msgstr ""
@@ -5290,24 +5527,24 @@ msgstr ""
msgid "Not an image or corrupt file."
msgstr ""
-#: lib/imagefile.php:105
+#: lib/imagefile.php:109
msgid "Unsupported image file format."
msgstr ""
-#: lib/imagefile.php:118
+#: lib/imagefile.php:122
#, fuzzy
msgid "Lost our file."
msgstr "無此通知"
-#: lib/imagefile.php:150 lib/imagefile.php:197
+#: lib/imagefile.php:166 lib/imagefile.php:231
msgid "Unknown file type"
msgstr ""
-#: lib/imagefile.php:217
+#: lib/imagefile.php:251
msgid "MB"
msgstr ""
-#: lib/imagefile.php:219
+#: lib/imagefile.php:253
msgid "kB"
msgstr ""
@@ -5340,11 +5577,11 @@ msgstr "使用者å稱或密碼無效"
msgid "Sign up for a new account"
msgstr "新增帳號"
-#: lib/mail.php:172
+#: lib/mail.php:173
msgid "Email address confirmation"
msgstr "確èªä¿¡ç®±"
-#: lib/mail.php:174
+#: lib/mail.php:175
#, php-format
msgid ""
"Hey, %s.\n"
@@ -5361,12 +5598,12 @@ msgid ""
"%s\n"
msgstr ""
-#: lib/mail.php:236
+#: lib/mail.php:240
#, php-format
msgid "%1$s is now listening to your notices on %2$s."
msgstr "ç¾åœ¨%1$s在%2$sæˆç‚ºä½ çš„粉絲囉"
-#: lib/mail.php:241
+#: lib/mail.php:245
#, fuzzy, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
@@ -5388,17 +5625,17 @@ msgstr ""
"%4$s.\n"
"敬上。\n"
-#: lib/mail.php:258
+#: lib/mail.php:262
#, fuzzy, php-format
msgid "Bio: %s"
msgstr "自我介紹"
-#: lib/mail.php:286
+#: lib/mail.php:290
#, php-format
msgid "New email address for posting to %s"
msgstr ""
-#: lib/mail.php:289
+#: lib/mail.php:293
#, php-format
msgid ""
"You have a new posting address on %1$s.\n"
@@ -5411,21 +5648,21 @@ msgid ""
"%4$s"
msgstr ""
-#: lib/mail.php:413
+#: lib/mail.php:417
#, php-format
msgid "%s status"
msgstr ""
-#: lib/mail.php:439
+#: lib/mail.php:443
msgid "SMS confirmation"
msgstr ""
-#: lib/mail.php:463
+#: lib/mail.php:467
#, php-format
msgid "You've been nudged by %s"
msgstr ""
-#: lib/mail.php:467
+#: lib/mail.php:471
#, php-format
msgid ""
"%1$s (%2$s) is wondering what you are up to these days and is inviting you "
@@ -5441,12 +5678,12 @@ msgid ""
"%4$s\n"
msgstr ""
-#: lib/mail.php:510
+#: lib/mail.php:517
#, php-format
msgid "New private message from %s"
msgstr ""
-#: lib/mail.php:514
+#: lib/mail.php:521
#, php-format
msgid ""
"%1$s (%2$s) sent you a private message:\n"
@@ -5465,12 +5702,12 @@ msgid ""
"%5$s\n"
msgstr ""
-#: lib/mail.php:559
+#: lib/mail.php:568
#, fuzzy, php-format
msgid "%s (@%s) added your notice as a favorite"
msgstr "ç¾åœ¨%1$s在%2$sæˆç‚ºä½ çš„粉絲囉"
-#: lib/mail.php:561
+#: lib/mail.php:570
#, php-format
msgid ""
"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n"
@@ -5491,12 +5728,12 @@ msgid ""
"%6$s\n"
msgstr ""
-#: lib/mail.php:624
+#: lib/mail.php:635
#, php-format
msgid "%s (@%s) sent a notice to your attention"
msgstr ""
-#: lib/mail.php:626
+#: lib/mail.php:637
#, php-format
msgid ""
"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n"
@@ -5612,6 +5849,11 @@ msgstr ""
msgid "Available characters"
msgstr "6個以上字元"
+#: lib/messageform.php:178 lib/noticeform.php:236
+msgctxt "Send button for sending notice"
+msgid "Send"
+msgstr ""
+
#: lib/noticeform.php:160
#, fuzzy
msgid "Send a notice"
@@ -5671,25 +5913,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:558
+#: lib/noticelist.php:566
#, fuzzy
msgid "in context"
msgstr "無內容"
-#: lib/noticelist.php:583
+#: lib/noticelist.php:601
#, fuzzy
msgid "Repeated by"
msgstr "新增"
-#: lib/noticelist.php:610
+#: lib/noticelist.php:628
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:611
+#: lib/noticelist.php:629
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:655
+#: lib/noticelist.php:673
#, fuzzy
msgid "Notice repeated"
msgstr "更新個人圖åƒ"
@@ -5764,7 +6006,7 @@ msgstr ""
msgid "Unknown"
msgstr ""
-#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
+#: lib/profileaction.php:109 lib/profileaction.php:194 lib/subgroupnav.php:82
msgid "Subscriptions"
msgstr ""
@@ -5772,24 +6014,24 @@ msgstr ""
msgid "All subscriptions"
msgstr "所有訂閱"
-#: lib/profileaction.php:140 lib/profileaction.php:201 lib/subgroupnav.php:90
+#: lib/profileaction.php:142 lib/profileaction.php:203 lib/subgroupnav.php:90
msgid "Subscribers"
msgstr ""
-#: lib/profileaction.php:157
+#: lib/profileaction.php:159
#, fuzzy
msgid "All subscribers"
msgstr "所有訂閱"
-#: lib/profileaction.php:178
+#: lib/profileaction.php:180
msgid "User ID"
msgstr ""
-#: lib/profileaction.php:183
+#: lib/profileaction.php:185
msgid "Member since"
msgstr "何時加入會員的呢?"
-#: lib/profileaction.php:245
+#: lib/profileaction.php:247
msgid "All groups"
msgstr ""
@@ -5832,7 +6074,12 @@ msgstr "無此通知"
msgid "Repeat this notice"
msgstr "無此通知"
-#: lib/router.php:665
+#: lib/revokeroleform.php:91
+#, fuzzy, php-format
+msgid "Revoke the \"%s\" role from this user"
+msgstr "無此使用者"
+
+#: lib/router.php:671
msgid "No single user defined for single-user mode."
msgstr ""
@@ -5853,6 +6100,10 @@ msgstr ""
msgid "Keyword(s)"
msgstr ""
+#: lib/searchaction.php:127
+msgid "Search"
+msgstr ""
+
#: lib/searchaction.php:162
msgid "Search help"
msgstr ""
@@ -5906,6 +6157,15 @@ msgstr "此帳號已註冊"
msgid "Groups %s is a member of"
msgstr ""
+#: lib/subgroupnav.php:105
+msgid "Invite"
+msgstr ""
+
+#: lib/subgroupnav.php:106
+#, php-format
+msgid "Invite friends and colleagues to join you on %s"
+msgstr ""
+
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
@@ -5980,47 +6240,62 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:952
+#: lib/userprofile.php:352
+#, fuzzy
+msgid "User role"
+msgstr "無此通知"
+
+#: lib/userprofile.php:354
+msgctxt "role"
+msgid "Administrator"
+msgstr ""
+
+#: lib/userprofile.php:355
+msgctxt "role"
+msgid "Moderator"
+msgstr ""
+
+#: lib/util.php:1015
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:954
+#: lib/util.php:1017
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:956
+#: lib/util.php:1019
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:958
+#: lib/util.php:1021
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:960
+#: lib/util.php:1023
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:962
+#: lib/util.php:1025
msgid "about a day ago"
msgstr ""
-#: lib/util.php:964
+#: lib/util.php:1027
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:966
+#: lib/util.php:1029
msgid "about a month ago"
msgstr ""
-#: lib/util.php:968
+#: lib/util.php:1031
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:970
+#: lib/util.php:1033
msgid "about a year ago"
msgstr ""
diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php
index 84a2cb616..fb8f7306f 100644
--- a/plugins/Blacklist/BlacklistPlugin.php
+++ b/plugins/Blacklist/BlacklistPlugin.php
@@ -22,7 +22,7 @@
* @category Action
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
- * @copyright 2009 StatusNet Inc.
+ * @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/
*/
@@ -47,6 +47,55 @@ class BlacklistPlugin extends Plugin
public $nicknames = array();
public $urls = array();
+ public $canAdmin = true;
+
+ private $_nicknamePatterns = array();
+ private $_urlPatterns = array();
+
+ /**
+ * Initialize the plugin
+ *
+ * @return void
+ */
+
+ function initialize()
+ {
+ $confNicknames = $this->_configArray('blacklist', 'nicknames');
+
+ $this->_nicknamePatterns = array_merge($this->nicknames,
+ $confNicknames);
+
+ $confURLs = $this->_configArray('blacklist', 'urls');
+
+ $this->_urlPatterns = array_merge($this->urls,
+ $confURLs);
+ }
+
+ /**
+ * Retrieve an array from configuration
+ *
+ * Carefully checks a section.
+ *
+ * @param string $section Configuration section
+ * @param string $setting Configuration setting
+ *
+ * @return array configuration values
+ */
+
+ function _configArray($section, $setting)
+ {
+ $config = common_config($section, $setting);
+
+ if (empty($config)) {
+ return array();
+ } else if (is_array($config)) {
+ return $config;
+ } else if (is_string($config)) {
+ return explode("\r\n", $config);
+ } else {
+ throw new Exception("Unknown data type for config $section + $setting");
+ }
+ }
/**
* Hook registration to prevent blacklisted homepages or nicknames
@@ -173,7 +222,8 @@ class BlacklistPlugin extends Plugin
private function _checkUrl($url)
{
- foreach ($this->urls as $pattern) {
+ foreach ($this->_urlPatterns as $pattern) {
+ common_debug("Checking $url against $pattern");
if (preg_match("/$pattern/", $url)) {
return false;
}
@@ -194,7 +244,8 @@ class BlacklistPlugin extends Plugin
private function _checkNickname($nickname)
{
- foreach ($this->nicknames as $pattern) {
+ foreach ($this->_nicknamePatterns as $pattern) {
+ common_debug("Checking $nickname against $pattern");
if (preg_match("/$pattern/", $nickname)) {
return false;
}
@@ -203,14 +254,191 @@ class BlacklistPlugin extends Plugin
return true;
}
+ /**
+ * Add our actions to the URL router
+ *
+ * @param Net_URL_Mapper $m URL mapper for this hit
+ *
+ * @return boolean hook return
+ */
+
+ function onRouterInitialized($m)
+ {
+ $m->connect('admin/blacklist', array('action' => 'blacklistadminpanel'));
+ return true;
+ }
+
+ /**
+ * Auto-load our classes if called
+ *
+ * @param string $cls Class to load
+ *
+ * @return boolean hook return
+ */
+
+ function onAutoload($cls)
+ {
+ switch (strtolower($cls))
+ {
+ case 'blacklistadminpanelaction':
+ $base = strtolower(mb_substr($cls, 0, -6));
+ include_once INSTALLDIR.'/plugins/Blacklist/'.$base.'.php';
+ return false;
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * Plugin version data
+ *
+ * @param array &$versions array of version blocks
+ *
+ * @return boolean hook value
+ */
+
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'Blacklist',
'version' => self::VERSION,
'author' => 'Evan Prodromou',
- 'homepage' => 'http://status.net/wiki/Plugin:Blacklist',
+ 'homepage' =>
+ 'http://status.net/wiki/Plugin:Blacklist',
'description' =>
- _m('Keep a blacklist of forbidden nickname and URL patterns.'));
+ _m('Keep a blacklist of forbidden nickname '.
+ 'and URL patterns.'));
+ return true;
+ }
+
+ /**
+ * Determines if our admin panel can be shown
+ *
+ * @param string $name name of the admin panel
+ * @param boolean &$isOK result
+ *
+ * @return boolean hook value
+ */
+
+ function onAdminPanelCheck($name, &$isOK)
+ {
+ if ($name == 'blacklist') {
+ $isOK = $this->canAdmin;
+ return false;
+ }
+
return true;
}
+
+ /**
+ * Add our tab to the admin panel
+ *
+ * @param Widget $nav Admin panel nav
+ *
+ * @return boolean hook value
+ */
+
+ function onEndAdminPanelNav($nav)
+ {
+ if (AdminPanelAction::canAdmin('blacklist')) {
+
+ $action_name = $nav->action->trimmed('action');
+
+ $nav->out->menuItem(common_local_url('blacklistadminpanel'),
+ _('Blacklist'),
+ _('Blacklist configuration'),
+ $action_name == 'blacklistadminpanel',
+ 'nav_blacklist_admin_panel');
+ }
+
+ return true;
+ }
+
+ function onEndDeleteUserForm($action, $user)
+ {
+ $cur = common_current_user();
+
+ if (empty($cur) || !$cur->hasRight(Right::CONFIGURESITE)) {
+ return;
+ }
+
+ $profile = $user->getProfile();
+
+ if (empty($profile)) {
+ return;
+ }
+
+ $action->elementStart('ul', 'form_data');
+ $action->elementStart('li');
+ $this->checkboxAndText($action,
+ 'blacklistnickname',
+ _('Add this nickname pattern to blacklist'),
+ 'blacklistnicknamepattern',
+ $this->patternizeNickname($user->nickname));
+ $action->elementEnd('li');
+
+ if (!empty($profile->homepage)) {
+ $action->elementStart('li');
+ $this->checkboxAndText($action,
+ 'blacklisthomepage',
+ _('Add this homepage pattern to blacklist'),
+ 'blacklisthomepagepattern',
+ $this->patternizeHomepage($profile->homepage));
+ $action->elementEnd('li');
+ }
+
+ $action->elementEnd('ul');
+ }
+
+ function onEndDeleteUser($action, $user)
+ {
+ common_debug("Action args: " . print_r($action->args, true));
+
+ if ($action->boolean('blacklisthomepage')) {
+ $pattern = $action->trimmed('blacklisthomepagepattern');
+ $confURLs = $this->_configArray('blacklist', 'urls');
+ $confURLs[] = $pattern;
+ Config::save('blacklist', 'urls', implode("\r\n", $confURLs));
+ }
+
+ if ($action->boolean('blacklistnickname')) {
+ $pattern = $action->trimmed('blacklistnicknamepattern');
+ $confNicknames = $this->_configArray('blacklist', 'nicknames');
+ $confNicknames[] = $pattern;
+ Config::save('blacklist', 'nicknames', implode("\r\n", $confNicknames));
+ }
+
+ return true;
+ }
+
+ function checkboxAndText($action, $checkID, $label, $textID, $value)
+ {
+ $action->element('input', array('name' => $checkID,
+ 'type' => 'checkbox',
+ 'class' => 'checkbox',
+ 'id' => $checkID));
+
+ $action->text(' ');
+
+ $action->element('label', array('class' => 'checkbox',
+ 'for' => $checkID),
+ $label);
+
+ $action->text(' ');
+
+ $action->element('input', array('name' => $textID,
+ 'type' => 'text',
+ 'id' => $textID,
+ 'value' => $value));
+ }
+
+ function patternizeNickname($nickname)
+ {
+ return $nickname;
+ }
+
+ function patternizeHomepage($homepage)
+ {
+ $hostname = parse_url($homepage, PHP_URL_HOST);
+ return $hostname;
+ }
}
diff --git a/plugins/Blacklist/blacklistadminpanel.php b/plugins/Blacklist/blacklistadminpanel.php
new file mode 100644
index 000000000..98d07080d
--- /dev/null
+++ b/plugins/Blacklist/blacklistadminpanel.php
@@ -0,0 +1,222 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Blacklist 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 Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Administer blacklist
+ *
+ * @category Admin
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link http://status.net/
+ */
+
+class BlacklistadminpanelAction extends AdminPanelAction
+{
+ /**
+ * title of the admin panel
+ *
+ * @return string title
+ */
+
+ function title()
+ {
+ return _('Blacklist');
+ }
+
+ /**
+ * Panel instructions
+ *
+ * @return string instructions
+ */
+
+ function getInstructions()
+ {
+ return _('Blacklisted URLs and nicknames');
+ }
+
+ /**
+ * Show the actual form
+ *
+ * @return void
+ *
+ * @see BlacklistAdminPanelForm
+ */
+
+ function showForm()
+ {
+ $form = new BlacklistAdminPanelForm($this);
+ $form->show();
+ return;
+ }
+
+ /**
+ * Save the form settings
+ *
+ * @return void
+ */
+
+ function saveSettings()
+ {
+ static $settings = array(
+ 'blacklist' => array('nicknames', 'urls'),
+ );
+
+ $values = array();
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ $values[$section][$setting] = $this->trimmed("$section-$setting");
+ }
+ }
+
+ // This throws an exception on validation errors
+
+ $this->validate($values);
+
+ // assert(all values are valid);
+
+ $config = new Config();
+
+ $config->query('BEGIN');
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ Config::save($section, $setting, $values[$section][$setting]);
+ }
+ }
+
+ $config->query('COMMIT');
+
+ return;
+ }
+
+ /**
+ * Validate the values
+ *
+ * @param array &$values 2d array of values to check
+ *
+ * @return boolean success flag
+ */
+
+ function validate(&$values)
+ {
+ return true;
+ }
+}
+
+/**
+ * Admin panel form for blacklist panel
+ *
+ * @category Admin
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
+ * @link http://status.net/
+ */
+
+class BlacklistAdminPanelForm extends Form
+{
+ /**
+ * ID of the form
+ *
+ * @return string ID
+ */
+
+ function id()
+ {
+ return 'blacklistadminpanel';
+ }
+
+ /**
+ * Class of the form
+ *
+ * @return string class
+ */
+
+ function formClass()
+ {
+ return 'form_settings';
+ }
+
+ /**
+ * Action we post to
+ *
+ * @return string action URL
+ */
+
+ function action()
+ {
+ return common_local_url('blacklistadminpanel');
+ }
+
+ /**
+ * Show the form controls
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->elementStart('ul', 'form_data');
+
+ $this->out->elementStart('li');
+ $this->out->textarea('blacklist-nicknames', _m('Nicknames'),
+ common_config('blacklist', 'nicknames'),
+ _('Patterns of nicknames to block, one per line'));
+ $this->out->elementEnd('li');
+
+ $this->out->elementStart('li');
+ $this->out->textarea('blacklist-urls', _m('URLs'),
+ common_config('blacklist', 'urls'),
+ _('Patterns of URLs to block, one per line'));
+ $this->out->elementEnd('li');
+
+ $this->out->elementEnd('ul');
+ }
+
+ /**
+ * Buttons for submitting
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->submit('submit',
+ _('Save'),
+ 'submit',
+ null,
+ _('Save site settings'));
+ }
+}
diff --git a/plugins/BlogspamNetPlugin.php b/plugins/BlogspamNetPlugin.php
index 51236001a..d52e6006a 100644
--- a/plugins/BlogspamNetPlugin.php
+++ b/plugins/BlogspamNetPlugin.php
@@ -72,8 +72,10 @@ class BlogspamNetPlugin extends Plugin
common_debug("Blogspamnet args = " . print_r($args, TRUE));
$requestBody = xmlrpc_encode_request('testComment', array($args));
- $request = HTTPClient::start();
- $httpResponse = $request->post($this->baseUrl, array('Content-Type: text/xml'), $requestBody);
+ $request = new HTTPClient($this->baseUrl, HTTPClient::METHOD_POST);
+ $request->setHeader('Content-Type', 'text/xml');
+ $request->setBody($requestBody);
+ $httpResponse = $request->send();
$response = xmlrpc_decode($httpResponse->getBody());
if (xmlrpc_is_fault($response)) {
@@ -118,7 +120,7 @@ class BlogspamNetPlugin extends Plugin
$args['site'] = common_root_url();
$args['version'] = $this->userAgent();
- $args['options'] = "max-size=140,min-size=0,min-words=0,exclude=bayasian";
+ $args['options'] = "max-size=" . common_config('site','textlimit') . ",min-size=0,min-words=0,exclude=bayasian";
return $args;
}
diff --git a/plugins/CasAuthentication/CasAuthenticationPlugin.php b/plugins/CasAuthentication/CasAuthenticationPlugin.php
index 483b060ab..203e5fe42 100644
--- a/plugins/CasAuthentication/CasAuthenticationPlugin.php
+++ b/plugins/CasAuthentication/CasAuthenticationPlugin.php
@@ -137,6 +137,7 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
$casSettings['server']=$this->server;
$casSettings['port']=$this->port;
$casSettings['path']=$this->path;
+ $casSettings['takeOverLogin']=$this->takeOverLogin;
}
function onPluginVersion(&$versions)
diff --git a/plugins/CasAuthentication/caslogin.php b/plugins/CasAuthentication/caslogin.php
index 390a75d8b..a66774dc1 100644
--- a/plugins/CasAuthentication/caslogin.php
+++ b/plugins/CasAuthentication/caslogin.php
@@ -54,9 +54,18 @@ class CasloginAction extends Action
// We don't have to return to it again
common_set_returnto(null);
} else {
- $url = common_local_url('all',
- array('nickname' =>
- $user->nickname));
+ if(common_config('site', 'private') && $casSettings['takeOverLogin']) {
+ //SSO users expect to just go to the URL they entered
+ //if we don't have a returnto set, the user entered the
+ //main StatusNet url, so send them there.
+ $url = common_local_url('public');
+ } else {
+ //With normal logins (regular form-based username/password),
+ //the user would expect to go to their home after logging in.
+ $url = common_local_url('public',
+ array('nickname' =>
+ $user->nickname));
+ }
}
common_redirect($url, 303);
diff --git a/plugins/CasAuthentication/extlib/CAS.php b/plugins/CasAuthentication/extlib/CAS.php
index f5ea0b12a..e75437419 100644
--- a/plugins/CasAuthentication/extlib/CAS.php
+++ b/plugins/CasAuthentication/extlib/CAS.php
@@ -1,1471 +1,1615 @@
-<?php
-
-// commented in 0.4.22-RC2 for Sylvain Derosiaux
-// error_reporting(E_ALL ^ E_NOTICE);
-
-//
-// hack by Vangelis Haniotakis to handle the absence of $_SERVER['REQUEST_URI'] in IIS
-//
-if (!$_SERVER['REQUEST_URI']) {
- $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
-}
-
-//
-// another one by Vangelis Haniotakis also to make phpCAS work with PHP5
-//
-if (version_compare(PHP_VERSION,'5','>=')) {
- require_once(dirname(__FILE__).'/CAS/domxml-php4-php5.php');
-}
-
-/**
- * @file CAS/CAS.php
- * Interface class of the phpCAS library
- *
- * @ingroup public
- */
-
-// ########################################################################
-// CONSTANTS
-// ########################################################################
-
-// ------------------------------------------------------------------------
-// CAS VERSIONS
-// ------------------------------------------------------------------------
-
-/**
- * phpCAS version. accessible for the user by phpCAS::getVersion().
- */
-define('PHPCAS_VERSION','1.0.1');
-
-// ------------------------------------------------------------------------
-// CAS VERSIONS
-// ------------------------------------------------------------------------
- /**
- * @addtogroup public
- * @{
- */
-
-/**
- * CAS version 1.0
- */
-define("CAS_VERSION_1_0",'1.0');
-/*!
- * CAS version 2.0
- */
-define("CAS_VERSION_2_0",'2.0');
-
-/** @} */
- /**
- * @addtogroup publicPGTStorage
- * @{
- */
-// ------------------------------------------------------------------------
-// FILE PGT STORAGE
-// ------------------------------------------------------------------------
- /**
- * Default path used when storing PGT's to file
- */
-define("CAS_PGT_STORAGE_FILE_DEFAULT_PATH",'/tmp');
-/**
- * phpCAS::setPGTStorageFile()'s 2nd parameter to write plain text files
- */
-define("CAS_PGT_STORAGE_FILE_FORMAT_PLAIN",'plain');
-/**
- * phpCAS::setPGTStorageFile()'s 2nd parameter to write xml files
- */
-define("CAS_PGT_STORAGE_FILE_FORMAT_XML",'xml');
-/**
- * Default format used when storing PGT's to file
- */
-define("CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT",CAS_PGT_STORAGE_FILE_FORMAT_PLAIN);
-// ------------------------------------------------------------------------
-// DATABASE PGT STORAGE
-// ------------------------------------------------------------------------
- /**
- * default database type when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE",'mysql');
-/**
- * default host when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME",'localhost');
-/**
- * default port when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_PORT",'');
-/**
- * default database when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE",'phpCAS');
-/**
- * default table when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_TABLE",'pgt');
-
-/** @} */
-// ------------------------------------------------------------------------
-// SERVICE ACCESS ERRORS
-// ------------------------------------------------------------------------
- /**
- * @addtogroup publicServices
- * @{
- */
-
-/**
- * phpCAS::service() error code on success
- */
-define("PHPCAS_SERVICE_OK",0);
-/**
- * phpCAS::service() error code when the PT could not retrieve because
- * the CAS server did not respond.
- */
-define("PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE",1);
-/**
- * phpCAS::service() error code when the PT could not retrieve because
- * the response of the CAS server was ill-formed.
- */
-define("PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE",2);
-/**
- * phpCAS::service() error code when the PT could not retrieve because
- * the CAS server did not want to.
- */
-define("PHPCAS_SERVICE_PT_FAILURE",3);
-/**
- * phpCAS::service() error code when the service was not available.
- */
-define("PHPCAS_SERVICE_NOT AVAILABLE",4);
-
-/** @} */
-// ------------------------------------------------------------------------
-// LANGUAGES
-// ------------------------------------------------------------------------
- /**
- * @addtogroup publicLang
- * @{
- */
-
-define("PHPCAS_LANG_ENGLISH", 'english');
-define("PHPCAS_LANG_FRENCH", 'french');
-define("PHPCAS_LANG_GREEK", 'greek');
-define("PHPCAS_LANG_GERMAN", 'german');
-define("PHPCAS_LANG_JAPANESE", 'japanese');
-define("PHPCAS_LANG_SPANISH", 'spanish');
-define("PHPCAS_LANG_CATALAN", 'catalan');
-
-/** @} */
-
-/**
- * @addtogroup internalLang
- * @{
- */
-
-/**
- * phpCAS default language (when phpCAS::setLang() is not used)
- */
-define("PHPCAS_LANG_DEFAULT", PHPCAS_LANG_ENGLISH);
-
-/** @} */
-// ------------------------------------------------------------------------
-// DEBUG
-// ------------------------------------------------------------------------
- /**
- * @addtogroup publicDebug
- * @{
- */
-
-/**
- * The default directory for the debug file under Unix.
- */
-define('DEFAULT_DEBUG_DIR','/tmp/');
-
-/** @} */
-// ------------------------------------------------------------------------
-// MISC
-// ------------------------------------------------------------------------
- /**
- * @addtogroup internalMisc
- * @{
- */
-
-/**
- * This global variable is used by the interface class phpCAS.
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_CLIENT'] = null;
-
-/**
- * This global variable is used to store where the initializer is called from
- * (to print a comprehensive error in case of multiple calls).
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_INIT_CALL'] = array('done' => FALSE,
- 'file' => '?',
- 'line' => -1,
- 'method' => '?');
-
-/**
- * This global variable is used to store where the method checking
- * the authentication is called from (to print comprehensive errors)
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_AUTH_CHECK_CALL'] = array('done' => FALSE,
- 'file' => '?',
- 'line' => -1,
- 'method' => '?',
- 'result' => FALSE);
-
-/**
- * This global variable is used to store phpCAS debug mode.
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_DEBUG'] = array('filename' => FALSE,
- 'indent' => 0,
- 'unique_id' => '');
-
-/** @} */
-
-// ########################################################################
-// CLIENT CLASS
-// ########################################################################
-
-// include client class
-include_once(dirname(__FILE__).'/CAS/client.php');
-
-// ########################################################################
-// INTERFACE CLASS
-// ########################################################################
-
-/**
- * @class phpCAS
- * The phpCAS class is a simple container for the phpCAS library. It provides CAS
- * authentication for web applications written in PHP.
- *
- * @ingroup public
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * \internal All its methods access the same object ($PHPCAS_CLIENT, declared
- * at the end of CAS/client.php).
- */
-
-
-
-class phpCAS
-{
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * @addtogroup publicInit
- * @{
- */
-
- /**
- * phpCAS client initializer.
- * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
- * called, only once, and before all other methods (except phpCAS::getVersion()
- * and phpCAS::setDebug()).
- *
- * @param $server_version the version of the CAS server
- * @param $server_hostname the hostname of the CAS server
- * @param $server_port the port the CAS server is running on
- * @param $server_uri the URI the CAS server is responding on
- * @param $start_session Have phpCAS start PHP sessions (default true)
- *
- * @return a newly created CASClient object
- */
- function client($server_version,
- $server_hostname,
- $server_port,
- $server_uri,
- $start_session = true)
- {
- global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
-
- phpCAS::traceBegin();
- if ( is_object($PHPCAS_CLIENT) ) {
- phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
- }
- if ( gettype($server_version) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
- }
- if ( gettype($server_hostname) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
- }
- if ( gettype($server_port) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
- }
- if ( gettype($server_uri) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
- }
-
- // store where the initialzer is called from
- $dbg = phpCAS::backtrace();
- $PHPCAS_INIT_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__);
-
- // initialize the global object $PHPCAS_CLIENT
- $PHPCAS_CLIENT = new CASClient($server_version,FALSE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
- phpCAS::traceEnd();
- }
-
- /**
- * phpCAS proxy initializer.
- * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
- * called, only once, and before all other methods (except phpCAS::getVersion()
- * and phpCAS::setDebug()).
- *
- * @param $server_version the version of the CAS server
- * @param $server_hostname the hostname of the CAS server
- * @param $server_port the port the CAS server is running on
- * @param $server_uri the URI the CAS server is responding on
- * @param $start_session Have phpCAS start PHP sessions (default true)
- *
- * @return a newly created CASClient object
- */
- function proxy($server_version,
- $server_hostname,
- $server_port,
- $server_uri,
- $start_session = true)
- {
- global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
-
- phpCAS::traceBegin();
- if ( is_object($PHPCAS_CLIENT) ) {
- phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
- }
- if ( gettype($server_version) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
- }
- if ( gettype($server_hostname) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
- }
- if ( gettype($server_port) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
- }
- if ( gettype($server_uri) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
- }
-
- // store where the initialzer is called from
- $dbg = phpCAS::backtrace();
- $PHPCAS_INIT_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__);
-
- // initialize the global object $PHPCAS_CLIENT
- $PHPCAS_CLIENT = new CASClient($server_version,TRUE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
- phpCAS::traceEnd();
- }
-
- /** @} */
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * @addtogroup publicDebug
- * @{
- */
-
- /**
- * Set/unset debug mode
- *
- * @param $filename the name of the file used for logging, or FALSE to stop debugging.
- */
- function setDebug($filename='')
- {
- global $PHPCAS_DEBUG;
-
- if ( $filename != FALSE && gettype($filename) != 'string' ) {
- phpCAS::error('type mismatched for parameter $dbg (should be FALSE or the name of the log file)');
- }
-
- if ( empty($filename) ) {
- if ( preg_match('/^Win.*/',getenv('OS')) ) {
- if ( isset($_ENV['TMP']) ) {
- $debugDir = $_ENV['TMP'].'/';
- } else if ( isset($_ENV['TEMP']) ) {
- $debugDir = $_ENV['TEMP'].'/';
- } else {
- $debugDir = '';
- }
- } else {
- $debugDir = DEFAULT_DEBUG_DIR;
- }
- $filename = $debugDir . 'phpCAS.log';
- }
-
- if ( empty($PHPCAS_DEBUG['unique_id']) ) {
- $PHPCAS_DEBUG['unique_id'] = substr(strtoupper(md5(uniqid(''))),0,4);
- }
-
- $PHPCAS_DEBUG['filename'] = $filename;
-
- phpCAS::trace('START ******************');
- }
-
- /** @} */
- /**
- * @addtogroup internalDebug
- * @{
- */
-
- /**
- * This method is a wrapper for debug_backtrace() that is not available
- * in all PHP versions (>= 4.3.0 only)
- */
- function backtrace()
- {
- if ( function_exists('debug_backtrace') ) {
- return debug_backtrace();
- } else {
- // poor man's hack ... but it does work ...
- return array();
- }
- }
-
- /**
- * Logs a string in debug mode.
- *
- * @param $str the string to write
- *
- * @private
- */
- function log($str)
- {
- $indent_str = ".";
- global $PHPCAS_DEBUG;
-
- if ( $PHPCAS_DEBUG['filename'] ) {
- for ($i=0;$i<$PHPCAS_DEBUG['indent'];$i++) {
- $indent_str .= '| ';
- }
- error_log($PHPCAS_DEBUG['unique_id'].' '.$indent_str.$str."\n",3,$PHPCAS_DEBUG['filename']);
- }
-
- }
-
- /**
- * This method is used by interface methods to print an error and where the function
- * was originally called from.
- *
- * @param $msg the message to print
- *
- * @private
- */
- function error($msg)
- {
- $dbg = phpCAS::backtrace();
- $function = '?';
- $file = '?';
- $line = '?';
- if ( is_array($dbg) ) {
- for ( $i=1; $i<sizeof($dbg); $i++) {
- if ( is_array($dbg[$i]) ) {
- if ( $dbg[$i]['class'] == __CLASS__ ) {
- $function = $dbg[$i]['function'];
- $file = $dbg[$i]['file'];
- $line = $dbg[$i]['line'];
- }
- }
- }
- }
- echo "<br />\n<b>phpCAS error</b>: <font color=\"FF0000\"><b>".__CLASS__."::".$function.'(): '.htmlentities($msg)."</b></font> in <b>".$file."</b> on line <b>".$line."</b><br />\n";
- phpCAS::trace($msg);
- phpCAS::traceExit();
- exit();
- }
-
- /**
- * This method is used to log something in debug mode.
- */
- function trace($str)
- {
- $dbg = phpCAS::backtrace();
- phpCAS::log($str.' ['.basename($dbg[1]['file']).':'.$dbg[1]['line'].']');
- }
-
- /**
- * This method is used to indicate the start of the execution of a function in debug mode.
- */
- function traceBegin()
- {
- global $PHPCAS_DEBUG;
-
- $dbg = phpCAS::backtrace();
- $str = '=> ';
- if ( !empty($dbg[2]['class']) ) {
- $str .= $dbg[2]['class'].'::';
- }
- $str .= $dbg[2]['function'].'(';
- if ( is_array($dbg[2]['args']) ) {
- foreach ($dbg[2]['args'] as $index => $arg) {
- if ( $index != 0 ) {
- $str .= ', ';
- }
- $str .= str_replace("\n","",var_export($arg,TRUE));
- }
- }
- $str .= ') ['.basename($dbg[2]['file']).':'.$dbg[2]['line'].']';
- phpCAS::log($str);
- $PHPCAS_DEBUG['indent'] ++;
- }
-
- /**
- * This method is used to indicate the end of the execution of a function in debug mode.
- *
- * @param $res the result of the function
- */
- function traceEnd($res='')
- {
- global $PHPCAS_DEBUG;
-
- $PHPCAS_DEBUG['indent'] --;
- $dbg = phpCAS::backtrace();
- $str = '';
- $str .= '<= '.str_replace("\n","",var_export($res,TRUE));
- phpCAS::log($str);
- }
-
- /**
- * This method is used to indicate the end of the execution of the program
- */
- function traceExit()
- {
- global $PHPCAS_DEBUG;
-
- phpCAS::log('exit()');
- while ( $PHPCAS_DEBUG['indent'] > 0 ) {
- phpCAS::log('-');
- $PHPCAS_DEBUG['indent'] --;
- }
- }
-
- /** @} */
- // ########################################################################
- // INTERNATIONALIZATION
- // ########################################################################
- /**
- * @addtogroup publicLang
- * @{
- */
-
- /**
- * This method is used to set the language used by phpCAS.
- * @note Can be called only once.
- *
- * @param $lang a string representing the language.
- *
- * @sa PHPCAS_LANG_FRENCH, PHPCAS_LANG_ENGLISH
- */
- function setLang($lang)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($lang) != 'string' ) {
- phpCAS::error('type mismatched for parameter $lang (should be `string\')');
- }
- $PHPCAS_CLIENT->setLang($lang);
- }
-
- /** @} */
- // ########################################################################
- // VERSION
- // ########################################################################
- /**
- * @addtogroup public
- * @{
- */
-
- /**
- * This method returns the phpCAS version.
- *
- * @return the phpCAS version.
- */
- function getVersion()
- {
- return PHPCAS_VERSION;
- }
-
- /** @} */
- // ########################################################################
- // HTML OUTPUT
- // ########################################################################
- /**
- * @addtogroup publicOutput
- * @{
- */
-
- /**
- * This method sets the HTML header used for all outputs.
- *
- * @param $header the HTML header.
- */
- function setHTMLHeader($header)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($header) != 'string' ) {
- phpCAS::error('type mismatched for parameter $header (should be `string\')');
- }
- $PHPCAS_CLIENT->setHTMLHeader($header);
- }
-
- /**
- * This method sets the HTML footer used for all outputs.
- *
- * @param $footer the HTML footer.
- */
- function setHTMLFooter($footer)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($footer) != 'string' ) {
- phpCAS::error('type mismatched for parameter $footer (should be `string\')');
- }
- $PHPCAS_CLIENT->setHTMLFooter($footer);
- }
-
- /** @} */
- // ########################################################################
- // PGT STORAGE
- // ########################################################################
- /**
- * @addtogroup publicPGTStorage
- * @{
- */
-
- /**
- * This method is used to tell phpCAS to store the response of the
- * CAS server to PGT requests onto the filesystem.
- *
- * @param $format the format used to store the PGT's (`plain' and `xml' allowed)
- * @param $path the path where the PGT's should be stored
- */
- function setPGTStorageFile($format='',
- $path='')
- {
- global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
- }
- if ( gettype($format) != 'string' ) {
- phpCAS::error('type mismatched for parameter $format (should be `string\')');
- }
- if ( gettype($path) != 'string' ) {
- phpCAS::error('type mismatched for parameter $format (should be `string\')');
- }
- $PHPCAS_CLIENT->setPGTStorageFile($format,$path);
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to tell phpCAS to store the response of the
- * CAS server to PGT requests into a database.
- * @note The connection to the database is done only when needed.
- * As a consequence, bad parameters are detected only when
- * initializing PGT storage, except in debug mode.
- *
- * @param $user the user to access the data with
- * @param $password the user's password
- * @param $database_type the type of the database hosting the data
- * @param $hostname the server hosting the database
- * @param $port the port the server is listening on
- * @param $database the name of the database
- * @param $table the name of the table storing the data
- */
- function setPGTStorageDB($user,
- $password,
- $database_type='',
- $hostname='',
- $port=0,
- $database='',
- $table='')
- {
- global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
- }
- if ( gettype($user) != 'string' ) {
- phpCAS::error('type mismatched for parameter $user (should be `string\')');
- }
- if ( gettype($password) != 'string' ) {
- phpCAS::error('type mismatched for parameter $password (should be `string\')');
- }
- if ( gettype($database_type) != 'string' ) {
- phpCAS::error('type mismatched for parameter $database_type (should be `string\')');
- }
- if ( gettype($hostname) != 'string' ) {
- phpCAS::error('type mismatched for parameter $hostname (should be `string\')');
- }
- if ( gettype($port) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $port (should be `integer\')');
- }
- if ( gettype($database) != 'string' ) {
- phpCAS::error('type mismatched for parameter $database (should be `string\')');
- }
- if ( gettype($table) != 'string' ) {
- phpCAS::error('type mismatched for parameter $table (should be `string\')');
- }
- $PHPCAS_CLIENT->setPGTStorageDB($this,$user,$password,$hostname,$port,$database,$table);
- phpCAS::traceEnd();
- }
-
- /** @} */
- // ########################################################################
- // ACCESS TO EXTERNAL SERVICES
- // ########################################################################
- /**
- * @addtogroup publicServices
- * @{
- */
-
- /**
- * This method is used to access an HTTP[S] service.
- *
- * @param $url the service to access.
- * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
- * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
- * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
- * @param $output the output of the service (also used to give an error
- * message on failure).
- *
- * @return TRUE on success, FALSE otherwise (in this later case, $err_code
- * gives the reason why it failed and $output contains an error message).
- */
- function serviceWeb($url,&$err_code,&$output)
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
- phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
-
- $res = $PHPCAS_CLIENT->serviceWeb($url,$err_code,$output);
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * This method is used to access an IMAP/POP3/NNTP service.
- *
- * @param $url a string giving the URL of the service, including the mailing box
- * for IMAP URLs, as accepted by imap_open().
- * @param $flags options given to imap_open().
- * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
- * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
- * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
- * @param $err_msg an error message on failure
- * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL
- * on success, FALSE on error).
- *
- * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code
- * gives the reason why it failed and $err_msg contains an error message).
- */
- function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
- phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
-
- if ( gettype($flags) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $flags (should be `integer\')');
- }
-
- $res = $PHPCAS_CLIENT->serviceMail($url,$flags,$err_code,$err_msg,$pt);
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /** @} */
- // ########################################################################
- // AUTHENTICATION
- // ########################################################################
- /**
- * @addtogroup publicAuth
- * @{
- */
-
- /**
- * Set the times authentication will be cached before really accessing the CAS server in gateway mode:
- * - -1: check only once, and then never again (until you pree login)
- * - 0: always check
- * - n: check every "n" time
- *
- * @param $n an integer.
- */
- function setCacheTimesForAuthRecheck($n)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($n) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $header (should be `string\')');
- }
- $PHPCAS_CLIENT->setCacheTimesForAuthRecheck($n);
- }
-
- /**
- * This method is called to check if the user is authenticated (use the gateway feature).
- * @return TRUE when the user is authenticated; otherwise FALSE.
- */
- function checkAuthentication()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- $auth = $PHPCAS_CLIENT->checkAuthentication();
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__,
- 'result' => $auth );
- phpCAS::traceEnd($auth);
- return $auth;
- }
-
- /**
- * This method is called to force authentication if the user was not already
- * authenticated. If the user is not authenticated, halt by redirecting to
- * the CAS server.
- */
- function forceAuthentication()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- $auth = $PHPCAS_CLIENT->forceAuthentication();
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__,
- 'result' => $auth );
-
- if ( !$auth ) {
- phpCAS::trace('user is not authenticated, redirecting to the CAS server');
- $PHPCAS_CLIENT->forceAuthentication();
- } else {
- phpCAS::trace('no need to authenticate (user `'.phpCAS::getUser().'\' is already authenticated)');
- }
-
- phpCAS::traceEnd();
- return $auth;
- }
-
- /**
- * This method is called to renew the authentication.
- **/
- function renewAuthentication() {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before'.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE, 'file' => $dbg[0]['file'], 'line' => $dbg[0]['line'], 'method' => __CLASS__.'::'.__FUNCTION__, 'result' => $auth );
-
- $PHPCAS_CLIENT->renewAuthentication();
- phpCAS::traceEnd();
- }
-
- /**
- * This method has been left from version 0.4.1 for compatibility reasons.
- */
- function authenticate()
- {
- phpCAS::error('this method is deprecated. You should use '.__CLASS__.'::forceAuthentication() instead');
- }
-
- /**
- * This method is called to check if the user is authenticated (previously or by
- * tickets given in the URL).
- *
- * @return TRUE when the user is authenticated.
- */
- function isAuthenticated()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- // call the isAuthenticated method of the global $PHPCAS_CLIENT object
- $auth = $PHPCAS_CLIENT->isAuthenticated();
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__,
- 'result' => $auth );
- phpCAS::traceEnd($auth);
- return $auth;
- }
-
- /**
- * Checks whether authenticated based on $_SESSION. Useful to avoid
- * server calls.
- * @return true if authenticated, false otherwise.
- * @since 0.4.22 by Brendan Arnold
- */
- function isSessionAuthenticated ()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return($PHPCAS_CLIENT->isSessionAuthenticated());
- }
-
- /**
- * This method returns the CAS user's login name.
- * @warning should not be called only after phpCAS::forceAuthentication()
- * or phpCAS::checkAuthentication().
- *
- * @return the login name of the authenticated user
- */
- function getUser()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
- phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
- }
- return $PHPCAS_CLIENT->getUser();
- }
-
- /**
- * Handle logout requests.
- */
- function handleLogoutRequests($check_client=true, $allowed_clients=false)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return($PHPCAS_CLIENT->handleLogoutRequests($check_client, $allowed_clients));
- }
-
- /**
- * This method returns the URL to be used to login.
- * or phpCAS::isAuthenticated().
- *
- * @return the login name of the authenticated user
- */
- function getServerLoginURL()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return $PHPCAS_CLIENT->getServerLoginURL();
- }
-
- /**
- * Set the login URL of the CAS server.
- * @param $url the login URL
- * @since 0.4.21 by Wyman Chan
- */
- function setServerLoginURL($url='')
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after
- '.__CLASS__.'::client()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be
- `string\')');
- }
- $PHPCAS_CLIENT->setServerLoginURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * This method returns the URL to be used to login.
- * or phpCAS::isAuthenticated().
- *
- * @return the login name of the authenticated user
- */
- function getServerLogoutURL()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return $PHPCAS_CLIENT->getServerLogoutURL();
- }
-
- /**
- * Set the logout URL of the CAS server.
- * @param $url the logout URL
- * @since 0.4.21 by Wyman Chan
- */
- function setServerLogoutURL($url='')
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after
- '.__CLASS__.'::client()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be
- `string\')');
- }
- $PHPCAS_CLIENT->setServerLogoutURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS.
- * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server
- * @public
- */
- function logout($params = "") {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if (!is_object($PHPCAS_CLIENT)) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- $parsedParams = array();
- if ($params != "") {
- if (is_string($params)) {
- phpCAS::error('method `phpCAS::logout($url)\' is now deprecated, use `phpCAS::logoutWithUrl($url)\' instead');
- }
- if (!is_array($params)) {
- phpCAS::error('type mismatched for parameter $params (should be `array\')');
- }
- foreach ($params as $key => $value) {
- if ($key != "service" && $key != "url") {
- phpCAS::error('only `url\' and `service\' parameters are allowed for method `phpCAS::logout($params)\'');
- }
- $parsedParams[$key] = $value;
- }
- }
- $PHPCAS_CLIENT->logout($parsedParams);
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS. Halts by redirecting to the CAS server.
- * @param $service a URL that will be transmitted to the CAS server
- */
- function logoutWithRedirectService($service) {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if (!is_string($service)) {
- phpCAS::error('type mismatched for parameter $service (should be `string\')');
- }
- $PHPCAS_CLIENT->logout(array("service" => $service));
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS. Halts by redirecting to the CAS server.
- * @param $url a URL that will be transmitted to the CAS server
- */
- function logoutWithUrl($url) {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if (!is_string($url)) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->logout(array("url" => $url));
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS. Halts by redirecting to the CAS server.
- * @param $service a URL that will be transmitted to the CAS server
- * @param $url a URL that will be transmitted to the CAS server
- */
- function logoutWithRedirectServiceAndUrl($service, $url) {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if (!is_string($service)) {
- phpCAS::error('type mismatched for parameter $service (should be `string\')');
- }
- if (!is_string($url)) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->logout(array("service" => $service, "url" => $url));
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * Set the fixed URL that will be used by the CAS server to transmit the PGT.
- * When this method is not called, a phpCAS script uses its own URL for the callback.
- *
- * @param $url the URL
- */
- function setFixedCallbackURL($url='')
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->setCallbackURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * Set the fixed URL that will be set as the CAS service parameter. When this
- * method is not called, a phpCAS script uses its own URL.
- *
- * @param $url the URL
- */
- function setFixedServiceURL($url)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->setURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * Get the URL that is set as the CAS service parameter.
- */
- function getServiceURL()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- return($PHPCAS_CLIENT->getURL());
- }
-
- /**
- * Retrieve a Proxy Ticket from the CAS server.
- */
- function retrievePT($target_service,&$err_code,&$err_msg)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( gettype($target_service) != 'string' ) {
- phpCAS::error('type mismatched for parameter $target_service(should be `string\')');
- }
- return($PHPCAS_CLIENT->retrievePT($target_service,$err_code,$err_msg));
- }
-
- /**
- * Set the certificate of the CAS server.
- *
- * @param $cert the PEM certificate
- */
- function setCasServerCert($cert)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if ( gettype($cert) != 'string' ) {
- phpCAS::error('type mismatched for parameter $cert (should be `string\')');
- }
- $PHPCAS_CLIENT->setCasServerCert($cert);
- phpCAS::traceEnd();
- }
-
- /**
- * Set the certificate of the CAS server CA.
- *
- * @param $cert the CA certificate
- */
- function setCasServerCACert($cert)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if ( gettype($cert) != 'string' ) {
- phpCAS::error('type mismatched for parameter $cert (should be `string\')');
- }
- $PHPCAS_CLIENT->setCasServerCACert($cert);
- phpCAS::traceEnd();
- }
-
- /**
- * Set no SSL validation for the CAS server.
- */
- function setNoCasServerValidation()
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- $PHPCAS_CLIENT->setNoCasServerValidation();
- phpCAS::traceEnd();
- }
-
- /** @} */
-
- /**
- * Change CURL options.
- * CURL is used to connect through HTTPS to CAS server
- * @param $key the option key
- * @param $value the value to set
- */
- function setExtraCurlOption($key, $value)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- $PHPCAS_CLIENT->setExtraCurlOption($key, $value);
- phpCAS::traceEnd();
- }
-
-}
-
-// ########################################################################
-// DOCUMENTATION
-// ########################################################################
-
-// ########################################################################
-// MAIN PAGE
-
-/**
- * @mainpage
- *
- * The following pages only show the source documentation.
- *
- */
-
-// ########################################################################
-// MODULES DEFINITION
-
-/** @defgroup public User interface */
-
-/** @defgroup publicInit Initialization
- * @ingroup public */
-
-/** @defgroup publicAuth Authentication
- * @ingroup public */
-
-/** @defgroup publicServices Access to external services
- * @ingroup public */
-
-/** @defgroup publicConfig Configuration
- * @ingroup public */
-
-/** @defgroup publicLang Internationalization
- * @ingroup publicConfig */
-
-/** @defgroup publicOutput HTML output
- * @ingroup publicConfig */
-
-/** @defgroup publicPGTStorage PGT storage
- * @ingroup publicConfig */
-
-/** @defgroup publicDebug Debugging
- * @ingroup public */
-
-
-/** @defgroup internal Implementation */
-
-/** @defgroup internalAuthentication Authentication
- * @ingroup internal */
-
-/** @defgroup internalBasic CAS Basic client features (CAS 1.0, Service Tickets)
- * @ingroup internal */
-
-/** @defgroup internalProxy CAS Proxy features (CAS 2.0, Proxy Granting Tickets)
- * @ingroup internal */
-
-/** @defgroup internalPGTStorage PGT storage
- * @ingroup internalProxy */
-
-/** @defgroup internalPGTStorageDB PGT storage in a database
- * @ingroup internalPGTStorage */
-
-/** @defgroup internalPGTStorageFile PGT storage on the filesystem
- * @ingroup internalPGTStorage */
-
-/** @defgroup internalCallback Callback from the CAS server
- * @ingroup internalProxy */
-
-/** @defgroup internalProxied CAS proxied client features (CAS 2.0, Proxy Tickets)
- * @ingroup internal */
-
-/** @defgroup internalConfig Configuration
- * @ingroup internal */
-
-/** @defgroup internalOutput HTML output
- * @ingroup internalConfig */
-
-/** @defgroup internalLang Internationalization
- * @ingroup internalConfig
- *
- * To add a new language:
- * - 1. define a new constant PHPCAS_LANG_XXXXXX in CAS/CAS.php
- * - 2. copy any file from CAS/languages to CAS/languages/XXXXXX.php
- * - 3. Make the translations
- */
-
-/** @defgroup internalDebug Debugging
- * @ingroup internal */
-
-/** @defgroup internalMisc Miscellaneous
- * @ingroup internal */
-
-// ########################################################################
-// EXAMPLES
-
-/**
- * @example example_simple.php
- */
- /**
- * @example example_proxy.php
- */
- /**
- * @example example_proxy2.php
- */
- /**
- * @example example_lang.php
- */
- /**
- * @example example_html.php
- */
- /**
- * @example example_file.php
- */
- /**
- * @example example_db.php
- */
- /**
- * @example example_service.php
- */
- /**
- * @example example_session_proxy.php
- */
- /**
- * @example example_session_service.php
- */
- /**
- * @example example_gateway.php
- */
-
-
-
-?>
+<?php
+
+// commented in 0.4.22-RC2 for Sylvain Derosiaux
+// error_reporting(E_ALL ^ E_NOTICE);
+
+//
+// hack by Vangelis Haniotakis to handle the absence of $_SERVER['REQUEST_URI'] in IIS
+//
+if (!$_SERVER['REQUEST_URI']) {
+ $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
+}
+
+//
+// another one by Vangelis Haniotakis also to make phpCAS work with PHP5
+//
+if (version_compare(PHP_VERSION,'5','>=')) {
+ require_once(dirname(__FILE__).'/CAS/domxml-php4-to-php5.php');
+}
+
+/**
+ * @file CAS/CAS.php
+ * Interface class of the phpCAS library
+ *
+ * @ingroup public
+ */
+
+// ########################################################################
+// CONSTANTS
+// ########################################################################
+
+// ------------------------------------------------------------------------
+// CAS VERSIONS
+// ------------------------------------------------------------------------
+
+/**
+ * phpCAS version. accessible for the user by phpCAS::getVersion().
+ */
+define('PHPCAS_VERSION','1.1.0RC6');
+
+// ------------------------------------------------------------------------
+// CAS VERSIONS
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup public
+ * @{
+ */
+
+/**
+ * CAS version 1.0
+ */
+define("CAS_VERSION_1_0",'1.0');
+/*!
+ * CAS version 2.0
+ */
+define("CAS_VERSION_2_0",'2.0');
+
+// ------------------------------------------------------------------------
+// SAML defines
+// ------------------------------------------------------------------------
+
+/**
+ * SAML protocol
+ */
+define("SAML_VERSION_1_1", 'S1');
+
+/**
+ * XML header for SAML POST
+ */
+define("SAML_XML_HEADER", '<?xml version="1.0" encoding="UTF-8"?>');
+
+/**
+ * SOAP envelope for SAML POST
+ */
+define ("SAML_SOAP_ENV", '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/>');
+
+/**
+ * SOAP body for SAML POST
+ */
+define ("SAML_SOAP_BODY", '<SOAP-ENV:Body>');
+
+/**
+ * SAMLP request
+ */
+define ("SAMLP_REQUEST", '<samlp:Request xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" MajorVersion="1" MinorVersion="1" RequestID="_192.168.16.51.1024506224022" IssueInstant="2002-06-19T17:03:44.022Z">');
+define ("SAMLP_REQUEST_CLOSE", '</samlp:Request>');
+
+/**
+ * SAMLP artifact tag (for the ticket)
+ */
+define ("SAML_ASSERTION_ARTIFACT", '<samlp:AssertionArtifact>');
+
+/**
+ * SAMLP close
+ */
+define ("SAML_ASSERTION_ARTIFACT_CLOSE", '</samlp:AssertionArtifact>');
+
+/**
+ * SOAP body close
+ */
+define ("SAML_SOAP_BODY_CLOSE", '</SOAP-ENV:Body>');
+
+/**
+ * SOAP envelope close
+ */
+define ("SAML_SOAP_ENV_CLOSE", '</SOAP-ENV:Envelope>');
+
+/**
+ * SAML Attributes
+ */
+define("SAML_ATTRIBUTES", 'SAMLATTRIBS');
+
+
+
+/** @} */
+ /**
+ * @addtogroup publicPGTStorage
+ * @{
+ */
+// ------------------------------------------------------------------------
+// FILE PGT STORAGE
+// ------------------------------------------------------------------------
+ /**
+ * Default path used when storing PGT's to file
+ */
+define("CAS_PGT_STORAGE_FILE_DEFAULT_PATH",'/tmp');
+/**
+ * phpCAS::setPGTStorageFile()'s 2nd parameter to write plain text files
+ */
+define("CAS_PGT_STORAGE_FILE_FORMAT_PLAIN",'plain');
+/**
+ * phpCAS::setPGTStorageFile()'s 2nd parameter to write xml files
+ */
+define("CAS_PGT_STORAGE_FILE_FORMAT_XML",'xml');
+/**
+ * Default format used when storing PGT's to file
+ */
+define("CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT",CAS_PGT_STORAGE_FILE_FORMAT_PLAIN);
+// ------------------------------------------------------------------------
+// DATABASE PGT STORAGE
+// ------------------------------------------------------------------------
+ /**
+ * default database type when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE",'mysql');
+/**
+ * default host when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME",'localhost');
+/**
+ * default port when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_PORT",'');
+/**
+ * default database when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE",'phpCAS');
+/**
+ * default table when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_TABLE",'pgt');
+
+/** @} */
+// ------------------------------------------------------------------------
+// SERVICE ACCESS ERRORS
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup publicServices
+ * @{
+ */
+
+/**
+ * phpCAS::service() error code on success
+ */
+define("PHPCAS_SERVICE_OK",0);
+/**
+ * phpCAS::service() error code when the PT could not retrieve because
+ * the CAS server did not respond.
+ */
+define("PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE",1);
+/**
+ * phpCAS::service() error code when the PT could not retrieve because
+ * the response of the CAS server was ill-formed.
+ */
+define("PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE",2);
+/**
+ * phpCAS::service() error code when the PT could not retrieve because
+ * the CAS server did not want to.
+ */
+define("PHPCAS_SERVICE_PT_FAILURE",3);
+/**
+ * phpCAS::service() error code when the service was not available.
+ */
+define("PHPCAS_SERVICE_NOT AVAILABLE",4);
+
+/** @} */
+// ------------------------------------------------------------------------
+// LANGUAGES
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup publicLang
+ * @{
+ */
+
+define("PHPCAS_LANG_ENGLISH", 'english');
+define("PHPCAS_LANG_FRENCH", 'french');
+define("PHPCAS_LANG_GREEK", 'greek');
+define("PHPCAS_LANG_GERMAN", 'german');
+define("PHPCAS_LANG_JAPANESE", 'japanese');
+define("PHPCAS_LANG_SPANISH", 'spanish');
+define("PHPCAS_LANG_CATALAN", 'catalan');
+
+/** @} */
+
+/**
+ * @addtogroup internalLang
+ * @{
+ */
+
+/**
+ * phpCAS default language (when phpCAS::setLang() is not used)
+ */
+define("PHPCAS_LANG_DEFAULT", PHPCAS_LANG_ENGLISH);
+
+/** @} */
+// ------------------------------------------------------------------------
+// DEBUG
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup publicDebug
+ * @{
+ */
+
+/**
+ * The default directory for the debug file under Unix.
+ */
+define('DEFAULT_DEBUG_DIR','/tmp/');
+
+/** @} */
+// ------------------------------------------------------------------------
+// MISC
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup internalMisc
+ * @{
+ */
+
+/**
+ * This global variable is used by the interface class phpCAS.
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_CLIENT'] = null;
+
+/**
+ * This global variable is used to store where the initializer is called from
+ * (to print a comprehensive error in case of multiple calls).
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_INIT_CALL'] = array('done' => FALSE,
+ 'file' => '?',
+ 'line' => -1,
+ 'method' => '?');
+
+/**
+ * This global variable is used to store where the method checking
+ * the authentication is called from (to print comprehensive errors)
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_AUTH_CHECK_CALL'] = array('done' => FALSE,
+ 'file' => '?',
+ 'line' => -1,
+ 'method' => '?',
+ 'result' => FALSE);
+
+/**
+ * This global variable is used to store phpCAS debug mode.
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_DEBUG'] = array('filename' => FALSE,
+ 'indent' => 0,
+ 'unique_id' => '');
+
+/** @} */
+
+// ########################################################################
+// CLIENT CLASS
+// ########################################################################
+
+// include client class
+include_once(dirname(__FILE__).'/CAS/client.php');
+
+// ########################################################################
+// INTERFACE CLASS
+// ########################################################################
+
+/**
+ * @class phpCAS
+ * The phpCAS class is a simple container for the phpCAS library. It provides CAS
+ * authentication for web applications written in PHP.
+ *
+ * @ingroup public
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * \internal All its methods access the same object ($PHPCAS_CLIENT, declared
+ * at the end of CAS/client.php).
+ */
+
+
+
+class phpCAS
+{
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * @addtogroup publicInit
+ * @{
+ */
+
+ /**
+ * phpCAS client initializer.
+ * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
+ * called, only once, and before all other methods (except phpCAS::getVersion()
+ * and phpCAS::setDebug()).
+ *
+ * @param $server_version the version of the CAS server
+ * @param $server_hostname the hostname of the CAS server
+ * @param $server_port the port the CAS server is running on
+ * @param $server_uri the URI the CAS server is responding on
+ * @param $start_session Have phpCAS start PHP sessions (default true)
+ *
+ * @return a newly created CASClient object
+ */
+ function client($server_version,
+ $server_hostname,
+ $server_port,
+ $server_uri,
+ $start_session = true)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
+
+ phpCAS::traceBegin();
+ if ( is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
+ }
+ if ( gettype($server_version) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
+ }
+ if ( gettype($server_hostname) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
+ }
+ if ( gettype($server_port) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
+ }
+ if ( gettype($server_uri) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
+ }
+
+ // store where the initializer is called from
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_INIT_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__);
+
+ // initialize the global object $PHPCAS_CLIENT
+ $PHPCAS_CLIENT = new CASClient($server_version,FALSE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * phpCAS proxy initializer.
+ * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
+ * called, only once, and before all other methods (except phpCAS::getVersion()
+ * and phpCAS::setDebug()).
+ *
+ * @param $server_version the version of the CAS server
+ * @param $server_hostname the hostname of the CAS server
+ * @param $server_port the port the CAS server is running on
+ * @param $server_uri the URI the CAS server is responding on
+ * @param $start_session Have phpCAS start PHP sessions (default true)
+ *
+ * @return a newly created CASClient object
+ */
+ function proxy($server_version,
+ $server_hostname,
+ $server_port,
+ $server_uri,
+ $start_session = true)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
+
+ phpCAS::traceBegin();
+ if ( is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
+ }
+ if ( gettype($server_version) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
+ }
+ if ( gettype($server_hostname) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
+ }
+ if ( gettype($server_port) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
+ }
+ if ( gettype($server_uri) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
+ }
+
+ // store where the initialzer is called from
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_INIT_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__);
+
+ // initialize the global object $PHPCAS_CLIENT
+ $PHPCAS_CLIENT = new CASClient($server_version,TRUE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * @addtogroup publicDebug
+ * @{
+ */
+
+ /**
+ * Set/unset debug mode
+ *
+ * @param $filename the name of the file used for logging, or FALSE to stop debugging.
+ */
+ function setDebug($filename='')
+ {
+ global $PHPCAS_DEBUG;
+
+ if ( $filename != FALSE && gettype($filename) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $dbg (should be FALSE or the name of the log file)');
+ }
+
+ if ( empty($filename) ) {
+ if ( preg_match('/^Win.*/',getenv('OS')) ) {
+ if ( isset($_ENV['TMP']) ) {
+ $debugDir = $_ENV['TMP'].'/';
+ } else if ( isset($_ENV['TEMP']) ) {
+ $debugDir = $_ENV['TEMP'].'/';
+ } else {
+ $debugDir = '';
+ }
+ } else {
+ $debugDir = DEFAULT_DEBUG_DIR;
+ }
+ $filename = $debugDir . 'phpCAS.log';
+ }
+
+ if ( empty($PHPCAS_DEBUG['unique_id']) ) {
+ $PHPCAS_DEBUG['unique_id'] = substr(strtoupper(md5(uniqid(''))),0,4);
+ }
+
+ $PHPCAS_DEBUG['filename'] = $filename;
+
+ phpCAS::trace('START ******************');
+ }
+
+ /** @} */
+ /**
+ * @addtogroup internalDebug
+ * @{
+ */
+
+ /**
+ * This method is a wrapper for debug_backtrace() that is not available
+ * in all PHP versions (>= 4.3.0 only)
+ */
+ function backtrace()
+ {
+ if ( function_exists('debug_backtrace') ) {
+ return debug_backtrace();
+ } else {
+ // poor man's hack ... but it does work ...
+ return array();
+ }
+ }
+
+ /**
+ * Logs a string in debug mode.
+ *
+ * @param $str the string to write
+ *
+ * @private
+ */
+ function log($str)
+ {
+ $indent_str = ".";
+ global $PHPCAS_DEBUG;
+
+ if ( $PHPCAS_DEBUG['filename'] ) {
+ for ($i=0;$i<$PHPCAS_DEBUG['indent'];$i++) {
+ $indent_str .= '| ';
+ }
+ error_log($PHPCAS_DEBUG['unique_id'].' '.$indent_str.$str."\n",3,$PHPCAS_DEBUG['filename']);
+ }
+
+ }
+
+ /**
+ * This method is used by interface methods to print an error and where the function
+ * was originally called from.
+ *
+ * @param $msg the message to print
+ *
+ * @private
+ */
+ function error($msg)
+ {
+ $dbg = phpCAS::backtrace();
+ $function = '?';
+ $file = '?';
+ $line = '?';
+ if ( is_array($dbg) ) {
+ for ( $i=1; $i<sizeof($dbg); $i++) {
+ if ( is_array($dbg[$i]) ) {
+ if ( $dbg[$i]['class'] == __CLASS__ ) {
+ $function = $dbg[$i]['function'];
+ $file = $dbg[$i]['file'];
+ $line = $dbg[$i]['line'];
+ }
+ }
+ }
+ }
+ echo "<br />\n<b>phpCAS error</b>: <font color=\"FF0000\"><b>".__CLASS__."::".$function.'(): '.htmlentities($msg)."</b></font> in <b>".$file."</b> on line <b>".$line."</b><br />\n";
+ phpCAS::trace($msg);
+ phpCAS::traceExit();
+ exit();
+ }
+
+ /**
+ * This method is used to log something in debug mode.
+ */
+ function trace($str)
+ {
+ $dbg = phpCAS::backtrace();
+ phpCAS::log($str.' ['.basename($dbg[1]['file']).':'.$dbg[1]['line'].']');
+ }
+
+ /**
+ * This method is used to indicate the start of the execution of a function in debug mode.
+ */
+ function traceBegin()
+ {
+ global $PHPCAS_DEBUG;
+
+ $dbg = phpCAS::backtrace();
+ $str = '=> ';
+ if ( !empty($dbg[2]['class']) ) {
+ $str .= $dbg[2]['class'].'::';
+ }
+ $str .= $dbg[2]['function'].'(';
+ if ( is_array($dbg[2]['args']) ) {
+ foreach ($dbg[2]['args'] as $index => $arg) {
+ if ( $index != 0 ) {
+ $str .= ', ';
+ }
+ $str .= str_replace("\n","",var_export($arg,TRUE));
+ }
+ }
+ $str .= ') ['.basename($dbg[2]['file']).':'.$dbg[2]['line'].']';
+ phpCAS::log($str);
+ $PHPCAS_DEBUG['indent'] ++;
+ }
+
+ /**
+ * This method is used to indicate the end of the execution of a function in debug mode.
+ *
+ * @param $res the result of the function
+ */
+ function traceEnd($res='')
+ {
+ global $PHPCAS_DEBUG;
+
+ $PHPCAS_DEBUG['indent'] --;
+ $dbg = phpCAS::backtrace();
+ $str = '';
+ $str .= '<= '.str_replace("\n","",var_export($res,TRUE));
+ phpCAS::log($str);
+ }
+
+ /**
+ * This method is used to indicate the end of the execution of the program
+ */
+ function traceExit()
+ {
+ global $PHPCAS_DEBUG;
+
+ phpCAS::log('exit()');
+ while ( $PHPCAS_DEBUG['indent'] > 0 ) {
+ phpCAS::log('-');
+ $PHPCAS_DEBUG['indent'] --;
+ }
+ }
+
+ /** @} */
+ // ########################################################################
+ // INTERNATIONALIZATION
+ // ########################################################################
+ /**
+ * @addtogroup publicLang
+ * @{
+ */
+
+ /**
+ * This method is used to set the language used by phpCAS.
+ * @note Can be called only once.
+ *
+ * @param $lang a string representing the language.
+ *
+ * @sa PHPCAS_LANG_FRENCH, PHPCAS_LANG_ENGLISH
+ */
+ function setLang($lang)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($lang) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $lang (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setLang($lang);
+ }
+
+ /** @} */
+ // ########################################################################
+ // VERSION
+ // ########################################################################
+ /**
+ * @addtogroup public
+ * @{
+ */
+
+ /**
+ * This method returns the phpCAS version.
+ *
+ * @return the phpCAS version.
+ */
+ function getVersion()
+ {
+ return PHPCAS_VERSION;
+ }
+
+ /** @} */
+ // ########################################################################
+ // HTML OUTPUT
+ // ########################################################################
+ /**
+ * @addtogroup publicOutput
+ * @{
+ */
+
+ /**
+ * This method sets the HTML header used for all outputs.
+ *
+ * @param $header the HTML header.
+ */
+ function setHTMLHeader($header)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($header) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $header (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setHTMLHeader($header);
+ }
+
+ /**
+ * This method sets the HTML footer used for all outputs.
+ *
+ * @param $footer the HTML footer.
+ */
+ function setHTMLFooter($footer)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($footer) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $footer (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setHTMLFooter($footer);
+ }
+
+ /** @} */
+ // ########################################################################
+ // PGT STORAGE
+ // ########################################################################
+ /**
+ * @addtogroup publicPGTStorage
+ * @{
+ */
+
+ /**
+ * This method is used to tell phpCAS to store the response of the
+ * CAS server to PGT requests onto the filesystem.
+ *
+ * @param $format the format used to store the PGT's (`plain' and `xml' allowed)
+ * @param $path the path where the PGT's should be stored
+ */
+ function setPGTStorageFile($format='',
+ $path='')
+ {
+ global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
+ }
+ if ( gettype($format) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $format (should be `string\')');
+ }
+ if ( gettype($path) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $format (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setPGTStorageFile($format,$path);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to tell phpCAS to store the response of the
+ * CAS server to PGT requests into a database.
+ * @note The connection to the database is done only when needed.
+ * As a consequence, bad parameters are detected only when
+ * initializing PGT storage, except in debug mode.
+ *
+ * @param $user the user to access the data with
+ * @param $password the user's password
+ * @param $database_type the type of the database hosting the data
+ * @param $hostname the server hosting the database
+ * @param $port the port the server is listening on
+ * @param $database the name of the database
+ * @param $table the name of the table storing the data
+ */
+ function setPGTStorageDB($user,
+ $password,
+ $database_type='',
+ $hostname='',
+ $port=0,
+ $database='',
+ $table='')
+ {
+ global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
+ }
+ if ( gettype($user) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $user (should be `string\')');
+ }
+ if ( gettype($password) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $password (should be `string\')');
+ }
+ if ( gettype($database_type) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $database_type (should be `string\')');
+ }
+ if ( gettype($hostname) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $hostname (should be `string\')');
+ }
+ if ( gettype($port) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $port (should be `integer\')');
+ }
+ if ( gettype($database) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $database (should be `string\')');
+ }
+ if ( gettype($table) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $table (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setPGTStorageDB($user,$password,$database_type,$hostname,$port,$database,$table);
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+ // ########################################################################
+ // ACCESS TO EXTERNAL SERVICES
+ // ########################################################################
+ /**
+ * @addtogroup publicServices
+ * @{
+ */
+
+ /**
+ * This method is used to access an HTTP[S] service.
+ *
+ * @param $url the service to access.
+ * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
+ * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
+ * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
+ * @param $output the output of the service (also used to give an error
+ * message on failure).
+ *
+ * @return TRUE on success, FALSE otherwise (in this later case, $err_code
+ * gives the reason why it failed and $output contains an error message).
+ */
+ function serviceWeb($url,&$err_code,&$output)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+
+ $res = $PHPCAS_CLIENT->serviceWeb($url,$err_code,$output);
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * This method is used to access an IMAP/POP3/NNTP service.
+ *
+ * @param $url a string giving the URL of the service, including the mailing box
+ * for IMAP URLs, as accepted by imap_open().
+ * @param $service a string giving for CAS retrieve Proxy ticket
+ * @param $flags options given to imap_open().
+ * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
+ * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
+ * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
+ * @param $err_msg an error message on failure
+ * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL
+ * on success, FALSE on error).
+ *
+ * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code
+ * gives the reason why it failed and $err_msg contains an error message).
+ */
+ function serviceMail($url,$service,$flags,&$err_code,&$err_msg,&$pt)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+
+ if ( gettype($flags) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $flags (should be `integer\')');
+ }
+
+ $res = $PHPCAS_CLIENT->serviceMail($url,$service,$flags,$err_code,$err_msg,$pt);
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /** @} */
+ // ########################################################################
+ // AUTHENTICATION
+ // ########################################################################
+ /**
+ * @addtogroup publicAuth
+ * @{
+ */
+
+ /**
+ * Set the times authentication will be cached before really accessing the CAS server in gateway mode:
+ * - -1: check only once, and then never again (until you pree login)
+ * - 0: always check
+ * - n: check every "n" time
+ *
+ * @param $n an integer.
+ */
+ function setCacheTimesForAuthRecheck($n)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($n) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $header (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCacheTimesForAuthRecheck($n);
+ }
+
+ /**
+ * This method is called to check if the user is authenticated (use the gateway feature).
+ * @return TRUE when the user is authenticated; otherwise FALSE.
+ */
+ function checkAuthentication()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ $auth = $PHPCAS_CLIENT->checkAuthentication();
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__,
+ 'result' => $auth );
+ phpCAS::traceEnd($auth);
+ return $auth;
+ }
+
+ /**
+ * This method is called to force authentication if the user was not already
+ * authenticated. If the user is not authenticated, halt by redirecting to
+ * the CAS server.
+ */
+ function forceAuthentication()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ $auth = $PHPCAS_CLIENT->forceAuthentication();
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__,
+ 'result' => $auth );
+
+ if ( !$auth ) {
+ phpCAS::trace('user is not authenticated, redirecting to the CAS server');
+ $PHPCAS_CLIENT->forceAuthentication();
+ } else {
+ phpCAS::trace('no need to authenticate (user `'.phpCAS::getUser().'\' is already authenticated)');
+ }
+
+ phpCAS::traceEnd();
+ return $auth;
+ }
+
+ /**
+ * This method is called to renew the authentication.
+ **/
+ function renewAuthentication() {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before'.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE, 'file' => $dbg[0]['file'], 'line' => $dbg[0]['line'], 'method' => __CLASS__.'::'.__FUNCTION__, 'result' => $auth );
+
+ $PHPCAS_CLIENT->renewAuthentication();
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method has been left from version 0.4.1 for compatibility reasons.
+ */
+ function authenticate()
+ {
+ phpCAS::error('this method is deprecated. You should use '.__CLASS__.'::forceAuthentication() instead');
+ }
+
+ /**
+ * This method is called to check if the user is authenticated (previously or by
+ * tickets given in the URL).
+ *
+ * @return TRUE when the user is authenticated.
+ */
+ function isAuthenticated()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ // call the isAuthenticated method of the global $PHPCAS_CLIENT object
+ $auth = $PHPCAS_CLIENT->isAuthenticated();
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__,
+ 'result' => $auth );
+ phpCAS::traceEnd($auth);
+ return $auth;
+ }
+
+ /**
+ * Checks whether authenticated based on $_SESSION. Useful to avoid
+ * server calls.
+ * @return true if authenticated, false otherwise.
+ * @since 0.4.22 by Brendan Arnold
+ */
+ function isSessionAuthenticated ()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return($PHPCAS_CLIENT->isSessionAuthenticated());
+ }
+
+ /**
+ * This method returns the CAS user's login name.
+ * @warning should not be called only after phpCAS::forceAuthentication()
+ * or phpCAS::checkAuthentication().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getUser()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ return $PHPCAS_CLIENT->getUser();
+ }
+
+ /**
+ * This method returns the CAS user's login name.
+ * @warning should not be called only after phpCAS::forceAuthentication()
+ * or phpCAS::checkAuthentication().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getAttributes()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ return $PHPCAS_CLIENT->getAttributes();
+ }
+ /**
+ * Handle logout requests.
+ */
+ function handleLogoutRequests($check_client=true, $allowed_clients=false)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return($PHPCAS_CLIENT->handleLogoutRequests($check_client, $allowed_clients));
+ }
+
+ /**
+ * This method returns the URL to be used to login.
+ * or phpCAS::isAuthenticated().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getServerLoginURL()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return $PHPCAS_CLIENT->getServerLoginURL();
+ }
+
+ /**
+ * Set the login URL of the CAS server.
+ * @param $url the login URL
+ * @since 0.4.21 by Wyman Chan
+ */
+ function setServerLoginURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerLoginURL($url);
+ phpCAS::traceEnd();
+ }
+
+
+ /**
+ * Set the serviceValidate URL of the CAS server.
+ * @param $url the serviceValidate URL
+ * @since 1.1.0 by Joachim Fritschi
+ */
+ function setServerServiceValidateURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerServiceValidateURL($url);
+ phpCAS::traceEnd();
+ }
+
+
+ /**
+ * Set the proxyValidate URL of the CAS server.
+ * @param $url the proxyValidate URL
+ * @since 1.1.0 by Joachim Fritschi
+ */
+ function setServerProxyValidateURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerProxyValidateURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the samlValidate URL of the CAS server.
+ * @param $url the samlValidate URL
+ * @since 1.1.0 by Joachim Fritschi
+ */
+ function setServerSamlValidateURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerSamlValidateURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method returns the URL to be used to login.
+ * or phpCAS::isAuthenticated().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getServerLogoutURL()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return $PHPCAS_CLIENT->getServerLogoutURL();
+ }
+
+ /**
+ * Set the logout URL of the CAS server.
+ * @param $url the logout URL
+ * @since 0.4.21 by Wyman Chan
+ */
+ function setServerLogoutURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerLogoutURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS.
+ * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server
+ * @public
+ */
+ function logout($params = "") {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if (!is_object($PHPCAS_CLIENT)) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ $parsedParams = array();
+ if ($params != "") {
+ if (is_string($params)) {
+ phpCAS::error('method `phpCAS::logout($url)\' is now deprecated, use `phpCAS::logoutWithUrl($url)\' instead');
+ }
+ if (!is_array($params)) {
+ phpCAS::error('type mismatched for parameter $params (should be `array\')');
+ }
+ foreach ($params as $key => $value) {
+ if ($key != "service" && $key != "url") {
+ phpCAS::error('only `url\' and `service\' parameters are allowed for method `phpCAS::logout($params)\'');
+ }
+ $parsedParams[$key] = $value;
+ }
+ }
+ $PHPCAS_CLIENT->logout($parsedParams);
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS. Halts by redirecting to the CAS server.
+ * @param $service a URL that will be transmitted to the CAS server
+ */
+ function logoutWithRedirectService($service) {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if (!is_string($service)) {
+ phpCAS::error('type mismatched for parameter $service (should be `string\')');
+ }
+ $PHPCAS_CLIENT->logout(array("service" => $service));
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS. Halts by redirecting to the CAS server.
+ * @param $url a URL that will be transmitted to the CAS server
+ */
+ function logoutWithUrl($url) {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if (!is_string($url)) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->logout(array("url" => $url));
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS. Halts by redirecting to the CAS server.
+ * @param $service a URL that will be transmitted to the CAS server
+ * @param $url a URL that will be transmitted to the CAS server
+ */
+ function logoutWithRedirectServiceAndUrl($service, $url) {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if (!is_string($service)) {
+ phpCAS::error('type mismatched for parameter $service (should be `string\')');
+ }
+ if (!is_string($url)) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->logout(array("service" => $service, "url" => $url));
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the fixed URL that will be used by the CAS server to transmit the PGT.
+ * When this method is not called, a phpCAS script uses its own URL for the callback.
+ *
+ * @param $url the URL
+ */
+ function setFixedCallbackURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCallbackURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the fixed URL that will be set as the CAS service parameter. When this
+ * method is not called, a phpCAS script uses its own URL.
+ *
+ * @param $url the URL
+ */
+ function setFixedServiceURL($url)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Get the URL that is set as the CAS service parameter.
+ */
+ function getServiceURL()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ return($PHPCAS_CLIENT->getURL());
+ }
+
+ /**
+ * Retrieve a Proxy Ticket from the CAS server.
+ */
+ function retrievePT($target_service,&$err_code,&$err_msg)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($target_service) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $target_service(should be `string\')');
+ }
+ return($PHPCAS_CLIENT->retrievePT($target_service,$err_code,$err_msg));
+ }
+
+ /**
+ * Set the certificate of the CAS server.
+ *
+ * @param $cert the PEM certificate
+ */
+ function setCasServerCert($cert)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if ( gettype($cert) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $cert (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCasServerCert($cert);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the certificate of the CAS server CA.
+ *
+ * @param $cert the CA certificate
+ */
+ function setCasServerCACert($cert)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if ( gettype($cert) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $cert (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCasServerCACert($cert);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set no SSL validation for the CAS server.
+ */
+ function setNoCasServerValidation()
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ $PHPCAS_CLIENT->setNoCasServerValidation();
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+
+ /**
+ * Change CURL options.
+ * CURL is used to connect through HTTPS to CAS server
+ * @param $key the option key
+ * @param $value the value to set
+ */
+ function setExtraCurlOption($key, $value)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ $PHPCAS_CLIENT->setExtraCurlOption($key, $value);
+ phpCAS::traceEnd();
+ }
+
+}
+
+// ########################################################################
+// DOCUMENTATION
+// ########################################################################
+
+// ########################################################################
+// MAIN PAGE
+
+/**
+ * @mainpage
+ *
+ * The following pages only show the source documentation.
+ *
+ */
+
+// ########################################################################
+// MODULES DEFINITION
+
+/** @defgroup public User interface */
+
+/** @defgroup publicInit Initialization
+ * @ingroup public */
+
+/** @defgroup publicAuth Authentication
+ * @ingroup public */
+
+/** @defgroup publicServices Access to external services
+ * @ingroup public */
+
+/** @defgroup publicConfig Configuration
+ * @ingroup public */
+
+/** @defgroup publicLang Internationalization
+ * @ingroup publicConfig */
+
+/** @defgroup publicOutput HTML output
+ * @ingroup publicConfig */
+
+/** @defgroup publicPGTStorage PGT storage
+ * @ingroup publicConfig */
+
+/** @defgroup publicDebug Debugging
+ * @ingroup public */
+
+
+/** @defgroup internal Implementation */
+
+/** @defgroup internalAuthentication Authentication
+ * @ingroup internal */
+
+/** @defgroup internalBasic CAS Basic client features (CAS 1.0, Service Tickets)
+ * @ingroup internal */
+
+/** @defgroup internalProxy CAS Proxy features (CAS 2.0, Proxy Granting Tickets)
+ * @ingroup internal */
+
+/** @defgroup internalPGTStorage PGT storage
+ * @ingroup internalProxy */
+
+/** @defgroup internalPGTStorageDB PGT storage in a database
+ * @ingroup internalPGTStorage */
+
+/** @defgroup internalPGTStorageFile PGT storage on the filesystem
+ * @ingroup internalPGTStorage */
+
+/** @defgroup internalCallback Callback from the CAS server
+ * @ingroup internalProxy */
+
+/** @defgroup internalProxied CAS proxied client features (CAS 2.0, Proxy Tickets)
+ * @ingroup internal */
+
+/** @defgroup internalConfig Configuration
+ * @ingroup internal */
+
+/** @defgroup internalOutput HTML output
+ * @ingroup internalConfig */
+
+/** @defgroup internalLang Internationalization
+ * @ingroup internalConfig
+ *
+ * To add a new language:
+ * - 1. define a new constant PHPCAS_LANG_XXXXXX in CAS/CAS.php
+ * - 2. copy any file from CAS/languages to CAS/languages/XXXXXX.php
+ * - 3. Make the translations
+ */
+
+/** @defgroup internalDebug Debugging
+ * @ingroup internal */
+
+/** @defgroup internalMisc Miscellaneous
+ * @ingroup internal */
+
+// ########################################################################
+// EXAMPLES
+
+/**
+ * @example example_simple.php
+ */
+ /**
+ * @example example_proxy.php
+ */
+ /**
+ * @example example_proxy2.php
+ */
+ /**
+ * @example example_lang.php
+ */
+ /**
+ * @example example_html.php
+ */
+ /**
+ * @example example_file.php
+ */
+ /**
+ * @example example_db.php
+ */
+ /**
+ * @example example_service.php
+ */
+ /**
+ * @example example_session_proxy.php
+ */
+ /**
+ * @example example_session_service.php
+ */
+ /**
+ * @example example_gateway.php
+ */
+
+
+
+?>
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
index 00797b9c5..5a589e4b2 100644
--- a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
+++ b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
@@ -1,190 +1,190 @@
-<?php
-
-/**
- * @file CAS/PGTStorage/pgt-db.php
- * Basic class for PGT database storage
- */
-
-/**
- * @class PGTStorageDB
- * The PGTStorageDB class is a class for PGT database storage. An instance of
- * this class is returned by CASClient::SetPGTStorageDB().
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * @ingroup internalPGTStorageDB
- */
-
-class PGTStorageDB extends PGTStorage
-{
- /**
- * @addtogroup internalPGTStorageDB
- * @{
- */
-
- /**
- * a string representing a PEAR DB URL to connect to the database. Written by
- * PGTStorageDB::PGTStorageDB(), read by getURL().
- *
- * @hideinitializer
- * @private
- */
- var $_url='';
-
- /**
- * This method returns the PEAR DB URL to use to connect to the database.
- *
- * @return a PEAR DB URL
- *
- * @private
- */
- function getURL()
- {
- return $this->_url;
- }
-
- /**
- * The handle of the connection to the database where PGT's are stored. Written by
- * PGTStorageDB::init(), read by getLink().
- *
- * @hideinitializer
- * @private
- */
- var $_link = null;
-
- /**
- * This method returns the handle of the connection to the database where PGT's are
- * stored.
- *
- * @return a handle of connection.
- *
- * @private
- */
- function getLink()
- {
- return $this->_link;
- }
-
- /**
- * The name of the table where PGT's are stored. Written by
- * PGTStorageDB::PGTStorageDB(), read by getTable().
- *
- * @hideinitializer
- * @private
- */
- var $_table = '';
-
- /**
- * This method returns the name of the table where PGT's are stored.
- *
- * @return the name of a table.
- *
- * @private
- */
- function getTable()
- {
- return $this->_table;
- }
-
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * This method returns an informational string giving the type of storage
- * used by the object (used for debugging purposes).
- *
- * @return an informational string.
- * @public
- */
- function getStorageType()
- {
- return "database";
- }
-
- /**
- * This method returns an informational string giving informations on the
- * parameters of the storage.(used for debugging purposes).
- *
- * @public
- */
- function getStorageInfo()
- {
- return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
- }
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
-
- /**
- * The class constructor, called by CASClient::SetPGTStorageDB().
- *
- * @param $cas_parent the CASClient instance that creates the object.
- * @param $user the user to access the data with
- * @param $password the user's password
- * @param $database_type the type of the database hosting the data
- * @param $hostname the server hosting the database
- * @param $port the port the server is listening on
- * @param $database the name of the database
- * @param $table the name of the table storing the data
- *
- * @public
- */
- function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
- {
- phpCAS::traceBegin();
-
- // call the ancestor's constructor
- $this->PGTStorage($cas_parent);
-
- if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
- if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
- if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
- if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
- if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
-
- // build and store the PEAR DB URL
- $this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
-
- // XXX should use setURL and setTable
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * This method is used to initialize the storage. Halts on error.
- *
- * @public
- */
- function init()
- {
- phpCAS::traceBegin();
- // if the storage has already been initialized, return immediatly
- if ( $this->isInitialized() )
- return;
- // call the ancestor's method (mark as initialized)
- parent::init();
-
- //include phpDB library (the test was introduced in release 0.4.8 for
- //the integration into Tikiwiki).
- if (!class_exists('DB')) {
- include_once('DB.php');
- }
-
- // try to connect to the database
- $this->_link = DB::connect($this->getURL());
- if ( DB::isError($this->_link) ) {
- phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
- }
- var_dump($this->_link);
- phpCAS::traceBEnd();
- }
-
- /** @} */
-}
-
+<?php
+
+/**
+ * @file CAS/PGTStorage/pgt-db.php
+ * Basic class for PGT database storage
+ */
+
+/**
+ * @class PGTStorageDB
+ * The PGTStorageDB class is a class for PGT database storage. An instance of
+ * this class is returned by CASClient::SetPGTStorageDB().
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * @ingroup internalPGTStorageDB
+ */
+
+class PGTStorageDB extends PGTStorage
+{
+ /**
+ * @addtogroup internalPGTStorageDB
+ * @{
+ */
+
+ /**
+ * a string representing a PEAR DB URL to connect to the database. Written by
+ * PGTStorageDB::PGTStorageDB(), read by getURL().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_url='';
+
+ /**
+ * This method returns the PEAR DB URL to use to connect to the database.
+ *
+ * @return a PEAR DB URL
+ *
+ * @private
+ */
+ function getURL()
+ {
+ return $this->_url;
+ }
+
+ /**
+ * The handle of the connection to the database where PGT's are stored. Written by
+ * PGTStorageDB::init(), read by getLink().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_link = null;
+
+ /**
+ * This method returns the handle of the connection to the database where PGT's are
+ * stored.
+ *
+ * @return a handle of connection.
+ *
+ * @private
+ */
+ function getLink()
+ {
+ return $this->_link;
+ }
+
+ /**
+ * The name of the table where PGT's are stored. Written by
+ * PGTStorageDB::PGTStorageDB(), read by getTable().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_table = '';
+
+ /**
+ * This method returns the name of the table where PGT's are stored.
+ *
+ * @return the name of a table.
+ *
+ * @private
+ */
+ function getTable()
+ {
+ return $this->_table;
+ }
+
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * This method returns an informational string giving the type of storage
+ * used by the object (used for debugging purposes).
+ *
+ * @return an informational string.
+ * @public
+ */
+ function getStorageType()
+ {
+ return "database";
+ }
+
+ /**
+ * This method returns an informational string giving informations on the
+ * parameters of the storage.(used for debugging purposes).
+ *
+ * @public
+ */
+ function getStorageInfo()
+ {
+ return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
+ }
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+
+ /**
+ * The class constructor, called by CASClient::SetPGTStorageDB().
+ *
+ * @param $cas_parent the CASClient instance that creates the object.
+ * @param $user the user to access the data with
+ * @param $password the user's password
+ * @param $database_type the type of the database hosting the data
+ * @param $hostname the server hosting the database
+ * @param $port the port the server is listening on
+ * @param $database the name of the database
+ * @param $table the name of the table storing the data
+ *
+ * @public
+ */
+ function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
+ {
+ phpCAS::traceBegin();
+
+ // call the ancestor's constructor
+ $this->PGTStorage($cas_parent);
+
+ if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
+ if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
+ if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
+ if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
+ if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
+
+ // build and store the PEAR DB URL
+ $this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
+
+ // XXX should use setURL and setTable
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * This method is used to initialize the storage. Halts on error.
+ *
+ * @public
+ */
+ function init()
+ {
+ phpCAS::traceBegin();
+ // if the storage has already been initialized, return immediatly
+ if ( $this->isInitialized() )
+ return;
+ // call the ancestor's method (mark as initialized)
+ parent::init();
+
+ //include phpDB library (the test was introduced in release 0.4.8 for
+ //the integration into Tikiwiki).
+ if (!class_exists('DB')) {
+ include_once('DB.php');
+ }
+
+ // try to connect to the database
+ $this->_link = DB::connect($this->getURL());
+ if ( DB::isError($this->_link) ) {
+ phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
+ }
+ var_dump($this->_link);
+ phpCAS::traceBEnd();
+ }
+
+ /** @} */
+}
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
index d48a60d67..bc07485b8 100644
--- a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
+++ b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
@@ -1,249 +1,249 @@
-<?php
-
-/**
- * @file CAS/PGTStorage/pgt-file.php
- * Basic class for PGT file storage
- */
-
-/**
- * @class PGTStorageFile
- * The PGTStorageFile class is a class for PGT file storage. An instance of
- * this class is returned by CASClient::SetPGTStorageFile().
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * @ingroup internalPGTStorageFile
- */
-
-class PGTStorageFile extends PGTStorage
-{
- /**
- * @addtogroup internalPGTStorageFile
- * @{
- */
-
- /**
- * a string telling where PGT's should be stored on the filesystem. Written by
- * PGTStorageFile::PGTStorageFile(), read by getPath().
- *
- * @private
- */
- var $_path;
-
- /**
- * This method returns the name of the directory where PGT's should be stored
- * on the filesystem.
- *
- * @return the name of a directory (with leading and trailing '/')
- *
- * @private
- */
- function getPath()
- {
- return $this->_path;
- }
-
- /**
- * a string telling the format to use to store PGT's (plain or xml). Written by
- * PGTStorageFile::PGTStorageFile(), read by getFormat().
- *
- * @private
- */
- var $_format;
-
- /**
- * This method returns the format to use when storing PGT's on the filesystem.
- *
- * @return a string corresponding to the format used (plain or xml).
- *
- * @private
- */
- function getFormat()
- {
- return $this->_format;
- }
-
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * This method returns an informational string giving the type of storage
- * used by the object (used for debugging purposes).
- *
- * @return an informational string.
- * @public
- */
- function getStorageType()
- {
- return "file";
- }
-
- /**
- * This method returns an informational string giving informations on the
- * parameters of the storage.(used for debugging purposes).
- *
- * @return an informational string.
- * @public
- */
- function getStorageInfo()
- {
- return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
- }
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
-
- /**
- * The class constructor, called by CASClient::SetPGTStorageFile().
- *
- * @param $cas_parent the CASClient instance that creates the object.
- * @param $format the format used to store the PGT's (`plain' and `xml' allowed).
- * @param $path the path where the PGT's should be stored
- *
- * @public
- */
- function PGTStorageFile($cas_parent,$format,$path)
- {
- phpCAS::traceBegin();
- // call the ancestor's constructor
- $this->PGTStorage($cas_parent);
-
- if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
- if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
-
- // check that the path is an absolute path
- if (getenv("OS")=="Windows_NT"){
-
- if (!preg_match('`^[a-zA-Z]:`', $path)) {
- phpCAS::error('an absolute path is needed for PGT storage to file');
- }
-
- }
- else
- {
-
- if ( $path[0] != '/' ) {
- phpCAS::error('an absolute path is needed for PGT storage to file');
- }
-
- // store the path (with a leading and trailing '/')
- $path = preg_replace('|[/]*$|','/',$path);
- $path = preg_replace('|^[/]*|','/',$path);
- }
-
- $this->_path = $path;
- // check the format and store it
- switch ($format) {
- case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
- case CAS_PGT_STORAGE_FILE_FORMAT_XML:
- $this->_format = $format;
- break;
- default:
- phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
- }
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * This method is used to initialize the storage. Halts on error.
- *
- * @public
- */
- function init()
- {
- phpCAS::traceBegin();
- // if the storage has already been initialized, return immediatly
- if ( $this->isInitialized() )
- return;
- // call the ancestor's method (mark as initialized)
- parent::init();
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // PGT I/O
- // ########################################################################
-
- /**
- * This method returns the filename corresponding to a PGT Iou.
- *
- * @param $pgt_iou the PGT iou.
- *
- * @return a filename
- * @private
- */
- function getPGTIouFilename($pgt_iou)
- {
- phpCAS::traceBegin();
- $filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
- phpCAS::traceEnd($filename);
- return $filename;
- }
-
- /**
- * This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
- * warning on error.
- *
- * @param $pgt the PGT
- * @param $pgt_iou the PGT iou
- *
- * @public
- */
- function write($pgt,$pgt_iou)
- {
- phpCAS::traceBegin();
- $fname = $this->getPGTIouFilename($pgt_iou);
- if ( $f=fopen($fname,"w") ) {
- if ( fputs($f,$pgt) === FALSE ) {
- phpCAS::error('could not write PGT to `'.$fname.'\'');
- }
- fclose($f);
- } else {
- phpCAS::error('could not open `'.$fname.'\'');
- }
- phpCAS::traceEnd();
- }
-
- /**
- * This method reads a PGT corresponding to a PGT Iou and deletes the
- * corresponding file.
- *
- * @param $pgt_iou the PGT iou
- *
- * @return the corresponding PGT, or FALSE on error
- *
- * @public
- */
- function read($pgt_iou)
- {
- phpCAS::traceBegin();
- $pgt = FALSE;
- $fname = $this->getPGTIouFilename($pgt_iou);
- if ( !($f=fopen($fname,"r")) ) {
- phpCAS::trace('could not open `'.$fname.'\'');
- } else {
- if ( ($pgt=fgets($f)) === FALSE ) {
- phpCAS::trace('could not read PGT from `'.$fname.'\'');
- }
- fclose($f);
- }
-
- // delete the PGT file
- @unlink($fname);
-
- phpCAS::traceEnd($pgt);
- return $pgt;
- }
-
- /** @} */
-
-}
-
-
+<?php
+
+/**
+ * @file CAS/PGTStorage/pgt-file.php
+ * Basic class for PGT file storage
+ */
+
+/**
+ * @class PGTStorageFile
+ * The PGTStorageFile class is a class for PGT file storage. An instance of
+ * this class is returned by CASClient::SetPGTStorageFile().
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * @ingroup internalPGTStorageFile
+ */
+
+class PGTStorageFile extends PGTStorage
+{
+ /**
+ * @addtogroup internalPGTStorageFile
+ * @{
+ */
+
+ /**
+ * a string telling where PGT's should be stored on the filesystem. Written by
+ * PGTStorageFile::PGTStorageFile(), read by getPath().
+ *
+ * @private
+ */
+ var $_path;
+
+ /**
+ * This method returns the name of the directory where PGT's should be stored
+ * on the filesystem.
+ *
+ * @return the name of a directory (with leading and trailing '/')
+ *
+ * @private
+ */
+ function getPath()
+ {
+ return $this->_path;
+ }
+
+ /**
+ * a string telling the format to use to store PGT's (plain or xml). Written by
+ * PGTStorageFile::PGTStorageFile(), read by getFormat().
+ *
+ * @private
+ */
+ var $_format;
+
+ /**
+ * This method returns the format to use when storing PGT's on the filesystem.
+ *
+ * @return a string corresponding to the format used (plain or xml).
+ *
+ * @private
+ */
+ function getFormat()
+ {
+ return $this->_format;
+ }
+
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * This method returns an informational string giving the type of storage
+ * used by the object (used for debugging purposes).
+ *
+ * @return an informational string.
+ * @public
+ */
+ function getStorageType()
+ {
+ return "file";
+ }
+
+ /**
+ * This method returns an informational string giving informations on the
+ * parameters of the storage.(used for debugging purposes).
+ *
+ * @return an informational string.
+ * @public
+ */
+ function getStorageInfo()
+ {
+ return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
+ }
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+
+ /**
+ * The class constructor, called by CASClient::SetPGTStorageFile().
+ *
+ * @param $cas_parent the CASClient instance that creates the object.
+ * @param $format the format used to store the PGT's (`plain' and `xml' allowed).
+ * @param $path the path where the PGT's should be stored
+ *
+ * @public
+ */
+ function PGTStorageFile($cas_parent,$format,$path)
+ {
+ phpCAS::traceBegin();
+ // call the ancestor's constructor
+ $this->PGTStorage($cas_parent);
+
+ if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
+ if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
+
+ // check that the path is an absolute path
+ if (getenv("OS")=="Windows_NT"){
+
+ if (!preg_match('`^[a-zA-Z]:`', $path)) {
+ phpCAS::error('an absolute path is needed for PGT storage to file');
+ }
+
+ }
+ else
+ {
+
+ if ( $path[0] != '/' ) {
+ phpCAS::error('an absolute path is needed for PGT storage to file');
+ }
+
+ // store the path (with a leading and trailing '/')
+ $path = preg_replace('|[/]*$|','/',$path);
+ $path = preg_replace('|^[/]*|','/',$path);
+ }
+
+ $this->_path = $path;
+ // check the format and store it
+ switch ($format) {
+ case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
+ case CAS_PGT_STORAGE_FILE_FORMAT_XML:
+ $this->_format = $format;
+ break;
+ default:
+ phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
+ }
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * This method is used to initialize the storage. Halts on error.
+ *
+ * @public
+ */
+ function init()
+ {
+ phpCAS::traceBegin();
+ // if the storage has already been initialized, return immediatly
+ if ( $this->isInitialized() )
+ return;
+ // call the ancestor's method (mark as initialized)
+ parent::init();
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // PGT I/O
+ // ########################################################################
+
+ /**
+ * This method returns the filename corresponding to a PGT Iou.
+ *
+ * @param $pgt_iou the PGT iou.
+ *
+ * @return a filename
+ * @private
+ */
+ function getPGTIouFilename($pgt_iou)
+ {
+ phpCAS::traceBegin();
+ $filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
+ phpCAS::traceEnd($filename);
+ return $filename;
+ }
+
+ /**
+ * This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
+ * warning on error.
+ *
+ * @param $pgt the PGT
+ * @param $pgt_iou the PGT iou
+ *
+ * @public
+ */
+ function write($pgt,$pgt_iou)
+ {
+ phpCAS::traceBegin();
+ $fname = $this->getPGTIouFilename($pgt_iou);
+ if ( $f=fopen($fname,"w") ) {
+ if ( fputs($f,$pgt) === FALSE ) {
+ phpCAS::error('could not write PGT to `'.$fname.'\'');
+ }
+ fclose($f);
+ } else {
+ phpCAS::error('could not open `'.$fname.'\'');
+ }
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method reads a PGT corresponding to a PGT Iou and deletes the
+ * corresponding file.
+ *
+ * @param $pgt_iou the PGT iou
+ *
+ * @return the corresponding PGT, or FALSE on error
+ *
+ * @public
+ */
+ function read($pgt_iou)
+ {
+ phpCAS::traceBegin();
+ $pgt = FALSE;
+ $fname = $this->getPGTIouFilename($pgt_iou);
+ if ( !($f=fopen($fname,"r")) ) {
+ phpCAS::trace('could not open `'.$fname.'\'');
+ } else {
+ if ( ($pgt=fgets($f)) === FALSE ) {
+ phpCAS::trace('could not read PGT from `'.$fname.'\'');
+ }
+ fclose($f);
+ }
+
+ // delete the PGT file
+ @unlink($fname);
+
+ phpCAS::traceEnd($pgt);
+ return $pgt;
+ }
+
+ /** @} */
+
+}
+
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
index 8fd3c9e12..cd9b49967 100644
--- a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
+++ b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
@@ -1,188 +1,188 @@
-<?php
-
-/**
- * @file CAS/PGTStorage/pgt-main.php
- * Basic class for PGT storage
- */
-
-/**
- * @class PGTStorage
- * The PGTStorage class is a generic class for PGT storage. This class should
- * not be instanciated itself but inherited by specific PGT storage classes.
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * @ingroup internalPGTStorage
- */
-
-class PGTStorage
-{
- /**
- * @addtogroup internalPGTStorage
- * @{
- */
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
-
- /**
- * The constructor of the class, should be called only by inherited classes.
- *
- * @param $cas_parent the CASclient instance that creates the current object.
- *
- * @protected
- */
- function PGTStorage($cas_parent)
- {
- phpCAS::traceBegin();
- if ( !$cas_parent->isProxy() ) {
- phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
- }
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * This virtual method returns an informational string giving the type of storage
- * used by the object (used for debugging purposes).
- *
- * @public
- */
- function getStorageType()
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- /**
- * This virtual method returns an informational string giving informations on the
- * parameters of the storage.(used for debugging purposes).
- *
- * @public
- */
- function getStorageInfo()
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- // ########################################################################
- // ERROR HANDLING
- // ########################################################################
-
- /**
- * string used to store an error message. Written by PGTStorage::setErrorMessage(),
- * read by PGTStorage::getErrorMessage().
- *
- * @hideinitializer
- * @private
- * @deprecated not used.
- */
- var $_error_message=FALSE;
-
- /**
- * This method sets en error message, which can be read later by
- * PGTStorage::getErrorMessage().
- *
- * @param $error_message an error message
- *
- * @protected
- * @deprecated not used.
- */
- function setErrorMessage($error_message)
- {
- $this->_error_message = $error_message;
- }
-
- /**
- * This method returns an error message set by PGTStorage::setErrorMessage().
- *
- * @return an error message when set by PGTStorage::setErrorMessage(), FALSE
- * otherwise.
- *
- * @public
- * @deprecated not used.
- */
- function getErrorMessage()
- {
- return $this->_error_message;
- }
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * a boolean telling if the storage has already been initialized. Written by
- * PGTStorage::init(), read by PGTStorage::isInitialized().
- *
- * @hideinitializer
- * @private
- */
- var $_initialized = FALSE;
-
- /**
- * This method tells if the storage has already been intialized.
- *
- * @return a boolean
- *
- * @protected
- */
- function isInitialized()
- {
- return $this->_initialized;
- }
-
- /**
- * This virtual method initializes the object.
- *
- * @protected
- */
- function init()
- {
- $this->_initialized = TRUE;
- }
-
- // ########################################################################
- // PGT I/O
- // ########################################################################
-
- /**
- * This virtual method stores a PGT and its corresponding PGT Iuo.
- * @note Should never be called.
- *
- * @param $pgt the PGT
- * @param $pgt_iou the PGT iou
- *
- * @protected
- */
- function write($pgt,$pgt_iou)
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- /**
- * This virtual method reads a PGT corresponding to a PGT Iou and deletes
- * the corresponding storage entry.
- * @note Should never be called.
- *
- * @param $pgt_iou the PGT iou
- *
- * @protected
- */
- function read($pgt_iou)
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- /** @} */
-
-}
-
-// include specific PGT storage classes
-include_once(dirname(__FILE__).'/pgt-file.php');
-include_once(dirname(__FILE__).'/pgt-db.php');
-
+<?php
+
+/**
+ * @file CAS/PGTStorage/pgt-main.php
+ * Basic class for PGT storage
+ */
+
+/**
+ * @class PGTStorage
+ * The PGTStorage class is a generic class for PGT storage. This class should
+ * not be instanciated itself but inherited by specific PGT storage classes.
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * @ingroup internalPGTStorage
+ */
+
+class PGTStorage
+{
+ /**
+ * @addtogroup internalPGTStorage
+ * @{
+ */
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+
+ /**
+ * The constructor of the class, should be called only by inherited classes.
+ *
+ * @param $cas_parent the CASclient instance that creates the current object.
+ *
+ * @protected
+ */
+ function PGTStorage($cas_parent)
+ {
+ phpCAS::traceBegin();
+ if ( !$cas_parent->isProxy() ) {
+ phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
+ }
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * This virtual method returns an informational string giving the type of storage
+ * used by the object (used for debugging purposes).
+ *
+ * @public
+ */
+ function getStorageType()
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ /**
+ * This virtual method returns an informational string giving informations on the
+ * parameters of the storage.(used for debugging purposes).
+ *
+ * @public
+ */
+ function getStorageInfo()
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ // ########################################################################
+ // ERROR HANDLING
+ // ########################################################################
+
+ /**
+ * string used to store an error message. Written by PGTStorage::setErrorMessage(),
+ * read by PGTStorage::getErrorMessage().
+ *
+ * @hideinitializer
+ * @private
+ * @deprecated not used.
+ */
+ var $_error_message=FALSE;
+
+ /**
+ * This method sets en error message, which can be read later by
+ * PGTStorage::getErrorMessage().
+ *
+ * @param $error_message an error message
+ *
+ * @protected
+ * @deprecated not used.
+ */
+ function setErrorMessage($error_message)
+ {
+ $this->_error_message = $error_message;
+ }
+
+ /**
+ * This method returns an error message set by PGTStorage::setErrorMessage().
+ *
+ * @return an error message when set by PGTStorage::setErrorMessage(), FALSE
+ * otherwise.
+ *
+ * @public
+ * @deprecated not used.
+ */
+ function getErrorMessage()
+ {
+ return $this->_error_message;
+ }
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * a boolean telling if the storage has already been initialized. Written by
+ * PGTStorage::init(), read by PGTStorage::isInitialized().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_initialized = FALSE;
+
+ /**
+ * This method tells if the storage has already been intialized.
+ *
+ * @return a boolean
+ *
+ * @protected
+ */
+ function isInitialized()
+ {
+ return $this->_initialized;
+ }
+
+ /**
+ * This virtual method initializes the object.
+ *
+ * @protected
+ */
+ function init()
+ {
+ $this->_initialized = TRUE;
+ }
+
+ // ########################################################################
+ // PGT I/O
+ // ########################################################################
+
+ /**
+ * This virtual method stores a PGT and its corresponding PGT Iuo.
+ * @note Should never be called.
+ *
+ * @param $pgt the PGT
+ * @param $pgt_iou the PGT iou
+ *
+ * @protected
+ */
+ function write($pgt,$pgt_iou)
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ /**
+ * This virtual method reads a PGT corresponding to a PGT Iou and deletes
+ * the corresponding storage entry.
+ * @note Should never be called.
+ *
+ * @param $pgt_iou the PGT iou
+ *
+ * @protected
+ */
+ function read($pgt_iou)
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ /** @} */
+
+}
+
+// include specific PGT storage classes
+include_once(dirname(__FILE__).'/pgt-file.php');
+include_once(dirname(__FILE__).'/pgt-db.php');
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/client.php b/plugins/CasAuthentication/extlib/CAS/client.php
index bbde55a28..ad5a23f83 100644
--- a/plugins/CasAuthentication/extlib/CAS/client.php
+++ b/plugins/CasAuthentication/extlib/CAS/client.php
@@ -351,6 +351,43 @@ class CASClient
{
return $this->_server['login_url'] = $url;
}
+
+
+ /**
+ * This method sets the serviceValidate URL of the CAS server.
+ * @param $url the serviceValidate URL
+ * @private
+ * @since 1.1.0 by Joachim Fritschi
+ */
+ function setServerServiceValidateURL($url)
+ {
+ return $this->_server['service_validate_url'] = $url;
+ }
+
+
+ /**
+ * This method sets the proxyValidate URL of the CAS server.
+ * @param $url the proxyValidate URL
+ * @private
+ * @since 1.1.0 by Joachim Fritschi
+ */
+ function setServerProxyValidateURL($url)
+ {
+ return $this->_server['proxy_validate_url'] = $url;
+ }
+
+
+ /**
+ * This method sets the samlValidate URL of the CAS server.
+ * @param $url the samlValidate URL
+ * @private
+ * @since 1.1.0 by Joachim Fritschi
+ */
+ function setServerSamlValidateURL($url)
+ {
+ return $this->_server['saml_validate_url'] = $url;
+ }
+
/**
* This method is used to retrieve the service validating URL of the CAS server.
@@ -373,7 +410,25 @@ class CASClient
// return $this->_server['service_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL());
return $this->_server['service_validate_url'].'?service='.urlencode($this->getURL());
}
-
+ /**
+ * This method is used to retrieve the SAML validating URL of the CAS server.
+ * @return a URL.
+ * @private
+ */
+ function getServerSamlValidateURL()
+ {
+ phpCAS::traceBegin();
+ // the URL is build only when needed
+ if ( empty($this->_server['saml_validate_url']) ) {
+ switch ($this->getServerVersion()) {
+ case SAML_VERSION_1_1:
+ $this->_server['saml_validate_url'] = $this->getServerBaseURL().'samlValidate';
+ break;
+ }
+ }
+ phpCAS::traceEnd($this->_server['saml_validate_url'].'?TARGET='.urlencode($this->getURL()));
+ return $this->_server['saml_validate_url'].'?TARGET='.urlencode($this->getURL());
+ }
/**
* This method is used to retrieve the proxy validating URL of the CAS server.
* @return a URL.
@@ -497,31 +552,51 @@ class CASClient
phpCAS::traceBegin();
- if (!$this->isLogoutRequest() && !empty($_GET['ticket']) && $start_session) {
- // copy old session vars and destroy the current session
- if (!isset($_SESSION)) {
- session_start();
- }
- $old_session = $_SESSION;
- session_destroy();
- // set up a new session, of name based on the ticket
- $session_id = preg_replace('/[^\w]/','',$_GET['ticket']);
- phpCAS::LOG("Session ID: " . $session_id);
- session_id($session_id);
- if (!isset($_SESSION)) {
- session_start();
- }
- // restore old session vars
- $_SESSION = $old_session;
- // Redirect to location without ticket.
- header('Location: '.$this->getURL());
- }
-
- //activate session mechanism if desired
- if (!$this->isLogoutRequest() && $start_session) {
- session_start();
+ // the redirect header() call and DOM parsing code from domxml-php4-php5.php won't work in PHP4 compatibility mode
+ if (version_compare(PHP_VERSION,'5','>=') && ini_get('zend.ze1_compatibility_mode')) {
+ phpCAS::error('phpCAS cannot support zend.ze1_compatibility_mode. Sorry.');
+ }
+ // skip Session Handling for logout requests and if don't want it'
+ if ($start_session && !$this->isLogoutRequest()) {
+ phpCAS::trace("Starting session handling");
+ // Check for Tickets from the CAS server
+ if (empty($_GET['ticket'])){
+ phpCAS::trace("No ticket found");
+ // only create a session if necessary
+ if (!isset($_SESSION)) {
+ phpCAS::trace("No session found, creating new session");
+ session_start();
+ }
+ }else{
+ phpCAS::trace("Ticket found");
+ // We have to copy any old data before renaming the session
+ if (isset($_SESSION)) {
+ phpCAS::trace("Old active session found, saving old data and destroying session");
+ $old_session = $_SESSION;
+ session_destroy();
+ }else{
+ session_start();
+ phpCAS::trace("Starting possible old session to copy variables");
+ $old_session = $_SESSION;
+ session_destroy();
+ }
+ // set up a new session, of name based on the ticket
+ $session_id = preg_replace('/[^\w]/','',$_GET['ticket']);
+ phpCAS::LOG("Session ID: " . $session_id);
+ session_id($session_id);
+ session_start();
+ // restore old session vars
+ if(isset($old_session)){
+ phpCAS::trace("Restoring old session vars");
+ $_SESSION = $old_session;
+ }
+ }
+ }else{
+ phpCAS::trace("Skipping session creation");
}
+
+ // are we in proxy mode ?
$this->_proxy = $proxy;
//check version
@@ -533,6 +608,8 @@ class CASClient
break;
case CAS_VERSION_2_0:
break;
+ case SAML_VERSION_1_1:
+ break;
default:
phpCAS::error('this version of CAS (`'
.$server_version
@@ -541,29 +618,29 @@ class CASClient
}
$this->_server['version'] = $server_version;
- //check hostname
+ // check hostname
if ( empty($server_hostname)
|| !preg_match('/[\.\d\-abcdefghijklmnopqrstuvwxyz]*/',$server_hostname) ) {
phpCAS::error('bad CAS server hostname (`'.$server_hostname.'\')');
}
$this->_server['hostname'] = $server_hostname;
- //check port
+ // check port
if ( $server_port == 0
|| !is_int($server_port) ) {
phpCAS::error('bad CAS server port (`'.$server_hostname.'\')');
}
$this->_server['port'] = $server_port;
- //check URI
+ // check URI
if ( !preg_match('/[\.\d\-_abcdefghijklmnopqrstuvwxyz\/]*/',$server_uri) ) {
phpCAS::error('bad CAS server URI (`'.$server_uri.'\')');
}
- //add leading and trailing `/' and remove doubles
+ // add leading and trailing `/' and remove doubles
$server_uri = preg_replace('/\/\//','/','/'.$server_uri.'/');
$this->_server['uri'] = $server_uri;
- //set to callback mode if PgtIou and PgtId CGI GET parameters are provided
+ // set to callback mode if PgtIou and PgtId CGI GET parameters are provided
if ( $this->isProxy() ) {
$this->setCallbackMode(!empty($_GET['pgtIou'])&&!empty($_GET['pgtId']));
}
@@ -590,8 +667,12 @@ class CASClient
}
break;
case CAS_VERSION_2_0: // check for a Service or Proxy Ticket
- if( preg_match('/^[SP]T-/',$ticket) ) {
- phpCAS::trace('ST or PT \''.$ticket.'\' found');
+ if (preg_match('/^ST-/', $ticket)) {
+ phpCAS::trace('ST \'' . $ticket . '\' found');
+ $this->setST($ticket);
+ unset ($_GET['ticket']);
+ } else if (preg_match('/^PT-/', $ticket)) {
+ phpCAS::trace('PT \'' . $ticket . '\' found');
$this->setPT($ticket);
unset($_GET['ticket']);
} else if ( !empty($ticket) ) {
@@ -599,6 +680,16 @@ class CASClient
phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');
}
break;
+ case SAML_VERSION_1_1: // SAML just does Service Tickets
+ if( preg_match('/^[SP]T-/',$ticket) ) {
+ phpCAS::trace('SA \''.$ticket.'\' found');
+ $this->setSA($ticket);
+ unset($_GET['ticket']);
+ } else if ( !empty($ticket) ) {
+ //ill-formed ticket, halt
+ phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');
+ }
+ break;
}
}
phpCAS::traceEnd();
@@ -652,6 +743,45 @@ class CASClient
}
return $this->_user;
}
+
+
+
+ /***********************************************************************************************************************
+ * Atrributes section
+ *
+ * @author Matthias Crauwels <matthias.crauwels@ugent.be>, Ghent University, Belgium
+ *
+ ***********************************************************************************************************************/
+ /**
+ * The Authenticated users attributes. Written by CASClient::setAttributes(), read by CASClient::getAttributes().
+ * @attention client applications should use phpCAS::getAttributes().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_attributes = array();
+
+ function setAttributes($attributes)
+ { $this->_attributes = $attributes; }
+
+ function getAttributes() {
+ if ( empty($this->_user) ) { // if no user is set, there shouldn't be any attributes also...
+ phpCAS::error('this method should be used only after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
+ }
+ return $this->_attributes;
+ }
+
+ function hasAttributes()
+ { return !empty($this->_attributes); }
+
+ function hasAttribute($key)
+ { return (is_array($this->_attributes) && array_key_exists($key, $this->_attributes)); }
+
+ function getAttribute($key) {
+ if($this->hasAttribute($key)) {
+ return $this->_attributes[$key];
+ }
+ }
/**
* This method is called to renew the authentication of the user
@@ -778,55 +908,72 @@ class CASClient
* This method is called to check if the user is authenticated (previously or by
* tickets given in the URL).
*
- * @return TRUE when the user is authenticated.
+ * @return TRUE when the user is authenticated. Also may redirect to the same URL without the ticket.
*
* @public
*/
function isAuthenticated()
{
- phpCAS::traceBegin();
- $res = FALSE;
- $validate_url = '';
-
- if ( $this->wasPreviouslyAuthenticated() ) {
- // the user has already (previously during the session) been
- // authenticated, nothing to be done.
- phpCAS::trace('user was already authenticated, no need to look for tickets');
- $res = TRUE;
- }
- elseif ( $this->hasST() ) {
- // if a Service Ticket was given, validate it
- phpCAS::trace('ST `'.$this->getST().'\' is present');
- $this->validateST($validate_url,$text_response,$tree_response); // if it fails, it halts
- phpCAS::trace('ST `'.$this->getST().'\' was validated');
- if ( $this->isProxy() ) {
- $this->validatePGT($validate_url,$text_response,$tree_response); // idem
- phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
- $_SESSION['phpCAS']['pgt'] = $this->getPGT();
+ phpCAS::traceBegin();
+ $res = FALSE;
+ $validate_url = '';
+
+ if ( $this->wasPreviouslyAuthenticated() ) {
+ // the user has already (previously during the session) been
+ // authenticated, nothing to be done.
+ phpCAS::trace('user was already authenticated, no need to look for tickets');
+ $res = TRUE;
}
- $_SESSION['phpCAS']['user'] = $this->getUser();
- $res = TRUE;
- }
- elseif ( $this->hasPT() ) {
- // if a Proxy Ticket was given, validate it
- phpCAS::trace('PT `'.$this->getPT().'\' is present');
- $this->validatePT($validate_url,$text_response,$tree_response); // note: if it fails, it halts
- phpCAS::trace('PT `'.$this->getPT().'\' was validated');
- if ( $this->isProxy() ) {
- $this->validatePGT($validate_url,$text_response,$tree_response); // idem
- phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
- $_SESSION['phpCAS']['pgt'] = $this->getPGT();
+ else {
+ if ( $this->hasST() ) {
+ // if a Service Ticket was given, validate it
+ phpCAS::trace('ST `'.$this->getST().'\' is present');
+ $this->validateST($validate_url,$text_response,$tree_response); // if it fails, it halts
+ phpCAS::trace('ST `'.$this->getST().'\' was validated');
+ if ( $this->isProxy() ) {
+ $this->validatePGT($validate_url,$text_response,$tree_response); // idem
+ phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
+ $_SESSION['phpCAS']['pgt'] = $this->getPGT();
+ }
+ $_SESSION['phpCAS']['user'] = $this->getUser();
+ $res = TRUE;
+ }
+ elseif ( $this->hasPT() ) {
+ // if a Proxy Ticket was given, validate it
+ phpCAS::trace('PT `'.$this->getPT().'\' is present');
+ $this->validatePT($validate_url,$text_response,$tree_response); // note: if it fails, it halts
+ phpCAS::trace('PT `'.$this->getPT().'\' was validated');
+ if ( $this->isProxy() ) {
+ $this->validatePGT($validate_url,$text_response,$tree_response); // idem
+ phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
+ $_SESSION['phpCAS']['pgt'] = $this->getPGT();
+ }
+ $_SESSION['phpCAS']['user'] = $this->getUser();
+ $res = TRUE;
+ }
+ elseif ( $this->hasSA() ) {
+ // if we have a SAML ticket, validate it.
+ phpCAS::trace('SA `'.$this->getSA().'\' is present');
+ $this->validateSA($validate_url,$text_response,$tree_response); // if it fails, it halts
+ phpCAS::trace('SA `'.$this->getSA().'\' was validated');
+ $_SESSION['phpCAS']['user'] = $this->getUser();
+ $_SESSION['phpCAS']['attributes'] = $this->getAttributes();
+ $res = TRUE;
+ }
+ else {
+ // no ticket given, not authenticated
+ phpCAS::trace('no ticket found');
+ }
+ if ($res) {
+ // if called with a ticket parameter, we need to redirect to the app without the ticket so that CAS-ification is transparent to the browser (for later POSTS)
+ // most of the checks and errors should have been made now, so we're safe for redirect without masking error messages.
+ header('Location: '.$this->getURL());
+ phpCAS::log( "Prepare redirect to : ".$this->getURL() );
+ }
}
- $_SESSION['phpCAS']['user'] = $this->getUser();
- $res = TRUE;
- }
- else {
- // no ticket given, not authenticated
- phpCAS::trace('no ticket found');
- }
-
- phpCAS::traceEnd($res);
- return $res;
+
+ phpCAS::traceEnd($res);
+ return $res;
}
/**
@@ -889,6 +1036,9 @@ class CASClient
if ( $this->isSessionAuthenticated() ) {
// authentication already done
$this->setUser($_SESSION['phpCAS']['user']);
+ if(isset($_SESSION['phpCAS']['attributes'])){
+ $this->setAttributes($_SESSION['phpCAS']['attributes']);
+ }
phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\'');
$auth = TRUE;
} else {
@@ -917,6 +1067,7 @@ class CASClient
printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
$this->printHTMLFooter();
+
phpCAS::traceExit();
exit();
}
@@ -962,11 +1113,15 @@ class CASClient
$cas_url = $cas_url . $paramSeparator . "service=" . urlencode($params['service']);
}
header('Location: '.$cas_url);
+ phpCAS::log( "Prepare redirect to : ".$cas_url );
+
session_unset();
session_destroy();
+
$this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));
printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
$this->printHTMLFooter();
+
phpCAS::traceExit();
exit();
}
@@ -1009,10 +1164,10 @@ class CASClient
}
$client_ip = $_SERVER['REMOTE_ADDR'];
$client = gethostbyaddr($client_ip);
- phpCAS::log("Client: ".$client);
+ phpCAS::log("Client: ".$client."/".$client_ip);
$allowed = false;
foreach ($allowed_clients as $allowed_client) {
- if ($client == $allowed_client) {
+ if (($client == $allowed_client) or ($client_ip == $allowed_client)) {
phpCAS::log("Allowed client '".$allowed_client."' matches, logout request is allowed");
$allowed = true;
break;
@@ -1284,6 +1439,151 @@ class CASClient
phpCAS::traceEnd(TRUE);
return TRUE;
}
+
+ // ########################################################################
+ // SAML VALIDATION
+ // ########################################################################
+ /**
+ * @addtogroup internalBasic
+ * @{
+ */
+
+ /**
+ * This method is used to validate a SAML TICKET; halt on failure, and sets $validate_url,
+ * $text_reponse and $tree_response on success. These parameters are used later
+ * by CASClient::validatePGT() for CAS proxies.
+ *
+ * @param $validate_url the URL of the request to the CAS server.
+ * @param $text_response the response of the CAS server, as is (XML text).
+ * @param $tree_response the response of the CAS server, as a DOM XML tree.
+ *
+ * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
+ *
+ * @private
+ */
+ function validateSA($validate_url,&$text_response,&$tree_response)
+ {
+ phpCAS::traceBegin();
+
+ // build the URL to validate the ticket
+ $validate_url = $this->getServerSamlValidateURL();
+
+ // open and read the URL
+ if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {
+ phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');
+ $this->authError('SA not validated', $validate_url, TRUE/*$no_response*/);
+ }
+
+ phpCAS::trace('server version: '.$this->getServerVersion());
+
+ // analyze the result depending on the version
+ switch ($this->getServerVersion()) {
+ case SAML_VERSION_1_1:
+
+ // read the response of the CAS server into a DOM object
+ if ( !($dom = domxml_open_mem($text_response))) {
+ phpCAS::trace('domxml_open_mem() failed');
+ $this->authError('SA not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // read the root node of the XML tree
+ if ( !($tree_response = $dom->document_element()) ) {
+ phpCAS::trace('document_element() failed');
+ $this->authError('SA not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // insure that tag name is 'Envelope'
+ if ( $tree_response->node_name() != 'Envelope' ) {
+ phpCAS::trace('bad XML root node (should be `Envelope\' instead of `'.$tree_response->node_name().'\'');
+ $this->authError('SA not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // check for the NameIdentifier tag in the SAML response
+ if ( sizeof($success_elements = $tree_response->get_elements_by_tagname("NameIdentifier")) != 0) {
+ phpCAS::trace('NameIdentifier found');
+ $user = trim($success_elements[0]->get_content());
+ phpCAS::trace('user = `'.$user.'`');
+ $this->setUser($user);
+ $this->setSessionAttributes($text_response);
+ } else {
+ phpCAS::trace('no <NameIdentifier> tag found in SAML payload');
+ $this->authError('SA not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ break;
+ }
+
+ // at this step, ST has been validated and $this->_user has been set,
+ phpCAS::traceEnd(TRUE);
+ return TRUE;
+ }
+
+ /**
+ * This method will parse the DOM and pull out the attributes from the SAML
+ * payload and put them into an array, then put the array into the session.
+ *
+ * @param $text_response the SAML payload.
+ * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
+ *
+ * @private
+ */
+ function setSessionAttributes($text_response)
+ {
+ phpCAS::traceBegin();
+
+ $result = FALSE;
+
+ if (isset($_SESSION[SAML_ATTRIBUTES])) {
+ phpCAS::trace("session attrs already set."); //testbml - do we care?
+ }
+
+ $attr_array = array();
+
+ if (($dom = domxml_open_mem($text_response))) {
+ $xPath = $dom->xpath_new_context();
+ $xPath->xpath_register_ns('samlp', 'urn:oasis:names:tc:SAML:1.0:protocol');
+ $xPath->xpath_register_ns('saml', 'urn:oasis:names:tc:SAML:1.0:assertion');
+ $nodelist = $xPath->xpath_eval("//saml:Attribute");
+ $attrs = $nodelist->nodeset;
+ phpCAS::trace($text_response);
+ foreach($attrs as $attr){
+ $xres = $xPath->xpath_eval("saml:AttributeValue", $attr);
+ $name = $attr->get_attribute("AttributeName");
+ $value_array = array();
+ foreach($xres->nodeset as $node){
+ $value_array[] = $node->get_content();
+
+ }
+ phpCAS::trace("* " . $name . "=" . $value_array);
+ $attr_array[$name] = $value_array;
+ }
+ $_SESSION[SAML_ATTRIBUTES] = $attr_array;
+ // UGent addition...
+ foreach($attr_array as $attr_key => $attr_value) {
+ if(count($attr_value) > 1) {
+ $this->_attributes[$attr_key] = $attr_value;
+ }
+ else {
+ $this->_attributes[$attr_key] = $attr_value[0];
+ }
+ }
+ $result = TRUE;
+ }
+ phpCAS::traceEnd($result);
+ return $result;
+ }
/** @} */
@@ -1495,6 +1795,7 @@ class CASClient
$this->storePGT($pgt,$pgt_iou);
$this->printHTMLFooter();
phpCAS::traceExit();
+ exit();
}
/** @} */
@@ -1585,7 +1886,7 @@ class CASClient
}
// create the storage object
- $this->_pgt_storage = &new PGTStorageFile($this,$format,$path);
+ $this->_pgt_storage = new PGTStorageFile($this,$format,$path);
}
/**
@@ -1622,7 +1923,7 @@ class CASClient
trigger_error('PGT storage into database is an experimental feature, use at your own risk',E_USER_WARNING);
// create the storage object
- $this->_pgt_storage = & new PGTStorageDB($this,$user,$password,$database_type,$hostname,$port,$database,$table);
+ $this->_pgt_storage = new PGTStorageDB($this,$user,$password,$database_type,$hostname,$port,$database,$table);
}
// ########################################################################
@@ -1643,7 +1944,8 @@ class CASClient
*/
function validatePGT(&$validate_url,$text_response,$tree_response)
{
- phpCAS::traceBegin();
+ // here cannot use phpCAS::traceBegin(); alongside domxml-php4-to-php5.php
+ phpCAS::log('start validatePGT()');
if ( sizeof($arr = $tree_response->get_elements_by_tagname("proxyGrantingTicket")) == 0) {
phpCAS::trace('<proxyGrantingTicket> not found');
// authentication succeded, but no PGT Iou was transmitted
@@ -1666,7 +1968,8 @@ class CASClient
}
$this->setPGT($pgt);
}
- phpCAS::traceEnd(TRUE);
+ // here, cannot use phpCAS::traceEnd(TRUE); alongside domxml-php4-to-php5.php
+ phpCAS::log('end validatePGT()');
return TRUE;
}
@@ -1819,7 +2122,15 @@ class CASClient
if ($this->_cas_server_cert == '' && $this->_cas_server_ca_cert == '' && !$this->_no_cas_server_validation) {
phpCAS::error('one of the methods phpCAS::setCasServerCert(), phpCAS::setCasServerCACert() or phpCAS::setNoCasServerValidation() must be called.');
}
- if ($this->_cas_server_cert != '' ) {
+ if ($this->_cas_server_cert != '' && $this->_cas_server_ca_cert != '') {
+ // This branch added by IDMS. Seems phpCAS implementor got a bit confused about the curl options CURLOPT_SSLCERT and CURLOPT_CAINFO
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
+ curl_setopt($ch, CURLOPT_SSLCERT, $this->_cas_server_cert);
+ curl_setopt($ch, CURLOPT_CAINFO, $this->_cas_server_ca_cert);
+ curl_setopt($ch, CURLOPT_VERBOSE, '1');
+ phpCAS::trace('CURL: Set all required opts for mutual authentication ------');
+ } else if ($this->_cas_server_cert != '' ) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSLCERT, $this->_cas_server_cert);
} else if ($this->_cas_server_ca_cert != '') {
@@ -1839,11 +2150,28 @@ class CASClient
if ( is_array($cookies) ) {
curl_setopt($ch,CURLOPT_COOKIE,implode(';',$cookies));
}
+ // add extra stuff if SAML
+ if ($this->hasSA()) {
+ $more_headers = array ("soapaction: http://www.oasis-open.org/committees/security",
+ "cache-control: no-cache",
+ "pragma: no-cache",
+ "accept: text/xml",
+ "connection: keep-alive",
+ "content-type: text/xml");
+
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $more_headers);
+ curl_setopt($ch, CURLOPT_POST, 1);
+ $data = $this->buildSAMLPayload();
+ //phpCAS::trace('SAML Payload: '.print_r($data, TRUE));
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
+ }
// perform the query
$buf = curl_exec ($ch);
+ //phpCAS::trace('CURL: Call completed. Response body is: \''.$buf.'\'');
if ( $buf === FALSE ) {
phpCAS::trace('curl_exec() failed');
$err_msg = 'CURL error #'.curl_errno($ch).': '.curl_error($ch);
+ //phpCAS::trace('curl error: '.$err_msg);
// close the CURL session
curl_close ($ch);
$res = FALSE;
@@ -1858,7 +2186,28 @@ class CASClient
phpCAS::traceEnd($res);
return $res;
}
-
+
+ /**
+ * This method is used to build the SAML POST body sent to /samlValidate URL.
+ *
+ * @return the SOAP-encased SAMLP artifact (the ticket).
+ *
+ * @private
+ */
+ function buildSAMLPayload()
+ {
+ phpCAS::traceBegin();
+
+ //get the ticket
+ $sa = $this->getSA();
+ //phpCAS::trace("SA: ".$sa);
+
+ $body=SAML_SOAP_ENV.SAML_SOAP_BODY.SAMLP_REQUEST.SAML_ASSERTION_ARTIFACT.$sa.SAML_ASSERTION_ARTIFACT_CLOSE.SAMLP_REQUEST_CLOSE.SAML_SOAP_BODY_CLOSE.SAML_SOAP_ENV_CLOSE;
+
+ phpCAS::traceEnd($body);
+ return ($body);
+ }
+
/**
* This method is the callback used by readURL method to request HTTP headers.
*/
@@ -1951,6 +2300,7 @@ class CASClient
*
* @param $url a string giving the URL of the service, including the mailing box
* for IMAP URLs, as accepted by imap_open().
+ * @param $service a string giving for CAS retrieve Proxy ticket
* @param $flags options given to imap_open().
* @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
* success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
@@ -1964,11 +2314,11 @@ class CASClient
*
* @public
*/
- function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)
+ function serviceMail($url,$service,$flags,&$err_code,&$err_msg,&$pt)
{
phpCAS::traceBegin();
// at first retrieve a PT
- $pt = $this->retrievePT($target_service,$err_code,$output);
+ $pt = $this->retrievePT($service,$err_code,$output);
$stream = FALSE;
@@ -2049,7 +2399,30 @@ class CASClient
*/
function hasPT()
{ return !empty($this->_pt); }
-
+ /**
+ * This method returns the SAML Ticket provided in the URL of the request.
+ * @return The SAML ticket.
+ * @private
+ */
+ function getSA()
+ { return 'ST'.substr($this->_sa, 2); }
+
+ /**
+ * This method stores the SAML Ticket.
+ * @param $sa The SAML Ticket.
+ * @private
+ */
+ function setSA($sa)
+ { $this->_sa = $sa; }
+
+ /**
+ * This method tells if a SAML Ticket was stored.
+ * @return TRUE if a SAML Ticket has been stored.
+ * @private
+ */
+ function hasSA()
+ { return !empty($this->_sa); }
+
/** @} */
// ########################################################################
// PT VALIDATION
@@ -2213,8 +2586,13 @@ class CASClient
}
}
- $final_uri .= strtok($_SERVER['REQUEST_URI'],"?");
- $cgi_params = '?'.strtok("?");
+ $php_is_for_sissies = split("\?", $_SERVER['REQUEST_URI'], 2);
+ $final_uri .= $php_is_for_sissies[0];
+ if(sizeof($php_is_for_sissies) > 1){
+ $cgi_params = '?' . $php_is_for_sissies[1];
+ } else {
+ $cgi_params = '?';
+ }
// remove the ticket if present in the CGI parameters
$cgi_params = preg_replace('/&ticket=[^&]*/','',$cgi_params);
$cgi_params = preg_replace('/\?ticket=[^&;]*/','?',$cgi_params);
@@ -2294,4 +2672,4 @@ class CASClient
/** @} */
}
-?> \ No newline at end of file
+?>
diff --git a/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php b/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
deleted file mode 100644
index a0dfb99c7..000000000
--- a/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
+++ /dev/null
@@ -1,277 +0,0 @@
-<?php
-/**
- * @file domxml-php4-php5.php
- * Require PHP5, uses built-in DOM extension.
- * To be used in PHP4 scripts using DOMXML extension.
- * Allows PHP4/DOMXML scripts to run on PHP5/DOM.
- * (Requires PHP5/XSL extension for domxml_xslt functions)
- *
- * Typical use:
- * <pre>
- * {
- * if (version_compare(PHP_VERSION,'5','>='))
- * require_once('domxml-php4-to-php5.php');
- * }
- * </pre>
- *
- * Version 1.5.5, 2005-01-18, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
- *
- * ------------------------------------------------------------------<br>
- * Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
- *
- * Copyright 2004, Licence: Creative Commons "Attribution-ShareAlike 2.0 France" BY-SA (FR),
- * http://creativecommons.org/licenses/by-sa/2.0/fr/
- * http://alexandre.alapetite.net/divers/apropos/#by-sa
- * - Attribution. You must give the original author credit
- * - Share Alike. If you alter, transform, or build upon this work,
- * you may distribute the resulting work only under a license identical to this one
- * - The French law is authoritative
- * - Any of these conditions can be waived if you get permission from Alexandre Alapetite
- * - Please send to Alexandre Alapetite the modifications you make,
- * in order to improve this file for the benefit of everybody
- *
- * If you want to distribute this code, please do it as a link to:
- * http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
- */
-
-function domxml_new_doc($version) {return new php4DOMDocument('');}
-function domxml_open_file($filename) {return new php4DOMDocument($filename);}
-function domxml_open_mem($str)
-{
- $dom=new php4DOMDocument('');
- $dom->myDOMNode->loadXML($str);
- return $dom;
-}
-function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->query($eval_str,$contextnode);}
-function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}
-
-class php4DOMAttr extends php4DOMNode
-{
- function php4DOMAttr($aDOMAttr) {$this->myDOMNode=$aDOMAttr;}
- function Name() {return $this->myDOMNode->name;}
- function Specified() {return $this->myDOMNode->specified;}
- function Value() {return $this->myDOMNode->value;}
-}
-
-class php4DOMDocument extends php4DOMNode
-{
- function php4DOMDocument($filename='')
- {
- $this->myDOMNode=new DOMDocument();
- if ($filename!='') $this->myDOMNode->load($filename);
- }
- function create_attribute($name,$value)
- {
- $myAttr=$this->myDOMNode->createAttribute($name);
- $myAttr->value=$value;
- return new php4DOMAttr($myAttr,$this);
- }
- function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}
- function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}
- function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}
- function create_text_node($content) {return new php4DOMNode($this->myDOMNode->createTextNode($content),$this);}
- function document_element() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
- function dump_file($filename,$compressionmode=false,$format=false) {return $this->myDOMNode->save($filename);}
- function dump_mem($format=false,$encoding=false) {return $this->myDOMNode->saveXML();}
- function get_element_by_id($id) {return new php4DOMElement($this->myDOMNode->getElementById($id),$this);}
- function get_elements_by_tagname($name)
- {
- $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
- $nodeSet=array();
- $i=0;
- if (isset($myDOMNodeList))
- while ($node=$myDOMNodeList->item($i))
- {
- $nodeSet[]=new php4DOMElement($node,$this);
- $i++;
- }
- return $nodeSet;
- }
- function html_dump_mem() {return $this->myDOMNode->saveHTML();}
- function root() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
-}
-
-class php4DOMElement extends php4DOMNode
-{
- function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}
- function get_elements_by_tagname($name)
- {
- $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
- $nodeSet=array();
- $i=0;
- if (isset($myDOMNodeList))
- while ($node=$myDOMNodeList->item($i))
- {
- $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
- $i++;
- }
- return $nodeSet;
- }
- function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}
- function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}
- function set_attribute($name,$value) {return $this->myDOMNode->setAttribute($name,$value);}
- function tagname() {return $this->myDOMNode->tagName;}
-}
-
-class php4DOMNode
-{
- var $myDOMNode;
- var $myOwnerDocument;
- function php4DOMNode($aDomNode,$aOwnerDocument)
- {
- $this->myDOMNode=$aDomNode;
- $this->myOwnerDocument=$aOwnerDocument;
- }
- function __get($name)
- {
- if ($name=='type') return $this->myDOMNode->nodeType;
- elseif ($name=='tagname') return $this->myDOMNode->tagName;
- elseif ($name=='content') return $this->myDOMNode->textContent;
- else
- {
- $myErrors=debug_backtrace();
- trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);
- return false;
- }
- }
- function append_child($newnode) {return new php4DOMElement($this->myDOMNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
- function append_sibling($newnode) {return new php4DOMElement($this->myDOMNode->parentNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
- function attributes()
- {
- $myDOMNodeList=$this->myDOMNode->attributes;
- $nodeSet=array();
- $i=0;
- if (isset($myDOMNodeList))
- while ($node=$myDOMNodeList->item($i))
- {
- $nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);
- $i++;
- }
- return $nodeSet;
- }
- function child_nodes()
- {
- $myDOMNodeList=$this->myDOMNode->childNodes;
- $nodeSet=array();
- $i=0;
- if (isset($myDOMNodeList))
- while ($node=$myDOMNodeList->item($i))
- {
- $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
- $i++;
- }
- return $nodeSet;
- }
- function children() {return $this->child_nodes();}
- function clone_node($deep=false) {return new php4DOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}
- function first_child() {return new php4DOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}
- function get_content() {return $this->myDOMNode->textContent;}
- function has_attributes() {return $this->myDOMNode->hasAttributes();}
- function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}
- function insert_before($newnode,$refnode) {return new php4DOMElement($this->myDOMNode->insertBefore($newnode->myDOMNode,$refnode->myDOMNode),$this->myOwnerDocument);}
- function is_blank_node()
- {
- $myDOMNodeList=$this->myDOMNode->childNodes;
- $i=0;
- if (isset($myDOMNodeList))
- while ($node=$myDOMNodeList->item($i))
- {
- if (($node->nodeType==XML_ELEMENT_NODE)||
- (($node->nodeType==XML_TEXT_NODE)&&!ereg('^([[:cntrl:]]|[[:space:]])*$',$node->nodeValue)))
- return false;
- $i++;
- }
- return true;
- }
- function last_child() {return new php4DOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}
- function new_child($name,$content)
- {
- $mySubNode=$this->myDOMNode->ownerDocument->createElement($name);
- $mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($content));
- $this->myDOMNode->appendChild($mySubNode);
- return new php4DOMElement($mySubNode,$this->myOwnerDocument);
- }
- function next_sibling() {return new php4DOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}
- function node_name() {return $this->myDOMNode->localName;}
- function node_type() {return $this->myDOMNode->nodeType;}
- function node_value() {return $this->myDOMNode->nodeValue;}
- function owner_document() {return $this->myOwnerDocument;}
- function parent_node() {return new php4DOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}
- function prefix() {return $this->myDOMNode->prefix;}
- function previous_sibling() {return new php4DOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}
- function remove_child($oldchild) {return new php4DOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}
- function replace_child($oldnode,$newnode) {return new php4DOMElement($this->myDOMNode->replaceChild($oldnode->myDOMNode,$newnode->myDOMNode),$this->myOwnerDocument);}
- function set_content($text)
- {
- if (($this->myDOMNode->hasChildNodes())&&($this->myDOMNode->firstChild->nodeType==XML_TEXT_NODE))
- $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
- return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($text));
- }
-}
-
-class php4DOMNodelist
-{
- var $myDOMNodelist;
- var $nodeset;
- function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)
- {
- $this->myDOMNodelist=$aDOMNodelist;
- $this->nodeset=array();
- $i=0;
- if (isset($this->myDOMNodelist))
- while ($node=$this->myDOMNodelist->item($i))
- {
- $this->nodeset[]=new php4DOMElement($node,$aOwnerDocument);
- $i++;
- }
- }
-}
-
-class php4DOMXPath
-{
- var $myDOMXPath;
- var $myOwnerDocument;
- function php4DOMXPath($dom_document)
- {
- $this->myOwnerDocument=$dom_document;
- $this->myDOMXPath=new DOMXPath($dom_document->myDOMNode);
- }
- function query($eval_str,$contextnode)
- {
- if (isset($contextnode)) return new php4DOMNodelist($this->myDOMXPath->query($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument);
- else return new php4DOMNodelist($this->myDOMXPath->query($eval_str),$this->myOwnerDocument);
- }
- function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
-}
-
-if (extension_loaded('xsl'))
-{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
- function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
- function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
- function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
- class php4DomXsltStylesheet
- {
- var $myxsltProcessor;
- function php4DomXsltStylesheet($dom_document)
- {
- $this->myxsltProcessor=new xsltProcessor();
- $this->myxsltProcessor->importStyleSheet($dom_document);
- }
- function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)
- {
- foreach ($xslt_parameters as $param=>$value)
- $this->myxsltProcessor->setParameter('',$param,$value);
- $myphp4DOMDocument=new php4DOMDocument();
- $myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
- return $myphp4DOMDocument;
- }
- function result_dump_file($dom_document,$filename)
- {
- $html=$dom_document->myDOMNode->saveHTML();
- file_put_contents($filename,$html);
- return $html;
- }
- function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}
- }
-}
-?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/domxml-php4-to-php5.php b/plugins/CasAuthentication/extlib/CAS/domxml-php4-to-php5.php
new file mode 100644
index 000000000..1dc4e4b97
--- /dev/null
+++ b/plugins/CasAuthentication/extlib/CAS/domxml-php4-to-php5.php
@@ -0,0 +1,499 @@
+<?php
+/*
+ Requires PHP5, uses built-in DOM extension.
+ To be used in PHP4 scripts using DOMXML extension: allows PHP4/DOMXML scripts to run on PHP5/DOM.
+ (Optional: requires PHP5/XSL extension for domxml_xslt functions, PHP>=5.1 for XPath evaluation functions, and PHP>=5.1/libxml for DOMXML error reports)
+
+ Typical use:
+ {
+ if (PHP_VERSION>='5')
+ require_once('domxml-php4-to-php5.php');
+ }
+
+ Version 1.21, 2008-12-05, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
+
+ ------------------------------------------------------------------
+ Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
+
+ Copyright 2004-2008, GNU Lesser General Public License,
+ http://www.gnu.org/licenses/lgpl.html
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/lgpl.html>
+
+ == Rights and obligations ==
+ - Attribution: You must give the original author credit.
+ - Share Alike: If you alter or transform this library,
+ you may distribute the resulting library only under the same license GNU/LGPL.
+ - In case of jurisdiction dispute, the French law is authoritative.
+ - Any of these conditions can be waived if you get permission from Alexandre Alapetite.
+ - Not required, but please send to Alexandre Alapetite the modifications you make,
+ in order to improve this file for the benefit of everybody.
+
+ If you want to distribute this code, please do it as a link to:
+ http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
+*/
+
+define('DOMXML_LOAD_PARSING',0);
+define('DOMXML_LOAD_VALIDATING',1);
+define('DOMXML_LOAD_RECOVERING',2);
+define('DOMXML_LOAD_SUBSTITUTE_ENTITIES',4);
+//define('DOMXML_LOAD_COMPLETE_ATTRS',8);
+define('DOMXML_LOAD_DONT_KEEP_BLANKS',16);
+
+function domxml_new_doc($version) {return new php4DOMDocument();}
+function domxml_new_xmldoc($version) {return new php4DOMDocument();}
+function domxml_open_file($filename,$mode=DOMXML_LOAD_PARSING,&$error=null)
+{
+ $dom=new php4DOMDocument($mode);
+ $errorMode=(func_num_args()>2)&&defined('LIBXML_VERSION');
+ if ($errorMode) libxml_use_internal_errors(true);
+ if (!$dom->myDOMNode->load($filename)) $dom=null;
+ if ($errorMode)
+ {
+ $error=array_map('_error_report',libxml_get_errors());
+ libxml_clear_errors();
+ }
+ return $dom;
+}
+function domxml_open_mem($str,$mode=DOMXML_LOAD_PARSING,&$error=null)
+{
+ $dom=new php4DOMDocument($mode);
+ $errorMode=(func_num_args()>2)&&defined('LIBXML_VERSION');
+ if ($errorMode) libxml_use_internal_errors(true);
+ if (!$dom->myDOMNode->loadXML($str)) $dom=null;
+ if ($errorMode)
+ {
+ $error=array_map('_error_report',libxml_get_errors());
+ libxml_clear_errors();
+ }
+ return $dom;
+}
+function html_doc($html_doc,$from_file=false)
+{
+ $dom=new php4DOMDocument();
+ if ($from_file) $result=$dom->myDOMNode->loadHTMLFile($html_doc);
+ else $result=$dom->myDOMNode->loadHTML($html_doc);
+ return $result ? $dom : null;
+}
+function html_doc_file($filename) {return html_doc($filename,true);}
+function xmldoc($str) {return domxml_open_mem($str);}
+function xmldocfile($filename) {return domxml_open_file($filename);}
+function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->xpath_eval($eval_str,$contextnode);}
+function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}
+function xpath_register_ns($xpath_context,$prefix,$namespaceURI) {return $xpath_context->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
+function _entityDecode($text) {return html_entity_decode(strtr($text,array('&apos;'=>'\'')),ENT_QUOTES,'UTF-8');}
+function _error_report($error) {return array('errormessage'=>$error->message,'nodename'=>'','line'=>$error->line,'col'=>$error->column)+($error->file==''?array():array('directory'=>dirname($error->file),'file'=>basename($error->file)));}
+
+class php4DOMAttr extends php4DOMNode
+{
+ function __get($name)
+ {
+ if ($name==='name') return $this->myDOMNode->name;
+ else return parent::__get($name);
+ }
+ function name() {return $this->myDOMNode->name;}
+ function set_content($text) {}
+ //function set_value($content) {return $this->myDOMNode->value=htmlspecialchars($content,ENT_QUOTES);}
+ function specified() {return $this->myDOMNode->specified;}
+ function value() {return $this->myDOMNode->value;}
+}
+
+class php4DOMDocument extends php4DOMNode
+{
+ function php4DOMDocument($mode=DOMXML_LOAD_PARSING)
+ {
+ $this->myDOMNode=new DOMDocument();
+ $this->myOwnerDocument=$this;
+ if ($mode & DOMXML_LOAD_VALIDATING) $this->myDOMNode->validateOnParse=true;
+ if ($mode & DOMXML_LOAD_RECOVERING) $this->myDOMNode->recover=true;
+ if ($mode & DOMXML_LOAD_SUBSTITUTE_ENTITIES) $this->myDOMNode->substituteEntities=true;
+ if ($mode & DOMXML_LOAD_DONT_KEEP_BLANKS) $this->myDOMNode->preserveWhiteSpace=false;
+ }
+ function add_root($name)
+ {
+ if ($this->myDOMNode->hasChildNodes()) $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
+ return new php4DOMElement($this->myDOMNode->appendChild($this->myDOMNode->createElement($name)),$this->myOwnerDocument);
+ }
+ function create_attribute($name,$value)
+ {
+ $myAttr=$this->myDOMNode->createAttribute($name);
+ $myAttr->value=htmlspecialchars($value,ENT_QUOTES);
+ return new php4DOMAttr($myAttr,$this);
+ }
+ function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}
+ function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}
+ function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}
+ function create_element_ns($uri,$name,$prefix=null)
+ {
+ if ($prefix==null) $prefix=$this->myDOMNode->lookupPrefix($uri);
+ if (($prefix==null)&&(($this->myDOMNode->documentElement==null)||(!$this->myDOMNode->documentElement->isDefaultNamespace($uri)))) $prefix='a'.sprintf('%u',crc32($uri));
+ return new php4DOMElement($this->myDOMNode->createElementNS($uri,$prefix==null ? $name : $prefix.':'.$name),$this);
+ }
+ function create_entity_reference($content) {return new php4DOMNode($this->myDOMNode->createEntityReference($content),$this);} //By Walter Ebert 2007-01-22
+ function create_processing_instruction($target,$data=''){return new php4DomProcessingInstruction($this->myDOMNode->createProcessingInstruction($target,$data),$this);}
+ function create_text_node($content) {return new php4DOMText($this->myDOMNode->createTextNode($content),$this);}
+ function document_element() {return parent::_newDOMElement($this->myDOMNode->documentElement,$this);}
+ function dump_file($filename,$compressionmode=false,$format=false)
+ {
+ $format0=$this->myDOMNode->formatOutput;
+ $this->myDOMNode->formatOutput=$format;
+ $res=$this->myDOMNode->save($filename);
+ $this->myDOMNode->formatOutput=$format0;
+ return $res;
+ }
+ function dump_mem($format=false,$encoding=false)
+ {
+ $format0=$this->myDOMNode->formatOutput;
+ $this->myDOMNode->formatOutput=$format;
+ $encoding0=$this->myDOMNode->encoding;
+ if ($encoding) $this->myDOMNode->encoding=$encoding;
+ $dump=$this->myDOMNode->saveXML();
+ $this->myDOMNode->formatOutput=$format0;
+ if ($encoding) $this->myDOMNode->encoding= $encoding0=='' ? 'UTF-8' : $encoding0; //UTF-8 is XML default encoding
+ return $dump;
+ }
+ function free()
+ {
+ if ($this->myDOMNode->hasChildNodes()) $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
+ $this->myDOMNode=null;
+ $this->myOwnerDocument=null;
+ }
+ function get_element_by_id($id) {return parent::_newDOMElement($this->myDOMNode->getElementById($id),$this);}
+ function get_elements_by_tagname($name)
+ {
+ $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMElement($node,$this);
+ return $nodeSet;
+ }
+ function html_dump_mem() {return $this->myDOMNode->saveHTML();}
+ function root() {return parent::_newDOMElement($this->myDOMNode->documentElement,$this);}
+ function xinclude() {return $this->myDOMNode->xinclude();}
+ function xpath_new_context() {return new php4DOMXPath($this);}
+}
+
+class php4DOMElement extends php4DOMNode
+{
+ function add_namespace($uri,$prefix)
+ {
+ if ($this->myDOMNode->hasAttributeNS('http://www.w3.org/2000/xmlns/',$prefix)) return false;
+ else
+ {
+ $this->myDOMNode->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:'.$prefix,$uri); //By Daniel Walker 2006-09-08
+ return true;
+ }
+ }
+ function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}
+ function get_attribute_node($name) {return parent::_newDOMElement($this->myDOMNode->getAttributeNode($name),$this->myOwnerDocument);}
+ function get_elements_by_tagname($name)
+ {
+ $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
+ return $nodeSet;
+ }
+ function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}
+ function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}
+ function set_attribute($name,$value)
+ {
+ //return $this->myDOMNode->setAttribute($name,$value); //Does not return a DomAttr
+ $myAttr=$this->myDOMNode->ownerDocument->createAttribute($name);
+ $myAttr->value=htmlspecialchars($value,ENT_QUOTES); //Entity problem reported by AL-DesignWorks 2007-09-07
+ $this->myDOMNode->setAttributeNode($myAttr);
+ return new php4DOMAttr($myAttr,$this->myOwnerDocument);
+ }
+ /*function set_attribute_node($attr)
+ {
+ $this->myDOMNode->setAttributeNode($this->_importNode($attr));
+ return $attr;
+ }*/
+ function set_name($name)
+ {
+ if ($this->myDOMNode->prefix=='') $newNode=$this->myDOMNode->ownerDocument->createElement($name);
+ else $newNode=$this->myDOMNode->ownerDocument->createElementNS($this->myDOMNode->namespaceURI,$this->myDOMNode->prefix.':'.$name);
+ $myDOMNodeList=$this->myDOMNode->attributes;
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i++))
+ if ($node->namespaceURI=='') $newNode->setAttribute($node->name,$node->value);
+ else $newNode->setAttributeNS($node->namespaceURI,$node->nodeName,$node->value);
+ $myDOMNodeList=$this->myDOMNode->childNodes;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item(0)) $newNode->appendChild($node);
+ $this->myDOMNode->parentNode->replaceChild($newNode,$this->myDOMNode);
+ $this->myDOMNode=$newNode;
+ return true;
+ }
+ function tagname() {return $this->tagname;}
+}
+
+class php4DOMNode
+{
+ public $myDOMNode;
+ public $myOwnerDocument;
+ function php4DOMNode($aDomNode,$aOwnerDocument)
+ {
+ $this->myDOMNode=$aDomNode;
+ $this->myOwnerDocument=$aOwnerDocument;
+ }
+ function __get($name)
+ {
+ switch ($name)
+ {
+ case 'type': return $this->myDOMNode->nodeType;
+ case 'tagname': return ($this->myDOMNode->nodeType===XML_ELEMENT_NODE) ? $this->myDOMNode->localName : $this->myDOMNode->tagName; //Avoid namespace prefix for DOMElement
+ case 'content': return $this->myDOMNode->textContent;
+ case 'value': return $this->myDOMNode->value;
+ default:
+ $myErrors=debug_backtrace();
+ trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);
+ return false;
+ }
+ }
+ function add_child($newnode) {return append_child($newnode);}
+ function add_namespace($uri,$prefix) {return false;}
+ function append_child($newnode) {return self::_newDOMElement($this->myDOMNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}
+ function append_sibling($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}
+ function attributes()
+ {
+ $myDOMNodeList=$this->myDOMNode->attributes;
+ if (!(isset($myDOMNodeList)&&$this->myDOMNode->hasAttributes())) return null;
+ $nodeSet=array();
+ $i=0;
+ while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);
+ return $nodeSet;
+ }
+ function child_nodes()
+ {
+ $myDOMNodeList=$this->myDOMNode->childNodes;
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=self::_newDOMElement($node,$this->myOwnerDocument);
+ return $nodeSet;
+ }
+ function children() {return $this->child_nodes();}
+ function clone_node($deep=false) {return self::_newDOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}
+ //dump_node($node) should only be called on php4DOMDocument
+ function dump_node($node=null) {return $node==null ? $this->myOwnerDocument->myDOMNode->saveXML($this->myDOMNode) : $this->myOwnerDocument->myDOMNode->saveXML($node->myDOMNode);}
+ function first_child() {return self::_newDOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}
+ function get_content() {return $this->myDOMNode->textContent;}
+ function has_attributes() {return $this->myDOMNode->hasAttributes();}
+ function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}
+ function insert_before($newnode,$refnode) {return self::_newDOMElement($this->myDOMNode->insertBefore($this->_importNode($newnode),$refnode==null?null:$refnode->myDOMNode),$this->myOwnerDocument);}
+ function is_blank_node() {return ($this->myDOMNode->nodeType===XML_TEXT_NODE)&&preg_match('%^\s*$%',$this->myDOMNode->nodeValue);}
+ function last_child() {return self::_newDOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}
+ function new_child($name,$content)
+ {
+ $mySubNode=$this->myDOMNode->ownerDocument->createElement($name);
+ $mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode(_entityDecode($content)));
+ $this->myDOMNode->appendChild($mySubNode);
+ return new php4DOMElement($mySubNode,$this->myOwnerDocument);
+ }
+ function next_sibling() {return self::_newDOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}
+ function node_name() {return ($this->myDOMNode->nodeType===XML_ELEMENT_NODE) ? $this->myDOMNode->localName : $this->myDOMNode->nodeName;} //Avoid namespace prefix for DOMElement
+ function node_type() {return $this->myDOMNode->nodeType;}
+ function node_value() {return $this->myDOMNode->nodeValue;}
+ function owner_document() {return $this->myOwnerDocument;}
+ function parent_node() {return self::_newDOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}
+ function prefix() {return $this->myDOMNode->prefix;}
+ function previous_sibling() {return self::_newDOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}
+ function remove_child($oldchild) {return self::_newDOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}
+ function replace_child($newnode,$oldnode) {return self::_newDOMElement($this->myDOMNode->replaceChild($this->_importNode($newnode),$oldnode->myDOMNode),$this->myOwnerDocument);}
+ function replace_node($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->replaceChild($this->_importNode($newnode),$this->myDOMNode),$this->myOwnerDocument);}
+ function set_content($text) {return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode(_entityDecode($text)));} //Entity problem reported by AL-DesignWorks 2007-09-07
+ //function set_name($name) {return $this->myOwnerDocument->renameNode($this->myDOMNode,$this->myDOMNode->namespaceURI,$name);}
+ function set_namespace($uri,$prefix=null)
+ {//Contributions by Daniel Walker 2006-09-08
+ $nsprefix=$this->myDOMNode->lookupPrefix($uri);
+ if ($nsprefix==null)
+ {
+ $nsprefix= $prefix==null ? $nsprefix='a'.sprintf('%u',crc32($uri)) : $prefix;
+ if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE)
+ {
+ if (($prefix!=null)&&$this->myDOMNode->ownerElement->hasAttributeNS('http://www.w3.org/2000/xmlns/',$nsprefix)&&
+ ($this->myDOMNode->ownerElement->getAttributeNS('http://www.w3.org/2000/xmlns/',$nsprefix)!=$uri))
+ {//Remove namespace
+ $parent=$this->myDOMNode->ownerElement;
+ $parent->removeAttributeNode($this->myDOMNode);
+ $parent->setAttribute($this->myDOMNode->localName,$this->myDOMNode->nodeValue);
+ $this->myDOMNode=$parent->getAttributeNode($this->myDOMNode->localName);
+ return;
+ }
+ $this->myDOMNode->ownerElement->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:'.$nsprefix,$uri);
+ }
+ }
+ if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE)
+ {
+ $parent=$this->myDOMNode->ownerElement;
+ $parent->removeAttributeNode($this->myDOMNode);
+ $parent->setAttributeNS($uri,$nsprefix.':'.$this->myDOMNode->localName,$this->myDOMNode->nodeValue);
+ $this->myDOMNode=$parent->getAttributeNodeNS($uri,$this->myDOMNode->localName);
+ }
+ elseif ($this->myDOMNode->nodeType===XML_ELEMENT_NODE)
+ {
+ $NewNode=$this->myDOMNode->ownerDocument->createElementNS($uri,$nsprefix.':'.$this->myDOMNode->localName);
+ foreach ($this->myDOMNode->attributes as $n) $NewNode->appendChild($n->cloneNode(true));
+ foreach ($this->myDOMNode->childNodes as $n) $NewNode->appendChild($n->cloneNode(true));
+ $xpath=new DOMXPath($this->myDOMNode->ownerDocument);
+ $myDOMNodeList=$xpath->query('namespace::*[name()!="xml"]',$this->myDOMNode); //Add old namespaces
+ foreach ($myDOMNodeList as $n) $NewNode->setAttributeNS('http://www.w3.org/2000/xmlns/',$n->nodeName,$n->nodeValue);
+ $this->myDOMNode->parentNode->replaceChild($NewNode,$this->myDOMNode);
+ $this->myDOMNode=$NewNode;
+ }
+ }
+ function unlink_node()
+ {
+ if ($this->myDOMNode->parentNode!=null)
+ {
+ if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE) $this->myDOMNode->parentNode->removeAttributeNode($this->myDOMNode);
+ else $this->myDOMNode->parentNode->removeChild($this->myDOMNode);
+ }
+ }
+ protected function _importNode($newnode) {return $this->myOwnerDocument===$newnode->myOwnerDocument ? $newnode->myDOMNode : $this->myOwnerDocument->myDOMNode->importNode($newnode->myDOMNode,true);} //To import DOMNode from another DOMDocument
+ static function _newDOMElement($aDOMNode,$aOwnerDocument)
+ {//Check the PHP5 DOMNode before creating a new associated PHP4 DOMNode wrapper
+ if ($aDOMNode==null) return null;
+ switch ($aDOMNode->nodeType)
+ {
+ case XML_ELEMENT_NODE: return new php4DOMElement($aDOMNode,$aOwnerDocument);
+ case XML_TEXT_NODE: return new php4DOMText($aDOMNode,$aOwnerDocument);
+ case XML_ATTRIBUTE_NODE: return new php4DOMAttr($aDOMNode,$aOwnerDocument);
+ case XML_PI_NODE: return new php4DomProcessingInstruction($aDOMNode,$aOwnerDocument);
+ default: return new php4DOMNode($aDOMNode,$aOwnerDocument);
+ }
+ }
+}
+
+class php4DomProcessingInstruction extends php4DOMNode
+{
+ function data() {return $this->myDOMNode->data;}
+ function target() {return $this->myDOMNode->target;}
+}
+
+class php4DOMText extends php4DOMNode
+{
+ function __get($name)
+ {
+ if ($name==='tagname') return '#text';
+ else return parent::__get($name);
+ }
+ function tagname() {return '#text';}
+ function set_content($text) {$this->myDOMNode->nodeValue=$text; return true;}
+}
+
+if (!defined('XPATH_NODESET'))
+{
+ define('XPATH_UNDEFINED',0);
+ define('XPATH_NODESET',1);
+ define('XPATH_BOOLEAN',2);
+ define('XPATH_NUMBER',3);
+ define('XPATH_STRING',4);
+ /*define('XPATH_POINT',5);
+ define('XPATH_RANGE',6);
+ define('XPATH_LOCATIONSET',7);
+ define('XPATH_USERS',8);
+ define('XPATH_XSLT_TREE',9);*/
+}
+
+class php4DOMNodelist
+{
+ private $myDOMNodelist;
+ public $nodeset;
+ public $type=XPATH_UNDEFINED;
+ public $value;
+ function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)
+ {
+ if (!isset($aDOMNodelist)) return;
+ elseif (is_object($aDOMNodelist)||is_array($aDOMNodelist))
+ {
+ if ($aDOMNodelist->length>0)
+ {
+ $this->myDOMNodelist=$aDOMNodelist;
+ $this->nodeset=array();
+ $this->type=XPATH_NODESET;
+ $i=0;
+ while ($node=$this->myDOMNodelist->item($i++)) $this->nodeset[]=php4DOMNode::_newDOMElement($node,$aOwnerDocument);
+ }
+ }
+ elseif (is_int($aDOMNodelist)||is_float($aDOMNodelist))
+ {
+ $this->type=XPATH_NUMBER;
+ $this->value=$aDOMNodelist;
+ }
+ elseif (is_bool($aDOMNodelist))
+ {
+ $this->type=XPATH_BOOLEAN;
+ $this->value=$aDOMNodelist;
+ }
+ elseif (is_string($aDOMNodelist))
+ {
+ $this->type=XPATH_STRING;
+ $this->value=$aDOMNodelist;
+ }
+ }
+}
+
+class php4DOMXPath
+{
+ public $myDOMXPath;
+ private $myOwnerDocument;
+ function php4DOMXPath($dom_document)
+ {
+ //TODO: If $dom_document is a DomElement, make that default $contextnode and modify XPath. Ex: '/test'
+ $this->myOwnerDocument=$dom_document->myOwnerDocument;
+ $this->myDOMXPath=new DOMXPath($this->myOwnerDocument->myDOMNode);
+ }
+ function xpath_eval($eval_str,$contextnode=null)
+ {
+ if (method_exists($this->myDOMXPath,'evaluate')) $xp=isset($contextnode) ? $this->myDOMXPath->evaluate($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->evaluate($eval_str);
+ else $xp=isset($contextnode) ? $this->myDOMXPath->query($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->query($eval_str);
+ $xp=new php4DOMNodelist($xp,$this->myOwnerDocument);
+ return ($xp->type===XPATH_UNDEFINED) ? false : $xp;
+ }
+ function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
+}
+
+if (extension_loaded('xsl'))
+{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
+ function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
+ function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
+ function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
+ class php4DomXsltStylesheet
+ {
+ private $myxsltProcessor;
+ function php4DomXsltStylesheet($dom_document)
+ {
+ $this->myxsltProcessor=new xsltProcessor();
+ $this->myxsltProcessor->importStyleSheet($dom_document);
+ }
+ function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)
+ {
+ foreach ($xslt_parameters as $param=>$value) $this->myxsltProcessor->setParameter('',$param,$value);
+ $myphp4DOMDocument=new php4DOMDocument();
+ $myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
+ return $myphp4DOMDocument;
+ }
+ function result_dump_file($dom_document,$filename)
+ {
+ $html=$dom_document->myDOMNode->saveHTML();
+ file_put_contents($filename,$html);
+ return $html;
+ }
+ function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}
+ }
+}
+?>
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/catalan.php b/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
index 0b139c7ca..3d67473d9 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/spanish.php
- * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'usant servidor',
- CAS_STR_AUTHENTICATION_WANTED
- => 'Autentificació CAS necessària!',
- CAS_STR_LOGOUT
- => 'Sortida de CAS necessària!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'Autentificació CAS fallida!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
-);
-
-?>
+<?php
+
+/**
+ * @file languages/spanish.php
+ * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'usant servidor',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'Autentificació CAS necessària!',
+ CAS_STR_LOGOUT
+ => 'Sortida de CAS necessària!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'Autentificació CAS fallida!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
+);
+
+?>
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/english.php b/plugins/CasAuthentication/extlib/CAS/languages/english.php
index d38d42c1f..c14345031 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/english.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/english.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/english.php
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'using server',
- CAS_STR_AUTHENTICATION_WANTED
- => 'CAS Authentication wanted!',
- CAS_STR_LOGOUT
- => 'CAS logout wanted!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'CAS Authentication failed!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
-);
-
+<?php
+
+/**
+ * @file languages/english.php
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'using server',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'CAS Authentication wanted!',
+ CAS_STR_LOGOUT
+ => 'CAS logout wanted!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'CAS Authentication failed!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/french.php b/plugins/CasAuthentication/extlib/CAS/languages/french.php
index 32d141685..b077ec02e 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/french.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/french.php
@@ -1,28 +1,28 @@
-<?php
-
-/**
- * @file languages/english.php
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'utilisant le serveur',
- CAS_STR_AUTHENTICATION_WANTED
- => 'Authentication CAS nécessaire&nbsp;!',
- CAS_STR_LOGOUT
- => 'Déconnexion demandée&nbsp;!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'Vous auriez du etre redirigé(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'Authentification CAS infructueuse&nbsp;!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>Vous n\'avez pas été authentifié(e).</p><p>Vous pouvez soumettre votre requete à nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le problème persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
-
-);
-
+<?php
+
+/**
+ * @file languages/english.php
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'utilisant le serveur',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'Authentication CAS n�cessaire&nbsp;!',
+ CAS_STR_LOGOUT
+ => 'D�connexion demand�e&nbsp;!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'Vous auriez du etre redirig�(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'Authentification CAS infructueuse&nbsp;!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>Vous n\'avez pas �t� authentifi�(e).</p><p>Vous pouvez soumettre votre requete � nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le probl�me persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
+
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/german.php b/plugins/CasAuthentication/extlib/CAS/languages/german.php
index 55c3238fd..29daeb35d 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/german.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/german.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/german.php
- * @author Henrik Genssen <hg at mediafactory.de>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'via Server',
- CAS_STR_AUTHENTICATION_WANTED
- => 'CAS Authentifizierung erforderlich!',
- CAS_STR_LOGOUT
- => 'CAS Abmeldung!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'CAS Anmeldung fehlgeschlagen!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
-);
-
+<?php
+
+/**
+ * @file languages/german.php
+ * @author Henrik Genssen <hg at mediafactory.de>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'via Server',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'CAS Authentifizierung erforderlich!',
+ CAS_STR_LOGOUT
+ => 'CAS Abmeldung!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'CAS Anmeldung fehlgeschlagen!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/greek.php b/plugins/CasAuthentication/extlib/CAS/languages/greek.php
index d41bf783b..fdff77e4e 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/greek.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/greek.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/greek.php
- * @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => '÷ñçóéìïðïéåßôáé ï åîõðçñåôçôÞò',
- CAS_STR_AUTHENTICATION_WANTED
- => 'Áðáéôåßôáé ç ôáõôïðïßçóç CAS!',
- CAS_STR_LOGOUT
- => 'Áðáéôåßôáé ç áðïóýíäåóç áðü CAS!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'Èá Ýðñåðå íá åß÷áôå áíáêáôåõèõíèåß óôïí åîõðçñåôçôÞ CAS. ÊÜíôå êëßê <a href="%s">åäþ</a> ãéá íá óõíå÷ßóåôå.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'Ç ôáõôïðïßçóç CAS áðÝôõ÷å!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>Äåí ôáõôïðïéçèÞêáôå.</p><p>Ìðïñåßôå íá îáíáðñïóðáèÞóåôå, êÜíïíôáò êëßê <a href="%s">åäþ</a>.</p><p>Åáí ôï ðñüâëçìá åðéìåßíåé, åëÜôå óå åðáöÞ ìå ôïí <a href="mailto:%s">äéá÷åéñéóôÞ</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'Ç õðçñåóßá `<b>%s</b>\' äåí åßíáé äéáèÝóéìç (<b>%s</b>).'
-);
-
+<?php
+
+/**
+ * @file languages/greek.php
+ * @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => '��������������� � ������������',
+ CAS_STR_AUTHENTICATION_WANTED
+ => '���������� � ����������� CAS!',
+ CAS_STR_LOGOUT
+ => '���������� � ���������� ��� CAS!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => '�� ������ �� ������ �������������� ���� ����������� CAS. ����� ���� <a href="%s">���</a> ��� �� ����������.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => '� ����������� CAS �������!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>��� ���������������.</p><p>�������� �� ����������������, �������� ���� <a href="%s">���</a>.</p><p>��� �� �������� ���������, ����� �� ����� �� ��� <a href="mailto:%s">�����������</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => '� �������� `<b>%s</b>\' ��� ����� ��������� (<b>%s</b>).'
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/japanese.php b/plugins/CasAuthentication/extlib/CAS/languages/japanese.php
index 333bb17b6..76ebe77bc 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/japanese.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/japanese.php
@@ -11,17 +11,17 @@ $this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
- => 'CAS¤Ë¤è¤ëǧ¾Ú¤ò¹Ô¤¤¤Þ¤¹',
+ => 'CAS�ˤ��ǧ�ڤ�Ԥ��ޤ�',
CAS_STR_LOGOUT
- => 'CAS¤«¤é¥í¥°¥¢¥¦¥È¤·¤Þ¤¹!',
+ => 'CAS����?�����Ȥ��ޤ�!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'CAS¥µ¡¼¥Ð¤Ë¹Ô¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¼«Æ°Åª¤ËžÁ÷¤µ¤ì¤Ê¤¤¾ì¹ç¤Ï <a href="%s">¤³¤Á¤é</a> ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ³¹Ô¤·¤Þ¤¹¡£',
+ => 'CAS�����Ф˹Ԥ�ɬ�פ�����ޤ�����ưŪ��ž������ʤ����� <a href="%s">������</a> �򥯥�å�����³�Ԥ��ޤ���',
CAS_STR_AUTHENTICATION_FAILED
- => 'CAS¤Ë¤è¤ëǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿',
+ => 'CAS�ˤ��ǧ�ڤ˼��Ԥ��ޤ���',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>ǧ¾Ú¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿.</p><p>¤â¤¦°ìÅ٥ꥯ¥¨¥¹¥È¤òÁ÷¿®¤¹¤ë¾ì¹ç¤Ï<a href="%s">¤³¤Á¤é</a>¤ò¥¯¥ê¥Ã¥¯.</p><p>ÌäÂ꤬²ò·è¤·¤Ê¤¤¾ì¹ç¤Ï <a href="mailto:%s">¤³¤Î¥µ¥¤¥È¤Î´ÉÍý¼Ô</a>¤ËÌ䤤¹ç¤ï¤»¤Æ¤¯¤À¤µ¤¤.</p>',
+ => '<p>ǧ�ڤǤ��ޤ���Ǥ���.</p><p>�⤦���٥ꥯ�����Ȥ������������<a href="%s">������</a>�򥯥�å�.</p><p>���꤬��褷�ʤ����� <a href="mailto:%s">���Υ����Ȥδ����</a>���䤤��碌�Ƥ�������.</p>',
CAS_STR_SERVICE_UNAVAILABLE
- => '¥µ¡¼¥Ó¥¹ `<b>%s</b>\' ¤ÏÍøÍѤǤ­¤Þ¤»¤ó (<b>%s</b>).'
+ => '�����ӥ� `<b>%s</b>\' �����ѤǤ��ޤ��� (<b>%s</b>).'
);
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/languages.php b/plugins/CasAuthentication/extlib/CAS/languages/languages.php
index 001cfe445..2c6f8bb3b 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/languages.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/languages.php
@@ -1,24 +1,24 @@
-<?php
-
-/**
- * @file languages/languages.php
- * Internationalization constants
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-//@{
-/**
- * a phpCAS string index
- */
-define("CAS_STR_USING_SERVER", 1);
-define("CAS_STR_AUTHENTICATION_WANTED", 2);
-define("CAS_STR_LOGOUT", 3);
-define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
-define("CAS_STR_AUTHENTICATION_FAILED", 5);
-define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
-define("CAS_STR_SERVICE_UNAVAILABLE", 7);
-//@}
-
+<?php
+
+/**
+ * @file languages/languages.php
+ * Internationalization constants
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+//@{
+/**
+ * a phpCAS string index
+ */
+define("CAS_STR_USING_SERVER", 1);
+define("CAS_STR_AUTHENTICATION_WANTED", 2);
+define("CAS_STR_LOGOUT", 3);
+define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
+define("CAS_STR_AUTHENTICATION_FAILED", 5);
+define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
+define("CAS_STR_SERVICE_UNAVAILABLE", 7);
+//@}
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/spanish.php b/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
index 04067ca03..3a8ffc253 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/spanish.php
- * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'usando servidor',
- CAS_STR_AUTHENTICATION_WANTED
- => '¡Autentificación CAS necesaria!',
- CAS_STR_LOGOUT
- => '¡Salida CAS necesaria!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
- CAS_STR_AUTHENTICATION_FAILED
- => '¡Autentificación CAS fallida!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
-);
-
-?>
+<?php
+
+/**
+ * @file languages/spanish.php
+ * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'usando servidor',
+ CAS_STR_AUTHENTICATION_WANTED
+ => '¡Autentificación CAS necesaria!',
+ CAS_STR_LOGOUT
+ => '¡Salida CAS necesaria!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => '¡Autentificación CAS fallida!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
+);
+
+?>
diff --git a/plugins/Facebook/FacebookPlugin.php b/plugins/Facebook/FacebookPlugin.php
index 78c9054e1..5dba73a5d 100644
--- a/plugins/Facebook/FacebookPlugin.php
+++ b/plugins/Facebook/FacebookPlugin.php
@@ -22,7 +22,7 @@
* @category Plugin
* @package StatusNet
* @author Zach Copley <zach@status.net>
- * @copyright 2009 StatusNet, Inc.
+ * @copyright 2009-2010 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
@@ -32,12 +32,12 @@ if (!defined('STATUSNET')) {
}
define("FACEBOOK_CONNECT_SERVICE", 3);
-define('FACEBOOKPLUGIN_VERSION', '0.9');
require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
/**
- * Facebook plugin to add a StatusNet Facebook application
+ * Facebook plugin to add a StatusNet Facebook canvas application
+ * and allow registration and authentication via Facebook Connect
*
* @category Plugin
* @package StatusNet
@@ -49,6 +49,55 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
class FacebookPlugin extends Plugin
{
+ const VERSION = STATUSNET_VERSION;
+
+ /**
+ * Initializer for the plugin.
+ */
+
+ function initialize()
+ {
+ // Allow the key and secret to be passed in
+ // Control panel will override
+
+ if (isset($this->apikey)) {
+ $key = common_config('facebook', 'apikey');
+ if (empty($key)) {
+ Config::save('facebook', 'apikey', $this->apikey);
+ }
+ }
+
+ if (isset($this->secret)) {
+ $secret = common_config('facebook', 'secret');
+ if (empty($secret)) {
+ Config::save(
+ 'facebook',
+ 'secret',
+ $this->secret
+ );
+ }
+ }
+ }
+
+ /**
+ * Check to see if there is an API key and secret defined
+ * for Facebook integration.
+ *
+ * @return boolean result
+ */
+
+ static function hasKeys()
+ {
+ $apiKey = common_config('facebook', 'apikey');
+ $apiSecret = common_config('facebook', 'secret');
+
+ if (!empty($apiKey) && !empty($apiSecret)) {
+ return true;
+ }
+
+ return false;
+ }
+
/**
* Add Facebook app actions to the router table
*
@@ -61,22 +110,26 @@ class FacebookPlugin extends Plugin
function onStartInitializeRouter($m)
{
+ $m->connect('admin/facebook', array('action' => 'facebookadminpanel'));
- // Facebook App stuff
+ if (self::hasKeys()) {
- $m->connect('facebook/app', array('action' => 'facebookhome'));
- $m->connect('facebook/app/index.php', array('action' => 'facebookhome'));
- $m->connect('facebook/app/settings.php',
- array('action' => 'facebooksettings'));
- $m->connect('facebook/app/invite.php', array('action' => 'facebookinvite'));
- $m->connect('facebook/app/remove', array('action' => 'facebookremove'));
+ // Facebook App stuff
- // Facebook Connect stuff
+ $m->connect('facebook/app', array('action' => 'facebookhome'));
+ $m->connect('facebook/app/index.php', array('action' => 'facebookhome'));
+ $m->connect('facebook/app/settings.php',
+ array('action' => 'facebooksettings'));
+ $m->connect('facebook/app/invite.php', array('action' => 'facebookinvite'));
+ $m->connect('facebook/app/remove', array('action' => 'facebookremove'));
- $m->connect('main/facebookconnect', array('action' => 'FBConnectAuth'));
- $m->connect('main/facebooklogin', array('action' => 'FBConnectLogin'));
- $m->connect('settings/facebook', array('action' => 'FBConnectSettings'));
- $m->connect('xd_receiver.html', array('action' => 'FBC_XDReceiver'));
+ // Facebook Connect stuff
+
+ $m->connect('main/facebookconnect', array('action' => 'FBConnectAuth'));
+ $m->connect('main/facebooklogin', array('action' => 'FBConnectLogin'));
+ $m->connect('settings/facebook', array('action' => 'FBConnectSettings'));
+ $m->connect('xd_receiver.html', array('action' => 'FBC_XDReceiver'));
+ }
return true;
}
@@ -98,6 +151,7 @@ class FacebookPlugin extends Plugin
case 'FacebookinviteAction':
case 'FacebookremoveAction':
case 'FacebooksettingsAction':
+ case 'FacebookadminpanelAction':
include_once INSTALLDIR . '/plugins/Facebook/' .
strtolower(mb_substr($cls, 0, -6)) . '.php';
return false;
@@ -123,6 +177,32 @@ class FacebookPlugin extends Plugin
}
/**
+ * Add a Facebook tab to the admin panels
+ *
+ * @param Widget $nav Admin panel nav
+ *
+ * @return boolean hook value
+ */
+
+ function onEndAdminPanelNav($nav)
+ {
+ if (AdminPanelAction::canAdmin('facebook')) {
+
+ $action_name = $nav->action->trimmed('action');
+
+ $nav->out->menuItem(
+ common_local_url('facebookadminpanel'),
+ _m('Facebook'),
+ _m('Facebook integration configuration'),
+ $action_name == 'facebookadminpanel',
+ 'nav_facebook_admin_panel'
+ );
+ }
+
+ return true;
+ }
+
+ /**
* Override normal HTML output to force the content type to
* text/html and add in xmlns:fb
*
@@ -280,6 +360,9 @@ class FacebookPlugin extends Plugin
function reqFbScripts($action)
{
+ if (!self::hasKeys()) {
+ return false;
+ }
// If you're logged in w/FB Connect, you always need the FB stuff
@@ -352,44 +435,35 @@ class FacebookPlugin extends Plugin
function onStartPrimaryNav($action)
{
- $user = common_current_user();
+ if (self::hasKeys()) {
+ $user = common_current_user();
+ if (!empty($user)) {
- $connect = 'FBConnectSettings';
- if (common_config('xmpp', 'enabled')) {
- $connect = 'imsettings';
- } else if (common_config('sms', 'enabled')) {
- $connect = 'smssettings';
- } else if (common_config('twitter', 'enabled')) {
- $connect = 'twittersettings';
- }
-
- if (!empty($user)) {
-
- $fbuid = $this->loggedIn();
-
- if (!empty($fbuid)) {
+ $fbuid = $this->loggedIn();
- /* Default FB silhouette pic for FB users who haven't
- uploaded a profile pic yet. */
+ if (!empty($fbuid)) {
- $silhouetteUrl =
- 'http://static.ak.fbcdn.net/pics/q_silhouette.gif';
+ /* Default FB silhouette pic for FB users who haven't
+ uploaded a profile pic yet. */
- $url = $this->getProfilePicURL($fbuid);
+ $silhouetteUrl =
+ 'http://static.ak.fbcdn.net/pics/q_silhouette.gif';
- $action->elementStart('li', array('id' => 'nav_fb'));
+ $url = $this->getProfilePicURL($fbuid);
- $action->element('img', array('id' => 'fbc_profile-pic',
- 'src' => (!empty($url)) ? $url : $silhouetteUrl,
- 'alt' => 'Facebook Connect User',
- 'width' => '16'), '');
+ $action->elementStart('li', array('id' => 'nav_fb'));
- $iconurl = common_path('plugins/Facebook/fbfavicon.ico');
- $action->element('img', array('id' => 'fb_favicon',
- 'src' => $iconurl));
+ $action->element('img', array('id' => 'fbc_profile-pic',
+ 'src' => (!empty($url)) ? $url : $silhouetteUrl,
+ 'alt' => 'Facebook Connect User',
+ 'width' => '16'), '');
- $action->elementEnd('li');
+ $iconurl = common_path('plugins/Facebook/fbfavicon.ico');
+ $action->element('img', array('id' => 'fb_favicon',
+ 'src' => $iconurl));
+ $action->elementEnd('li');
+ }
}
}
@@ -406,14 +480,15 @@ class FacebookPlugin extends Plugin
function onEndLoginGroupNav(&$action)
{
+ if (self::hasKeys()) {
- $action_name = $action->trimmed('action');
-
- $action->menuItem(common_local_url('FBConnectLogin'),
- _m('Facebook'),
- _m('Login or register using Facebook'),
- 'FBConnectLogin' === $action_name);
+ $action_name = $action->trimmed('action');
+ $action->menuItem(common_local_url('FBConnectLogin'),
+ _m('Facebook'),
+ _m('Login or register using Facebook'),
+ 'FBConnectLogin' === $action_name);
+ }
return true;
}
@@ -427,13 +502,15 @@ class FacebookPlugin extends Plugin
function onEndConnectSettingsNav(&$action)
{
- $action_name = $action->trimmed('action');
+ if (self::hasKeys()) {
- $action->menuItem(common_local_url('FBConnectSettings'),
- _m('Facebook'),
- _m('Facebook Connect Settings'),
- $action_name === 'FBConnectSettings');
+ $action_name = $action->trimmed('action');
+ $action->menuItem(common_local_url('FBConnectSettings'),
+ _m('Facebook'),
+ _m('Facebook Connect Settings'),
+ $action_name === 'FBConnectSettings');
+ }
return true;
}
@@ -447,20 +524,22 @@ class FacebookPlugin extends Plugin
function onStartLogout($action)
{
- $action->logout();
- $fbuid = $this->loggedIn();
+ if (self::hasKeys()) {
- if (!empty($fbuid)) {
- try {
- $facebook = getFacebook();
- $facebook->expire_session();
- } catch (Exception $e) {
- common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
- 'Could\'t logout of Facebook: ' .
- $e->getMessage());
+ $action->logout();
+ $fbuid = $this->loggedIn();
+
+ if (!empty($fbuid)) {
+ try {
+ $facebook = getFacebook();
+ $facebook->expire_session();
+ } catch (Exception $e) {
+ common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
+ 'Could\'t logout of Facebook: ' .
+ $e->getMessage());
+ }
}
}
-
return true;
}
@@ -506,7 +585,9 @@ class FacebookPlugin extends Plugin
function onStartEnqueueNotice($notice, &$transports)
{
- array_push($transports, 'facebook');
+ if (self::hasKeys()) {
+ array_push($transports, 'facebook');
+ }
return true;
}
@@ -519,21 +600,26 @@ class FacebookPlugin extends Plugin
*/
function onEndInitializeQueueManager($manager)
{
- $manager->connect('facebook', 'FacebookQueueHandler');
+ if (self::hasKeys()) {
+ $manager->connect('facebook', 'FacebookQueueHandler');
+ }
return true;
}
function onPluginVersion(&$versions)
{
- $versions[] = array('name' => 'Facebook',
- 'version' => FACEBOOKPLUGIN_VERSION,
- 'author' => 'Zach Copley',
- 'homepage' => 'http://status.net/wiki/Plugin:Facebook',
- 'rawdescription' =>
- _m('The Facebook plugin allows you to integrate ' .
- 'your StatusNet instance with ' .
- '<a href="http://facebook.com/">Facebook</a> ' .
- 'and Facebook Connect.'));
+ $versions[] = array(
+ 'name' => 'Facebook',
+ 'version' => self::VERSION,
+ 'author' => 'Zach Copley',
+ 'homepage' => 'http://status.net/wiki/Plugin:Facebook',
+ 'rawdescription' => _m(
+ 'The Facebook plugin allows you to integrate ' .
+ 'your StatusNet instance with ' .
+ '<a href="http://facebook.com/">Facebook</a> ' .
+ 'and Facebook Connect.'
+ )
+ );
return true;
}
diff --git a/plugins/Facebook/README b/plugins/Facebook/README
index bf2f4a180..14c1d3241 100644
--- a/plugins/Facebook/README
+++ b/plugins/Facebook/README
@@ -1,6 +1,9 @@
-This plugin allows you to use Facebook Connect with StatusNet, provides a
-Facebook application for your users, and allows them to update their
-Facebook statuses from StatusNet.
+Facebook Plugin
+===============
+
+This plugin allows you to use Facebook Connect with StatusNet, provides
+a Facebook canvas application for your users, and allows them to update
+their Facebook statuses from StatusNet.
Facebook Connect
----------------
@@ -15,12 +18,12 @@ Facebook credentials. With Facebook Connect, your users can:
Built-in Facebook Application
-----------------------------
-The plugin also installs a StatusNet Facebook application that allows your
-users to automatically update their Facebook statuses with their latest
-notices, invite their friends to use the app (and thus your site), view
-their notice timelines, and post notices -- all from within Facebook. The
-application is built into the StatusNet Facebook plugin and runs on your
-host.
+The plugin also installs a StatusNet Facebook canvas application that
+allows your users to automatically update their Facebook status with
+their latest notices, invite their friends to use the app (and thus your
+site), view their notice timelines and post notices -- all from within
+Facebook. The application is built into the StatusNet Facebook plugin
+and runs on your host.
Quick setup instructions*
-------------------------
@@ -29,13 +32,9 @@ Install the Facebook Developer application on Facebook:
http://www.facebook.com/developers/
-Use it to create a new application and generate an API key and secret. Add a
-Facebook app section of your config.php and copy in the key and secret,
-e.g.:
-
- // Config section for the built-in Facebook application
- $config['facebook']['apikey'] = 'APIKEY';
- $config['facebook']['secret'] = 'SECRET';
+Use it to create a new application and generate an API key and secret.
+You will need the key and secret so cut-n-paste them into your text
+editor or write them down.
In Facebook's application editor, specify the following URLs for your app:
@@ -67,11 +66,36 @@ can be left with default values.
http://wiki.developers.facebook.com/index.php/Connect/Setting_Up_Your_Site
http://wiki.developers.facebook.com/index.php/Creating_your_first_application
-Finally you must activate the plugin by adding the following line to your
-config.php:
+Finally you must activate the plugin by adding it in your config.php
+(this is where you'll need the API key and secret generated earlier):
+
+ addPlugin(
+ 'Facebook',
+ array(
+ 'apikey' => 'YOUR_APIKEY',
+ 'secret' => 'YOUR_SECRET'
+ )
+ );
+
+Administration Panel
+--------------------
+
+As of StatusNet 0.9.0 you can alternatively specify the key and secret
+via a Facebook administration panel from within StatusNet, in which case
+you can just add:
addPlugin('Facebook');
+to activate the plugin.
+
+NOTE: To enable the administration panel you'll need to add it to the
+list of active administration panels, e.g.:
+
+ $config['admin']['panels'][] = 'facebook';
+
+and of course you'll need a user with the administrative role to access
+it and input the API key and secret (see: scripts/userrole.php).
+
Testing It Out
--------------
@@ -81,11 +105,11 @@ disconnect* to their Facebook accounts from it.
To try out the plugin, fire up your browser and connect to:
- http://SITE/PATH_TO_STATUSNET/main/facebooklogin
+ http://example.net/mublog/main/facebooklogin
or, if you do not have fancy URLs turned on:
- http://SITE/PATH_TO_STATUSNET/index.php/main/facebooklogin
+ http://example.net/mublog/index.php/main/facebooklogin
You should see a page with a blue button that says: "Connect with Facebook"
and you should be able to login or register.
@@ -101,7 +125,7 @@ the app, you are given the option to update their Facebook status via
StatusNet.
* Note: Before a user can disconnect from Facebook, she must set a normal
- StatusNet password. Otherwise, she might not be able to login in to her
+ StatusNet password. Otherwise, she might not be able to login in to her
account in the future. This is usually only required for users who have
used Facebook Connect to register their StatusNet account, and therefore
haven't already set a local password.
@@ -109,16 +133,20 @@ StatusNet.
Offline Queue Handling
----------------------
-For larger sites needing better performance it's possible to enable queuing
-and have users' notices posted to Facebook via a separate "offline"
-FacebookQueueHandler (facebookqueuhandler.php in the Facebook plugin
-directory), which will be started by the plugin along with their other
-daemons when you run scripts/startdaemons.sh. See the StatusNet README for
-more about queuing and daemons.
+For larger sites needing better performance it's possible to enable
+queuing and have users' notices posted to Facebook via a separate
+"offline" process -- FacebookQueueHandler (facebookqueuhandler.php in
+the Facebook plugin directory). It will run automatically if you have
+enabled StatusNet's offline queueing subsystem. See the "Queues and
+daemons" section in the StatusNet README for more about queuing.
+
TODO
----
+- Make Facebook Connect work for authentication for multi-site setups
+ (e.g.: *.status.net)
+- Posting to Facebook user streams using only Facebook Connect
- Invite Facebook friends to use your StatusNet installation via Facebook
Connect
- Auto-subscribe Facebook friends already using StatusNet
@@ -126,4 +154,4 @@ TODO
- Allow users to update their Facebook statuses once they have authenticated
with Facebook Connect (no need for them to use the Facebook app if they
don't want to).
-- Re-design the whole thing to support multiple instances of StatusNet
+- Import a user's Facebook updates into StatusNet
diff --git a/plugins/Facebook/facebookadminpanel.php b/plugins/Facebook/facebookadminpanel.php
new file mode 100644
index 000000000..ae1c7302f
--- /dev/null
+++ b/plugins/Facebook/facebookadminpanel.php
@@ -0,0 +1,223 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Facebook integration 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);
+}
+
+/**
+ * Administer global Facebook integration settings
+ *
+ * @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 FacebookadminpanelAction extends AdminPanelAction
+{
+ /**
+ * Returns the page title
+ *
+ * @return string page title
+ */
+
+ function title()
+ {
+ return _m('Facebook');
+ }
+
+ /**
+ * Instructions for using this form.
+ *
+ * @return string instructions
+ */
+
+ function getInstructions()
+ {
+ return _m('Facebook integration settings');
+ }
+
+ /**
+ * Show the Facebook admin panel form
+ *
+ * @return void
+ */
+
+ function showForm()
+ {
+ $form = new FacebookAdminPanelForm($this);
+ $form->show();
+ return;
+ }
+
+ /**
+ * Save settings from the form
+ *
+ * @return void
+ */
+
+ function saveSettings()
+ {
+ static $settings = array(
+ 'facebook' => array('apikey', 'secret'),
+ );
+
+ $values = array();
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ $values[$section][$setting]
+ = $this->trimmed($setting);
+ }
+ }
+
+ // This throws an exception on validation errors
+
+ $this->validate($values);
+
+ // assert(all values are valid);
+
+ $config = new Config();
+
+ $config->query('BEGIN');
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ Config::save($section, $setting, $values[$section][$setting]);
+ }
+ }
+
+ $config->query('COMMIT');
+
+ return;
+ }
+
+ function validate(&$values)
+ {
+ // Validate consumer key and secret (can't be too long)
+
+ if (mb_strlen($values['facebook']['apikey']) > 255) {
+ $this->clientError(
+ _m("Invalid Facebook API key. Max length is 255 characters.")
+ );
+ }
+
+ if (mb_strlen($values['facebook']['secret']) > 255) {
+ $this->clientError(
+ _m("Invalid Facebook API secret. Max length is 255 characters.")
+ );
+ }
+ }
+}
+
+class FacebookAdminPanelForm extends AdminForm
+{
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'facebookadminpanel';
+ }
+
+ /**
+ * 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('facebookadminpanel');
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->elementStart(
+ 'fieldset',
+ array('id' => 'settings_facebook-application')
+ );
+ $this->out->element('legend', null, _m('Facebook application settings'));
+ $this->out->elementStart('ul', 'form_data');
+
+ $this->li();
+ $this->input(
+ 'apikey',
+ _m('API key'),
+ _m('API key provided by Facebook'),
+ 'facebook'
+ );
+ $this->unli();
+
+ $this->li();
+ $this->input(
+ 'secret',
+ _m('Secret'),
+ _m('API secret provided by Facebook'),
+ 'facebook'
+ );
+ $this->unli();
+
+ $this->out->elementEnd('ul');
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->submit('submit', _('Save'), 'submit', null, _('Save Facebook settings'));
+ }
+}
diff --git a/plugins/Facebook/locale/Facebook.po b/plugins/Facebook/locale/Facebook.po
index 5b313c8c5..4bc00248c 100644
--- a/plugins/Facebook/locale/Facebook.po
+++ b/plugins/Facebook/locale/Facebook.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-07 20:38-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\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"
@@ -59,63 +59,31 @@ msgstr ""
msgid "Lost or forgotten password?"
msgstr ""
-#: facebookaction.php:386 facebookhome.php:248
+#: facebookaction.php:330 facebookhome.php:248
msgid "Pagination"
msgstr ""
-#: facebookaction.php:395 facebookhome.php:257
+#: facebookaction.php:339 facebookhome.php:257
msgid "After"
msgstr ""
-#: facebookaction.php:403 facebookhome.php:265
+#: facebookaction.php:347 facebookhome.php:265
msgid "Before"
msgstr ""
-#: facebookaction.php:421
+#: facebookaction.php:365
msgid "No notice content!"
msgstr ""
-#: facebookaction.php:427
+#: facebookaction.php:371
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: facebookaction.php:523
+#: facebookaction.php:430
msgid "Notices"
msgstr ""
-#: facebookutil.php:280
-#, php-format
-msgid "Your %1$s Facebook application access has been disabled."
-msgstr ""
-
-#: facebookutil.php:283
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that we are unable to update your "
-"Facebook status from %2$s, and have disabled the Facebook application for "
-"your account. This may be because you have removed the Facebook "
-"application's authorization, or have deleted your Facebook account. You can "
-"re-enable the Facebook application and automatic status updating by re-"
-"installing the %2$s Facebook application.\n"
-"\n"
-"Regards,\n"
-"\n"
-"%2$s"
-msgstr ""
-
-#: FBConnectLogin.php:33
-msgid "Already logged in."
-msgstr ""
-
-#: FBConnectLogin.php:41
-msgid "Login with your Facebook Account"
-msgstr ""
-
-#: FBConnectLogin.php:55
-msgid "Facebook Login"
-msgstr ""
-
#: facebookhome.php:111
msgid "Server error - couldn't get user!"
msgstr ""
@@ -149,50 +117,6 @@ msgstr ""
msgid "Skip"
msgstr ""
-#: facebooksettings.php:74
-msgid "There was a problem saving your sync preferences!"
-msgstr ""
-
-#: facebooksettings.php:76
-msgid "Sync preferences saved."
-msgstr ""
-
-#: facebooksettings.php:99
-msgid "Automatically update my Facebook status with my notices."
-msgstr ""
-
-#: facebooksettings.php:106
-msgid "Send \"@\" replies to Facebook."
-msgstr ""
-
-#: facebooksettings.php:115
-msgid "Prefix"
-msgstr ""
-
-#: facebooksettings.php:117
-msgid "A string to prefix notices with."
-msgstr ""
-
-#: facebooksettings.php:123
-msgid "Save"
-msgstr ""
-
-#: facebooksettings.php:133
-#, php-format
-msgid ""
-"If you would like %s to automatically update your Facebook status with your "
-"latest notice, you need to give it permission."
-msgstr ""
-
-#: facebooksettings.php:146
-#, php-format
-msgid "Allow %s to update my Facebook status"
-msgstr ""
-
-#: facebooksettings.php:156
-msgid "Sync preferences"
-msgstr ""
-
#: facebookinvite.php:72
#, php-format
msgid "Thanks for inviting your friends to use %s"
@@ -221,61 +145,85 @@ msgstr ""
msgid "Send invitations"
msgstr ""
-#: facebookremove.php:58
-msgid "Couldn't remove Facebook user."
+#: FacebookPlugin.php:413 FacebookPlugin.php:433
+msgid "Facebook"
msgstr ""
-#: FBConnectSettings.php:56 FacebookPlugin.php:430
+#: FacebookPlugin.php:414
+msgid "Login or register using Facebook"
+msgstr ""
+
+#: FacebookPlugin.php:434 FBConnectSettings.php:56
msgid "Facebook Connect Settings"
msgstr ""
-#: FBConnectSettings.php:67
-msgid "Manage how your account connects to Facebook"
+#: FacebookPlugin.php:533
+msgid ""
+"The Facebook plugin allows you to integrate your StatusNet instance with <a "
+"href=\"http://facebook.com/\">Facebook</a> and Facebook Connect."
msgstr ""
-#: FBConnectSettings.php:92
-msgid "There is no Facebook user connected to this account."
+#: facebookremove.php:58
+msgid "Couldn't remove Facebook user."
msgstr ""
-#: FBConnectSettings.php:100
-msgid "Connected Facebook user"
+#: facebooksettings.php:74
+msgid "There was a problem saving your sync preferences!"
msgstr ""
-#: FBConnectSettings.php:119
-msgid "Disconnect my account from Facebook"
+#: facebooksettings.php:76
+msgid "Sync preferences saved."
msgstr ""
-#: FBConnectSettings.php:124
-msgid ""
-"Disconnecting your Faceboook would make it impossible to log in! Please "
+#: facebooksettings.php:99
+msgid "Automatically update my Facebook status with my notices."
msgstr ""
-#: FBConnectSettings.php:128
-msgid "set a password"
+#: facebooksettings.php:106
+msgid "Send \"@\" replies to Facebook."
msgstr ""
-#: FBConnectSettings.php:130
-msgid " first."
+#: facebooksettings.php:115
+msgid "Prefix"
msgstr ""
-#: FBConnectSettings.php:142
-msgid "Disconnect"
+#: facebooksettings.php:117
+msgid "A string to prefix notices with."
msgstr ""
-#: FBConnectSettings.php:164 FBConnectAuth.php:90
-msgid "There was a problem with your session token. Try again, please."
+#: facebooksettings.php:123
+msgid "Save"
msgstr ""
-#: FBConnectSettings.php:178
-msgid "Couldn't delete link to Facebook."
+#: facebooksettings.php:133
+#, php-format
+msgid ""
+"If you would like %s to automatically update your Facebook status with your "
+"latest notice, you need to give it permission."
msgstr ""
-#: FBConnectSettings.php:194
-msgid "You have disconnected from Facebook."
+#: facebooksettings.php:146
+#, php-format
+msgid "Allow %s to update my Facebook status"
msgstr ""
-#: FBConnectSettings.php:197
-msgid "Not sure what you're trying to do."
+#: facebooksettings.php:156
+msgid "Sync preferences"
+msgstr ""
+
+#: facebookutil.php:285
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
msgstr ""
#: FBConnectAuth.php:51
@@ -286,6 +234,10 @@ msgstr ""
msgid "There is already a local user linked with this Facebook."
msgstr ""
+#: FBConnectAuth.php:90 FBConnectSettings.php:164
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
#: FBConnectAuth.php:95
msgid "You can't register if you don't agree to the license."
msgstr ""
@@ -385,10 +337,59 @@ msgstr ""
msgid "Invalid username or password."
msgstr ""
-#: FacebookPlugin.php:409 FacebookPlugin.php:429
-msgid "Facebook"
+#: FBConnectLogin.php:33
+msgid "Already logged in."
msgstr ""
-#: FacebookPlugin.php:410
-msgid "Login or register using Facebook"
+#: FBConnectLogin.php:41
+msgid "Login with your Facebook Account"
+msgstr ""
+
+#: FBConnectLogin.php:55
+msgid "Facebook Login"
+msgstr ""
+
+#: FBConnectSettings.php:67
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:92
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:100
+msgid "Connected Facebook user"
+msgstr ""
+
+#: FBConnectSettings.php:119
+msgid "Disconnect my account from Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:124
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#: FBConnectSettings.php:128
+msgid "set a password"
+msgstr ""
+
+#: FBConnectSettings.php:130
+msgid " first."
+msgstr ""
+
+#: FBConnectSettings.php:142
+msgid "Disconnect"
+msgstr ""
+
+#: FBConnectSettings.php:178
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:194
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:197
+msgid "Not sure what you're trying to do."
msgstr ""
diff --git a/plugins/Gravatar/locale/Gravatar.po b/plugins/Gravatar/locale/Gravatar.po
index 1df62b666..d7275b929 100644
--- a/plugins/Gravatar/locale/Gravatar.po
+++ b/plugins/Gravatar/locale/Gravatar.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-11 16:27-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\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"
@@ -59,3 +59,9 @@ msgstr ""
#: GravatarPlugin.php:177
msgid "Gravatar removed."
msgstr ""
+
+#: GravatarPlugin.php:196
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
diff --git a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
index 768f0fe7f..483209676 100644
--- a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
+++ b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
@@ -76,6 +76,32 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
return false;
}
}
+
+ function onEndShowPageNotice($action)
+ {
+ $name = $action->trimmed('action');
+ $instr = false;
+
+ switch ($name)
+ {
+ case 'register':
+ if($this->autoregistration) {
+ $instr = 'Have an LDAP account? Use your standard username and password.';
+ }
+ break;
+ case 'login':
+ $instr = 'Have an LDAP account? Use your standard username and password.';
+ break;
+ default:
+ return true;
+ }
+
+ if($instr) {
+ $output = common_markup_to_html($instr);
+ $action->raw($output);
+ }
+ return true;
+ }
//---interface implementation---//
@@ -163,15 +189,14 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
$entry = $this->ldap_get_user($username, $this->attributes);
if(!$entry){
//this really shouldn't happen
- return $username;
+ $nickname = $username;
}else{
$nickname = $entry->getValue($this->attributes['nickname'],'single');
- if($nickname){
- return $nickname;
- }else{
- return $username;
+ if(!$nickname){
+ $nickname = $username;
}
}
+ return common_nicknamize($nickname);
}
//---utility functions---//
@@ -199,8 +224,12 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
$ldap->setErrorHandling(PEAR_ERROR_RETURN);
$err=$ldap->bind();
if (Net_LDAP2::isError($err)) {
- common_log(LOG_WARNING, 'Could not connect to LDAP server: '.$err->getMessage());
- return false;
+ // if we were called with a config, assume caller will handle
+ // incorrect username/password (LDAP_INVALID_CREDENTIALS)
+ if (isset($config) && $err->getCode() == 0x31) {
+ return null;
+ }
+ throw new Exception('Could not connect to LDAP server: '.$err->getMessage());
}
if($config == null) $this->default_ldap=$ldap;
diff --git a/plugins/LdapAuthentication/README b/plugins/LdapAuthentication/README
index 0460fb639..c188f2dbc 100644
--- a/plugins/LdapAuthentication/README
+++ b/plugins/LdapAuthentication/README
@@ -9,7 +9,10 @@ to the bottom of your config.php
Settings
========
-provider_name*: a unique name for this authentication provider.
+provider_name*: This is a identifier designated to the connection.
+ It's how StatusNet will refer to the authentication source.
+ For the most part, any name can be used, so long as each authentication source has a different identifier.
+ In most cases there will be only one authentication source used.
authoritative (false): Set to true if LDAP's responses are authoritative
(if authorative and LDAP fails, no other password checking will be done).
autoregistration (false): Set to true if users should be automatically created
diff --git a/plugins/LdapAuthorization/LdapAuthorizationPlugin.php b/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
index 7f48ce5e1..2608025dd 100644
--- a/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
+++ b/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
@@ -167,7 +167,12 @@ class LdapAuthorizationPlugin extends AuthorizationPlugin
$ldap->setErrorHandling(PEAR_ERROR_RETURN);
$err=$ldap->bind();
if (Net_LDAP2::isError($err)) {
- common_log(LOG_WARNING, 'Could not connect to LDAP server: '.$err->getMessage());
+ // if we were called with a config, assume caller will handle
+ // incorrect username/password (LDAP_INVALID_CREDENTIALS)
+ if (isset($config) && $err->getCode() == 0x31) {
+ return null;
+ }
+ throw new Exception('Could not connect to LDAP server: '.$err->getMessage());
return false;
}
if($config == null) $this->default_ldap=$ldap;
@@ -185,6 +190,9 @@ class LdapAuthorizationPlugin extends AuthorizationPlugin
if($ldap==null) {
$ldap = $this->ldap_get_connection();
}
+ if(! $ldap) {
+ throw new Exception("Could not connect to LDAP");
+ }
$filter = Net_LDAP2_Filter::create($this->attributes['username'], 'equals', $username);
$options = array(
'attributes' => $attributes
diff --git a/plugins/LdapAuthorization/README b/plugins/LdapAuthorization/README
index 44239d8e0..3a6d8d25e 100644
--- a/plugins/LdapAuthorization/README
+++ b/plugins/LdapAuthorization/README
@@ -11,7 +11,10 @@ You *cannot* use this plugin without the LDAP Authentication plugin
Settings
========
-provider_name*: name of the LDAP authentication provider that this plugin works with.
+provider_name*: This is a identifier designated to the connection.
+ It's how StatusNet will refer to the authentication source.
+ For the most part, any name can be used, so long as each authentication source has a different identifier.
+ In most cases there will be only one authentication source used.
authoritative (false): should this plugin be authoritative for
authorization?
uniqueMember_attribute ('uniqueMember')*: the attribute of a group
diff --git a/plugins/Mapstraction/locale/Mapstraction.po b/plugins/Mapstraction/locale/Mapstraction.po
index c1c50bf50..1dd5dbbcc 100644
--- a/plugins/Mapstraction/locale/Mapstraction.po
+++ b/plugins/Mapstraction/locale/Mapstraction.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-07 20:38-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\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"
@@ -34,15 +34,21 @@ msgstr ""
msgid "User has no profile."
msgstr ""
-#: usermap.php:71
-#, php-format
-msgid "%s map, page %d"
-msgstr ""
-
-#: MapstractionPlugin.php:180
+#: MapstractionPlugin.php:182
msgid "Map"
msgstr ""
-#: MapstractionPlugin.php:191
+#: MapstractionPlugin.php:193
msgid "Full size"
msgstr ""
+
+#: MapstractionPlugin.php:205
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a> JavaScript library."
+msgstr ""
+
+#: usermap.php:71
+#, php-format
+msgid "%s map, page %d"
+msgstr ""
diff --git a/plugins/Mapstraction/map.php b/plugins/Mapstraction/map.php
index a33dfc736..b809c1b8e 100644
--- a/plugins/Mapstraction/map.php
+++ b/plugins/Mapstraction/map.php
@@ -142,8 +142,6 @@ class MapAction extends OwnerDesignAction
// of refactoring from within a plugin, so I'm just abusing
// the ApiAction method. Don't do this unless you're me!
- require_once(INSTALLDIR.'/lib/api.php');
-
$act = new ApiAction('/dev/null');
$arr = $act->twitterStatusArray($notice, true);
diff --git a/plugins/MemcachedPlugin.php b/plugins/MemcachedPlugin.php
new file mode 100644
index 000000000..707e6db9a
--- /dev/null
+++ b/plugins/MemcachedPlugin.php
@@ -0,0 +1,223 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009, StatusNet, Inc.
+ *
+ * Plugin to implement cache interface for memcached
+ *
+ * PHP version 5
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Cache
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>, Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ // This check helps protect against security problems;
+ // your code file can't be executed directly from the web.
+ exit(1);
+}
+
+/**
+ * A plugin to use memcached for the cache interface
+ *
+ * This used to be encoded as config-variable options in the core code;
+ * it's now broken out to a separate plugin. The same interface can be
+ * implemented by other plugins.
+ *
+ * @category Cache
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>, Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+class MemcachedPlugin extends Plugin
+{
+ static $cacheInitialized = false;
+
+ private $_conn = null;
+ public $servers = array('127.0.0.1;11211');
+
+ public $defaultExpiry = 86400; // 24h
+
+ /**
+ * Initialize the plugin
+ *
+ * Note that onStartCacheGet() may have been called before this!
+ *
+ * @return boolean flag value
+ */
+
+ function onInitializePlugin()
+ {
+ $this->_ensureConn();
+ self::$cacheInitialized = true;
+ return true;
+ }
+
+ /**
+ * Get a value associated with a key
+ *
+ * The value should have been set previously.
+ *
+ * @param string &$key in; Lookup key
+ * @param mixed &$value out; value associated with key
+ *
+ * @return boolean hook success
+ */
+
+ function onStartCacheGet(&$key, &$value)
+ {
+ $this->_ensureConn();
+ $value = $this->_conn->get($key);
+ Event::handle('EndCacheGet', array($key, &$value));
+ return false;
+ }
+
+ /**
+ * Associate a value with a key
+ *
+ * @param string &$key in; Key to use for lookups
+ * @param mixed &$value in; Value to associate
+ * @param integer &$flag in; Flag empty or Cache::COMPRESSED
+ * @param integer &$expiry in; Expiry (passed through to Memcache)
+ * @param boolean &$success out; Whether the set was successful
+ *
+ * @return boolean hook success
+ */
+
+ function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
+ {
+ $this->_ensureConn();
+ if ($expiry === null) {
+ $expiry = $this->defaultExpiry;
+ }
+ $success = $this->_conn->set($key, $value, $expiry);
+ Event::handle('EndCacheSet', array($key, $value, $flag,
+ $expiry));
+ return false;
+ }
+
+ /**
+ * Atomically increment an existing numeric key value.
+ * Existing expiration time will not be changed.
+ *
+ * @param string &$key in; Key to use for lookups
+ * @param int &$step in; Amount to increment (default 1)
+ * @param mixed &$value out; Incremented value, or false if key not set.
+ *
+ * @return boolean hook success
+ */
+ function onStartCacheIncrement(&$key, &$step, &$value)
+ {
+ $this->_ensureConn();
+ $value = $this->_conn->increment($key, $step);
+ Event::handle('EndCacheIncrement', array($key, $step, $value));
+ return false;
+ }
+
+ /**
+ * Delete a value associated with a key
+ *
+ * @param string &$key in; Key to lookup
+ * @param boolean &$success out; whether it worked
+ *
+ * @return boolean hook success
+ */
+
+ function onStartCacheDelete(&$key, &$success)
+ {
+ $this->_ensureConn();
+ $success = $this->_conn->delete($key);
+ Event::handle('EndCacheDelete', array($key));
+ return false;
+ }
+
+ function onStartCacheReconnect(&$success)
+ {
+ // nothing to do
+ return true;
+ }
+
+ /**
+ * Ensure that a connection exists
+ *
+ * Checks the instance $_conn variable and connects
+ * if it is empty.
+ *
+ * @return void
+ */
+
+ private function _ensureConn()
+ {
+ if (empty($this->_conn)) {
+ $this->_conn = new Memcached(common_config('site', 'nickname'));
+
+ if (!count($this->_conn->getServerList())) {
+ if (is_array($this->servers)) {
+ $servers = $this->servers;
+ } else {
+ $servers = array($this->servers);
+ }
+ foreach ($servers as $server) {
+ if (strpos($server, ';') !== false) {
+ list($host, $port) = explode(';', $server);
+ } else {
+ $host = $server;
+ $port = 11211;
+ }
+
+ $this->_conn->addServer($host, $port);
+ }
+
+ // Compress items stored in the cache.
+
+ // Allows the cache to store objects larger than 1MB (if they
+ // compress to less than 1MB), and improves cache memory efficiency.
+
+ $this->_conn->setOption(Memcached::OPT_COMPRESSION, true);
+ }
+ }
+ }
+
+ /**
+ * Translate general flags to Memcached-specific flags
+ * @param int $flag
+ * @return int
+ */
+ protected function flag($flag)
+ {
+ //no flags are presently supported
+ return $flag;
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Memcached',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou, Craig Andrews',
+ 'homepage' => 'http://status.net/wiki/Plugin:Memcached',
+ 'rawdescription' =>
+ _m('Use <a href="http://memcached.org/">Memcached</a> to cache query results.'));
+ return true;
+ }
+}
+
diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php
index cd2531fa7..0b37734b7 100644
--- a/plugins/MobileProfile/MobileProfilePlugin.php
+++ b/plugins/MobileProfile/MobileProfilePlugin.php
@@ -307,25 +307,14 @@ class MobileProfilePlugin extends WAP20Plugin
function _showPrimaryNav($action)
{
$user = common_current_user();
- $connect = '';
- if (common_config('xmpp', 'enabled')) {
- $connect = 'imsettings';
- } else if (common_config('sms', 'enabled')) {
- $connect = 'smssettings';
- } else if (common_config('twitter', 'enabled')) {
- $connect = 'twittersettings';
- }
-
$action->elementStart('ul', array('id' => 'site_nav_global_primary'));
if ($user) {
$action->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
_('Home'));
$action->menuItem(common_local_url('profilesettings'),
_('Account'));
- if ($connect) {
- $action->menuItem(common_local_url($connect),
+ $action->menuItem(common_local_url('oauthconnectionssettings'),
_('Connect'));
- }
if ($user->hasRight(Right::CONFIGURESITE)) {
$action->menuItem(common_local_url('siteadminpanel'),
_('Admin'), _('Change site configuration'), false, 'nav_admin');
diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php
index e7ffd6cc2..efb630297 100644
--- a/plugins/OStatus/OStatusPlugin.php
+++ b/plugins/OStatus/OStatusPlugin.php
@@ -43,16 +43,20 @@ class OStatusPlugin extends Plugin
// Discovery actions
$m->connect('.well-known/host-meta',
array('action' => 'hostmeta'));
- $m->connect('main/webfinger',
- array('action' => 'webfinger'));
+ $m->connect('main/xrd',
+ array('action' => 'userxrd'));
+ $m->connect('main/ownerxrd',
+ array('action' => 'ownerxrd'));
$m->connect('main/ostatus',
array('action' => 'ostatusinit'));
$m->connect('main/ostatus?nickname=:nickname',
array('action' => 'ostatusinit'), array('nickname' => '[A-Za-z0-9_-]+'));
+ $m->connect('main/ostatus?group=:group',
+ array('action' => 'ostatusinit'), array('group' => '[A-Za-z0-9_-]+'));
$m->connect('main/ostatussub',
array('action' => 'ostatussub'));
- $m->connect('main/ostatussub',
- array('action' => 'ostatussub'), array('feed' => '[A-Za-z0-9\.\/\:]+'));
+ $m->connect('main/ostatusgroup',
+ array('action' => 'ostatusgroup'));
// PuSH actions
$m->connect('main/push/hub', array('action' => 'pushhub'));
@@ -103,6 +107,20 @@ class OStatusPlugin extends Plugin
}
/**
+ * Add a link header for LRDD Discovery
+ */
+ function onStartShowHTML($action)
+ {
+ if ($action instanceof ShowstreamAction) {
+ $acct = 'acct:'. $action->profile->nickname .'@'. common_config('site', 'server');
+ $url = common_local_url('userxrd');
+ $url.= '?uri='. $acct;
+
+ header('Link: <'.$url.'>; rel="'. Discovery::LRDD_REL.'"; type="application/xrd+xml"');
+ }
+ }
+
+ /**
* Set up a PuSH hub link to our internal link for canonical timeline
* Atom feeds for users and groups.
*/
@@ -135,7 +153,8 @@ class OStatusPlugin extends Plugin
// Also, we'll add in the salmon link
$salmon = common_local_url($salmonAction, array('id' => $id));
- $feed->addLink($salmon, array('rel' => 'salmon'));
+ $feed->addLink($salmon, array('rel' => Salmon::NS_REPLIES));
+ $feed->addLink($salmon, array('rel' => Salmon::NS_MENTIONS));
}
return true;
@@ -195,6 +214,22 @@ class OStatusPlugin extends Plugin
return false;
}
+ function onStartGroupSubscribe($output, $group)
+ {
+ $cur = common_current_user();
+
+ if (empty($cur)) {
+ // Add an OStatus subscribe
+ $url = common_local_url('ostatusinit',
+ array('group' => $group->nickname));
+ $output->element('a', array('href' => $url,
+ 'class' => 'entity_remote_subscribe'),
+ _m('Join'));
+ }
+
+ return true;
+ }
+
/**
* Check if we've got remote replies to send via Salmon.
*
@@ -207,40 +242,81 @@ class OStatusPlugin extends Plugin
}
/**
- *
+ * Find any explicit remote mentions. Accepted forms:
+ * Webfinger: @user@example.com
+ * Profile link: @example.com/mublog/user
+ * @param Profile $sender (os user?)
+ * @param string $text input markup text
+ * @param array &$mention in/out param: set of found mentions
+ * @return boolean hook return value
*/
- function onStartFindMentions($sender, $text, &$mentions)
+ function onEndFindMentions($sender, $text, &$mentions)
{
- preg_match_all('/(?:^|\s+)@((?:\w+\.)*\w+@(?:\w+\.)*\w+(?:\w+\-\w+)*\.\w+)/',
+ $matches = array();
+
+ // Webfinger matches: @user@example.com
+ if (preg_match_all('!(?:^|\s+)@((?:\w+\.)*\w+@(?:\w+\.)*\w+(?:\w+\-\w+)*\.\w+)!',
$text,
$wmatches,
- PREG_OFFSET_CAPTURE);
-
- foreach ($wmatches[1] as $wmatch) {
-
- $webfinger = $wmatch[0];
-
- $this->log(LOG_INFO, "Checking Webfinger for address '$webfinger'");
-
- $oprofile = Ostatus_profile::ensureWebfinger($webfinger);
-
- if (empty($oprofile)) {
-
- $this->log(LOG_INFO, "No Ostatus_profile found for address '$webfinger'");
-
- } else {
-
- $this->log(LOG_INFO, "Ostatus_profile found for address '$webfinger'");
+ PREG_OFFSET_CAPTURE)) {
+ foreach ($wmatches[1] as $wmatch) {
+ list($target, $pos) = $wmatch;
+ $this->log(LOG_INFO, "Checking webfinger '$target'");
+ try {
+ $oprofile = Ostatus_profile::ensureWebfinger($target);
+ if ($oprofile && !$oprofile->isGroup()) {
+ $profile = $oprofile->localProfile();
+ $matches[$pos] = array('mentioned' => array($profile),
+ 'text' => $target,
+ 'position' => $pos,
+ 'url' => $profile->profileurl);
+ }
+ } catch (Exception $e) {
+ $this->log(LOG_ERR, "Webfinger check failed: " . $e->getMessage());
+ }
+ }
+ }
- $profile = $oprofile->localProfile();
+ // Profile matches: @example.com/mublog/user
+ if (preg_match_all('!(?:^|\s+)@((?:\w+\.)*\w+(?:\w+\-\w+)*\.\w+(?:/\w+)+)!',
+ $text,
+ $wmatches,
+ PREG_OFFSET_CAPTURE)) {
+ foreach ($wmatches[1] as $wmatch) {
+ list($target, $pos) = $wmatch;
+ $schemes = array('http', 'https');
+ foreach ($schemes as $scheme) {
+ $url = "$scheme://$target";
+ $this->log(LOG_INFO, "Checking profile address '$url'");
+ try {
+ $oprofile = Ostatus_profile::ensureProfile($url);
+ if ($oprofile && !$oprofile->isGroup()) {
+ $profile = $oprofile->localProfile();
+ $matches[$pos] = array('mentioned' => array($profile),
+ 'text' => $target,
+ 'position' => $pos,
+ 'url' => $profile->profileurl);
+ break;
+ }
+ } catch (Exception $e) {
+ $this->log(LOG_ERR, "Profile check failed: " . $e->getMessage());
+ }
+ }
+ }
+ }
- $mentions[] = array('mentioned' => array($profile),
- 'text' => $wmatch[0],
- 'position' => $wmatch[1],
- 'url' => $profile->profileurl);
+ foreach ($mentions as $i => $other) {
+ // If we share a common prefix with a local user, override it!
+ $pos = $other['position'];
+ if (isset($matches[$pos])) {
+ $mentions[$i] = $matches[$pos];
+ unset($matches[$pos]);
}
}
+ foreach ($matches as $mention) {
+ $mentions[] = $mention;
+ }
return true;
}
@@ -390,7 +466,7 @@ class OStatusPlugin extends Plugin
$act->actor = ActivityObject::fromProfile($subscriber);
$act->object = ActivityObject::fromProfile($other);
- $oprofile->notifyActivity($act);
+ $oprofile->notifyActivity($act, $subscriber);
return true;
}
@@ -438,7 +514,7 @@ class OStatusPlugin extends Plugin
$act->actor = ActivityObject::fromProfile($profile);
$act->object = ActivityObject::fromProfile($other);
- $oprofile->notifyActivity($act);
+ $oprofile->notifyActivity($act, $profile);
return true;
}
@@ -480,7 +556,7 @@ class OStatusPlugin extends Plugin
$member->getBestName(),
$oprofile->getBestName());
- if ($oprofile->notifyActivity($act)) {
+ if ($oprofile->notifyActivity($act, $member)) {
return true;
} else {
$oprofile->garbageCollect();
@@ -511,7 +587,6 @@ class OStatusPlugin extends Plugin
// Drop the PuSH subscription if there are no other subscribers.
$oprofile->garbageCollect();
-
$member = Profile::staticGet($user->id);
$act = new Activity();
@@ -530,7 +605,7 @@ class OStatusPlugin extends Plugin
$member->getBestName(),
$oprofile->getBestName());
- $oprofile->notifyActivity($act);
+ $oprofile->notifyActivity($act, $member);
}
}
@@ -573,7 +648,7 @@ class OStatusPlugin extends Plugin
$act->actor = ActivityObject::fromProfile($profile);
$act->object = ActivityObject::fromNotice($notice);
- $oprofile->notifyActivity($act);
+ $oprofile->notifyActivity($act, $profile);
return true;
}
@@ -617,7 +692,7 @@ class OStatusPlugin extends Plugin
$act->actor = ActivityObject::fromProfile($profile);
$act->object = ActivityObject::fromNotice($notice);
- $oprofile->notifyActivity($act);
+ $oprofile->notifyActivity($act, $profile);
return true;
}
@@ -634,7 +709,7 @@ class OStatusPlugin extends Plugin
function onStartUserGroupHomeUrl($group, &$url)
{
- return $this->onStartUserGroupPermalink($group, &$url);
+ return $this->onStartUserGroupPermalink($group, $url);
}
function onStartUserGroupPermalink($group, &$url)
@@ -650,19 +725,45 @@ class OStatusPlugin extends Plugin
function onStartShowSubscriptionsContent($action)
{
+ $this->showEntityRemoteSubscribe($action);
+
+ return true;
+ }
+
+ function onStartShowUserGroupsContent($action)
+ {
+ $this->showEntityRemoteSubscribe($action, 'ostatusgroup');
+
+ return true;
+ }
+
+ function onEndShowSubscriptionsMiniList($action)
+ {
+ $this->showEntityRemoteSubscribe($action);
+
+ return true;
+ }
+
+ function onEndShowGroupsMiniList($action)
+ {
+ $this->showEntityRemoteSubscribe($action, 'ostatusgroup');
+
+ return true;
+ }
+
+ function showEntityRemoteSubscribe($action, $target='ostatussub')
+ {
$user = common_current_user();
if ($user && ($user->id == $action->profile->id)) {
$action->elementStart('div', 'entity_actions');
$action->elementStart('p', array('id' => 'entity_remote_subscribe',
'class' => 'entity_subscribe'));
- $action->element('a', array('href' => common_local_url('ostatussub'),
+ $action->element('a', array('href' => common_local_url($target),
'class' => 'entity_remote_subscribe')
- , _m('Subscribe to remote user'));
+ , _m('Remote'));
$action->elementEnd('p');
$action->elementEnd('div');
}
-
- return true;
}
/**
@@ -706,9 +807,46 @@ class OStatusPlugin extends Plugin
$act->object = $act->actor;
while ($oprofile->fetch()) {
- $oprofile->notifyDeferred($act);
+ $oprofile->notifyDeferred($act, $profile);
+ }
+
+ return true;
+ }
+
+ function onStartProfileListItemActionElements($item)
+ {
+ if (!common_logged_in()) {
+
+ $profileUser = User::staticGet('id', $item->profile->id);
+
+ if (!empty($profileUser)) {
+
+ $output = $item->out;
+
+ // Add an OStatus subscribe
+ $output->elementStart('li', 'entity_subscribe');
+ $url = common_local_url('ostatusinit',
+ array('nickname' => $profileUser->nickname));
+ $output->element('a', array('href' => $url,
+ 'class' => 'entity_remote_subscribe'),
+ _m('Subscribe'));
+ $output->elementEnd('li');
+ }
}
return true;
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'OStatus',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou, James Walker, Brion Vibber, Zach Copley',
+ 'homepage' => 'http://status.net/wiki/Plugin:OStatus',
+ 'rawdescription' =>
+ _m('Follow people across social networks that implement '.
+ '<a href="http://ostatus.org/">OStatus</a>.'));
+
+ return true;
+ }
}
diff --git a/plugins/OStatus/actions/hostmeta.php b/plugins/OStatus/actions/hostmeta.php
index 850b8a0fe..6d35ada6c 100644
--- a/plugins/OStatus/actions/hostmeta.php
+++ b/plugins/OStatus/actions/hostmeta.php
@@ -31,12 +31,18 @@ class HostMetaAction extends Action
{
parent::handle();
- $w = new Webfinger();
-
-
$domain = common_config('site', 'server');
- $url = common_local_url('webfinger');
+ $url = common_local_url('userxrd');
$url.= '?uri={uri}';
- print $w->getHostMeta($domain, $url);
+
+ $xrd = new XRD();
+
+ $xrd = new XRD();
+ $xrd->host = $domain;
+ $xrd->links[] = array('rel' => Discovery::LRDD_REL,
+ 'template' => $url,
+ 'title' => array('Resource Descriptor'));
+
+ print $xrd->toXML();
}
}
diff --git a/plugins/OStatus/actions/ostatusgroup.php b/plugins/OStatus/actions/ostatusgroup.php
new file mode 100644
index 000000000..f325ba053
--- /dev/null
+++ b/plugins/OStatus/actions/ostatusgroup.php
@@ -0,0 +1,181 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2009-2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package OStatusPlugin
+ * @maintainer Brion Vibber <brion@status.net>
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+
+/**
+ * Key UI methods:
+ *
+ * showInputForm() - form asking for a remote profile account or URL
+ * We end up back here on errors
+ *
+ * showPreviewForm() - surrounding form for preview-and-confirm
+ * preview() - display profile for a remote group
+ *
+ * success() - redirects to groups page on join
+ */
+class OStatusGroupAction extends OStatusSubAction
+{
+ protected $profile_uri; // provided acct: or URI of remote entity
+ protected $oprofile; // Ostatus_profile of remote entity, if valid
+
+
+ function validateRemoteProfile()
+ {
+ if (!$this->oprofile->isGroup()) {
+ // Send us to the user subscription form for conf
+ $target = common_local_url('ostatussub', array(), array('profile' => $this->profile_uri));
+ common_redirect($target, 303);
+ }
+ }
+
+ /**
+ * Show the initial form, when we haven't yet been given a valid
+ * remote profile.
+ */
+ function showInputForm()
+ {
+ $user = common_current_user();
+
+ $profile = $user->getProfile();
+
+ $this->elementStart('form', array('method' => 'post',
+ 'id' => 'form_ostatus_sub',
+ 'class' => 'form_settings',
+ 'action' => $this->selfLink()));
+
+ $this->hidden('token', common_session_token());
+
+ $this->elementStart('fieldset', array('id' => 'settings_feeds'));
+
+ $this->elementStart('ul', 'form_data');
+ $this->elementStart('li');
+ $this->input('profile',
+ _m('Join group'),
+ $this->profile_uri,
+ _m("OStatus group's address, like http://example.net/group/nickname"));
+ $this->elementEnd('li');
+ $this->elementEnd('ul');
+
+ $this->submit('validate', _m('Continue'));
+
+ $this->elementEnd('fieldset');
+
+ $this->elementEnd('form');
+ }
+
+ /**
+ * Show a preview for a remote group's profile
+ * @return boolean true if we're ok to try joining
+ */
+ function preview()
+ {
+ $oprofile = $this->oprofile;
+ $group = $oprofile->localGroup();
+
+ $cur = common_current_user();
+ if ($cur->isMember($group)) {
+ $this->element('div', array('class' => 'error'),
+ _m("You are already a member of this group."));
+ $ok = false;
+ } else {
+ $ok = true;
+ }
+
+ $this->showEntity($group,
+ $group->getProfileUrl(),
+ $group->homepage_logo,
+ $group->description);
+ return $ok;
+ }
+
+ /**
+ * Redirect on successful remote group join
+ */
+ function success()
+ {
+ $cur = common_current_user();
+ $url = common_local_url('usergroups', array('nickname' => $cur->nickname));
+ common_redirect($url, 303);
+ }
+
+ /**
+ * Attempt to finalize subscription.
+ * validateFeed must have been run first.
+ *
+ * Calls showForm on failure or success on success.
+ */
+ function saveFeed()
+ {
+ $user = common_current_user();
+ $group = $this->oprofile->localGroup();
+ if ($user->isMember($group)) {
+ // TRANS: OStatus remote group subscription dialog error.
+ $this->showForm(_m('Already a member!'));
+ return;
+ }
+
+ if (Event::handle('StartJoinGroup', array($group, $user))) {
+ $ok = Group_member::join($this->oprofile->group_id, $user->id);
+ if ($ok) {
+ Event::handle('EndJoinGroup', array($group, $user));
+ $this->success();
+ } else {
+ // TRANS: OStatus remote group subscription dialog error.
+ $this->showForm(_m('Remote group join failed!'));
+ }
+ } else {
+ // TRANS: OStatus remote group subscription dialog error.
+ $this->showForm(_m('Remote group join aborted!'));
+ }
+ }
+
+ /**
+ * Title of the page
+ *
+ * @return string Title of the page
+ */
+
+ function title()
+ {
+ // TRANS: Page title for OStatus remote group join form
+ return _m('Confirm joining remote group');
+ }
+
+ /**
+ * Instructions for use
+ *
+ * @return instructions for use
+ */
+
+ function getInstructions()
+ {
+ return _m('You can subscribe to groups from other supported sites. Paste the group\'s profile URI below:');
+ }
+
+ function selfLink()
+ {
+ return common_local_url('ostatusgroup');
+ }
+}
diff --git a/plugins/OStatus/actions/ostatusinit.php b/plugins/OStatus/actions/ostatusinit.php
index 3f2f6368f..22aea9f70 100644
--- a/plugins/OStatus/actions/ostatusinit.php
+++ b/plugins/OStatus/actions/ostatusinit.php
@@ -29,6 +29,7 @@ class OStatusInitAction extends Action
{
var $nickname;
+ var $group;
var $profile;
var $err;
@@ -41,8 +42,9 @@ class OStatusInitAction extends Action
return false;
}
- // Local user the remote wants to subscribe to
+ // Local user or group the remote wants to subscribe to
$this->nickname = $this->trimmed('nickname');
+ $this->group = $this->trimmed('group');
// Webfinger or profile URL of the remote user
$this->profile = $this->trimmed('profile');
@@ -89,25 +91,33 @@ class OStatusInitAction extends Action
function showContent()
{
+ if ($this->group) {
+ $header = sprintf(_m('Join group %s'), $this->group);
+ $submit = _m('Join');
+ } else {
+ $header = sprintf(_m('Subscribe to %s'), $this->nickname);
+ $submit = _m('Subscribe');
+ }
$this->elementStart('form', array('id' => 'form_ostatus_connect',
'method' => 'post',
'class' => 'form_settings',
'action' => common_local_url('ostatusinit')));
$this->elementStart('fieldset');
- $this->element('legend', null, sprintf(_m('Subscribe to %s'), $this->nickname));
+ $this->element('legend', null, $header);
$this->hidden('token', common_session_token());
$this->elementStart('ul', 'form_data');
$this->elementStart('li', array('id' => 'ostatus_nickname'));
$this->input('nickname', _m('User nickname'), $this->nickname,
_m('Nickname of the user you want to follow'));
+ $this->hidden('group', $this->group); // pass-through for magic links
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'ostatus_profile'));
$this->input('profile', _m('Profile Account'), $this->profile,
_m('Your account id (i.e. user@identi.ca)'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('submit', _m('Subscribe'));
+ $this->submit('submit', $submit);
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
@@ -131,20 +141,18 @@ class OStatusInitAction extends Action
function connectWebfinger($acct)
{
- $w = new Webfinger;
+ $target_profile = $this->targetProfile();
- $result = $w->lookup($acct);
+ $disco = new Discovery;
+ $result = $disco->lookup($acct);
if (!$result) {
$this->clientError(_m("Couldn't look up OStatus account profile."));
}
+
foreach ($result->links as $link) {
if ($link['rel'] == 'http://ostatus.org/schema/1.0/subscribe') {
// We found a URL - let's redirect!
-
- $user = User::staticGet('nickname', $this->nickname);
- $target_profile = common_local_url('userbyid', array('id' => $user->id));
-
- $url = $w->applyTemplate($link['template'], $target_profile);
+ $url = Discovery::applyTemplate($link['template'], $target_profile);
common_log(LOG_INFO, "Sending remote subscriber $acct to $url");
common_redirect($url, 303);
}
@@ -155,8 +163,7 @@ class OStatusInitAction extends Action
function connectProfile($subscriber_profile)
{
- $user = User::staticGet('nickname', $this->nickname);
- $target_profile = common_local_url('userbyid', array('id' => $user->id));
+ $target_profile = $this->targetProfile();
// @fixme hack hack! We should look up the remote sub URL from XRDS
$suburl = preg_replace('!^(.*)/(.*?)$!', '$1/main/ostatussub', $subscriber_profile);
@@ -166,6 +173,30 @@ class OStatusInitAction extends Action
common_redirect($suburl, 303);
}
+ /**
+ * Build the canonical profile URI+URL of the requested user or group
+ */
+ function targetProfile()
+ {
+ if ($this->nickname) {
+ $user = User::staticGet('nickname', $this->nickname);
+ if ($user) {
+ return common_local_url('userbyid', array('id' => $user->id));
+ } else {
+ $this->clientError("No such user.");
+ }
+ } else if ($this->group) {
+ $group = Local_group::staticGet('nickname', $this->group);
+ if ($group) {
+ return common_local_url('groupbyid', array('id' => $group->group_id));
+ } else {
+ $this->clientError("No such group.");
+ }
+ } else {
+ $this->clientError("No local user or group nickname provided.");
+ }
+ }
+
function title()
{
return _m('OStatus Connect');
diff --git a/plugins/OStatus/actions/ostatussub.php b/plugins/OStatus/actions/ostatussub.php
index 12832cdcf..65dee2392 100644
--- a/plugins/OStatus/actions/ostatussub.php
+++ b/plugins/OStatus/actions/ostatussub.php
@@ -1,7 +1,7 @@
<?php
/*
* StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2009, StatusNet, Inc.
+ * Copyright (C) 2009-2010, StatusNet, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@@ -31,11 +31,9 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
* We end up back here on errors
*
* showPreviewForm() - surrounding form for preview-and-confirm
- * previewUser() - display profile for a remote user
- * previewGroup() - display profile for a remote group
+ * preview() - display profile for a remote user
*
- * successUser() - redirects to subscriptions page on subscribe
- * successGroup() - redirects to groups page on join
+ * success() - redirects to subscriptions page on subscribe
*/
class OStatusSubAction extends Action
{
@@ -55,8 +53,7 @@ class OStatusSubAction extends Action
$this->elementStart('form', array('method' => 'post',
'id' => 'form_ostatus_sub',
'class' => 'form_settings',
- 'action' =>
- common_local_url('ostatussub')));
+ 'action' => $this->selfLink()));
$this->hidden('token', common_session_token());
@@ -65,9 +62,9 @@ class OStatusSubAction extends Action
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('profile',
- _m('Address or profile URL'),
+ _m('Subscribe to'),
$this->profile_uri,
- _m('Enter the profile URL of a PubSubHubbub-enabled feed'));
+ _m("OStatus user's address, like nickname@example.com or http://example.net/nickname"));
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -87,11 +84,7 @@ class OStatusSubAction extends Action
*/
function showPreviewForm()
{
- if ($this->oprofile->isGroup()) {
- $ok = $this->previewGroup();
- } else {
- $ok = $this->previewUser();
- }
+ $ok = $this->preview();
if (!$ok) {
// @fixme maybe provide a cancel button or link back?
return;
@@ -104,7 +97,7 @@ class OStatusSubAction extends Action
'id' => 'form_ostatus_sub',
'class' => 'form_remote_authorize',
'action' =>
- common_local_url('ostatussub')));
+ $this->selfLink()));
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->hidden('profile', $this->profile_uri);
@@ -112,7 +105,7 @@ class OStatusSubAction extends Action
$this->submit('submit', _m('Join'), 'submit', null,
_m('Join this group'));
} else {
- $this->submit('submit', _m('Subscribe'), 'submit', null,
+ $this->submit('submit', _m('Confirm'), 'submit', null,
_m('Subscribe to this user'));
}
$this->elementEnd('fieldset');
@@ -126,7 +119,7 @@ class OStatusSubAction extends Action
* Show a preview for a remote user's profile
* @return boolean true if we're ok to try subscribing
*/
- function previewUser()
+ function preview()
{
$oprofile = $this->oprofile;
$profile = $oprofile->localProfile();
@@ -150,32 +143,6 @@ class OStatusSubAction extends Action
return $ok;
}
- /**
- * Show a preview for a remote group's profile
- * @return boolean true if we're ok to try joining
- */
- function previewGroup()
- {
- $oprofile = $this->oprofile;
- $group = $oprofile->localGroup();
-
- $cur = common_current_user();
- if ($cur->isMember($group)) {
- $this->element('div', array('class' => 'error'),
- _m("You are already a member of this group."));
- $ok = false;
- } else {
- $ok = true;
- }
-
- $this->showEntity($group,
- $group->getProfileUrl(),
- $group->homepage_logo,
- $group->description);
- return $ok;
- }
-
-
function showEntity($entity, $profile, $avatar, $note)
{
$nickname = $entity->nickname;
@@ -254,7 +221,7 @@ class OStatusSubAction extends Action
/**
* Redirect on successful remote user subscription
*/
- function successUser()
+ function success()
{
$cur = common_current_user();
$url = common_local_url('subscriptions', array('nickname' => $cur->nickname));
@@ -262,91 +229,81 @@ class OStatusSubAction extends Action
}
/**
- * Redirect on successful remote group join
- */
- function successGroup()
- {
- $cur = common_current_user();
- $url = common_local_url('usergroups', array('nickname' => $cur->nickname));
- common_redirect($url, 303);
- }
-
- /**
* Pull data for a remote profile and check if it's valid.
* Fills out error UI string in $this->error
* Fills out $this->oprofile on success.
*
* @return boolean
*/
- function validateFeed()
+ function pullRemoteProfile()
{
- $profile_uri = trim($this->arg('profile'));
-
- if ($profile_uri == '') {
- $this->showForm(_m('Empty remote profile URL!'));
- return;
- }
- $this->profile_uri = $profile_uri;
-
+ $this->profile_uri = $this->trimmed('profile');
try {
if (Validate::email($this->profile_uri)) {
$this->oprofile = Ostatus_profile::ensureWebfinger($this->profile_uri);
} else if (Validate::uri($this->profile_uri)) {
$this->oprofile = Ostatus_profile::ensureProfile($this->profile_uri);
} else {
- $this->error = _m("Invalid address format.");
+ $this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname");
+ common_debug('Invalid address format.', __FILE__);
return false;
}
return true;
} catch (FeedSubBadURLException $e) {
- $this->error = _m('Invalid URL or could not reach server.');
+ $this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname");
+ common_debug('Invalid URL or could not reach server.', __FILE__);
} catch (FeedSubBadResponseException $e) {
- $this->error = _m('Cannot read feed; server returned error.');
+ $this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
+ common_debug('Cannot read feed; server returned error.', __FILE__);
} catch (FeedSubEmptyException $e) {
- $this->error = _m('Cannot read feed; server returned an empty page.');
+ $this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
+ common_debug('Cannot read feed; server returned an empty page.', __FILE__);
} catch (FeedSubBadHTMLException $e) {
- $this->error = _m('Bad HTML, could not find feed link.');
+ $this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
+ common_debug('Bad HTML, could not find feed link.', __FILE__);
} catch (FeedSubNoFeedException $e) {
- $this->error = _m('Could not find a feed linked from this URL.');
+ $this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
+ common_debug('Could not find a feed linked from this URL.', __FILE__);
} catch (FeedSubUnrecognizedTypeException $e) {
- $this->error = _m('Not a recognized feed type.');
- } catch (FeedSubException $e) {
+ $this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
+ common_debug('Not a recognized feed type.', __FILE__);
+ } catch (Exception $e) {
// Any new ones we forgot about
- $this->error = sprintf(_m('Bad feed URL: %s %s'), get_class($e), $e->getMessage());
+ $this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname");
+ common_debug(sprintf('Bad feed URL: %s %s', get_class($e), $e->getMessage()), __FILE__);
}
return false;
}
+ function validateRemoteProfile()
+ {
+ if ($this->oprofile->isGroup()) {
+ // Send us to the group subscription form for conf
+ $target = common_local_url('ostatusgroup', array(), array('profile' => $this->profile_uri));
+ common_redirect($target, 303);
+ }
+ }
+
/**
* Attempt to finalize subscription.
* validateFeed must have been run first.
*
- * Calls showForm on failure or successUser/successGroup on success.
+ * Calls showForm on failure or success on success.
*/
function saveFeed()
{
// And subscribe the current user to the local profile
$user = common_current_user();
-
- if ($this->oprofile->isGroup()) {
- $group = $this->oprofile->localGroup();
- if ($user->isMember($group)) {
- $this->showForm(_m('Already a member!'));
- } elseif (Group_member::join($this->oprofile->group_id, $user->id)) {
- $this->successGroup();
- } else {
- $this->showForm(_m('Remote group join failed!'));
- }
+ $local = $this->oprofile->localProfile();
+ if ($user->isSubscribed($local)) {
+ // TRANS: OStatus remote subscription dialog error.
+ $this->showForm(_m('Already subscribed!'));
+ } elseif ($this->oprofile->subscribeLocalToRemote($user)) {
+ $this->success();
} else {
- $local = $this->oprofile->localProfile();
- if ($user->isSubscribed($local)) {
- $this->showForm(_m('Already subscribed!'));
- } elseif ($this->oprofile->subscribeLocalToRemote($user)) {
- $this->successUser();
- } else {
- $this->showForm(_m('Remote subscription failed!'));
- }
+ // TRANS: OStatus remote subscription dialog error.
+ $this->showForm(_m('Remote subscription failed!'));
}
}
@@ -363,8 +320,9 @@ class OStatusSubAction extends Action
return false;
}
- $this->profile_uri = $this->arg('profile');
-
+ if ($this->pullRemoteProfile()) {
+ $this->validateRemoteProfile();
+ }
return true;
}
@@ -377,9 +335,6 @@ class OStatusSubAction extends Action
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$this->handlePost();
} else {
- if ($this->arg('profile')) {
- $this->validateFeed();
- }
$this->showForm();
}
}
@@ -401,7 +356,7 @@ class OStatusSubAction extends Action
return;
}
- if ($this->validateFeed()) {
+ if ($this->oprofile) {
if ($this->arg('submit')) {
$this->saveFeed();
return;
@@ -442,7 +397,8 @@ class OStatusSubAction extends Action
function title()
{
- return _m('Authorize subscription');
+ // TRANS: Page title for OStatus remote subscription form
+ return _m('Confirm');
}
/**
@@ -486,4 +442,9 @@ class OStatusSubAction extends Action
parent::showScripts();
$this->autofocus('feedurl');
}
+
+ function selfLink()
+ {
+ return common_local_url('ostatussub');
+ }
}
diff --git a/plugins/OStatus/actions/ownerxrd.php b/plugins/OStatus/actions/ownerxrd.php
new file mode 100644
index 000000000..9c141d8c7
--- /dev/null
+++ b/plugins/OStatus/actions/ownerxrd.php
@@ -0,0 +1,56 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package OStatusPlugin
+ * @maintainer James Walker <james@status.net>
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+
+class OwnerxrdAction extends XrdAction
+{
+
+ public $uri;
+
+ function prepare($args)
+ {
+ $this->user = User::siteOwner();
+
+ if (!$this->user) {
+ $this->clientError(_('No such user.'), 404);
+ return false;
+ }
+
+ $nick = common_canonical_nickname($this->user->nickname);
+ $acct = 'acct:' . $nick . '@' . common_config('site', 'server');
+
+ $this->xrd = new XRD();
+
+ // Check to see if a $config['webfinger']['owner'] has been set
+ if ($owner = common_config('webfinger', 'owner')) {
+ $this->xrd->subject = Discovery::normalize($owner);
+ $this->xrd->alias[] = $acct;
+ } else {
+ $this->xrd->subject = $acct;
+ }
+
+ return true;
+ }
+}
diff --git a/plugins/OStatus/actions/pushhub.php b/plugins/OStatus/actions/pushhub.php
index f33690bc4..842d65e7d 100644
--- a/plugins/OStatus/actions/pushhub.php
+++ b/plugins/OStatus/actions/pushhub.php
@@ -104,7 +104,7 @@ class PushHubAction extends Action
throw new ClientException("Invalid hub.secret $secret; must be under 200 bytes.");
}
- $sub = HubSub::staticGet($sub->topic, $sub->callback);
+ $sub = HubSub::staticGet($topic, $callback);
if (!$sub) {
// Creating a new one!
$sub = new HubSub();
diff --git a/plugins/OStatus/actions/userxrd.php b/plugins/OStatus/actions/userxrd.php
new file mode 100644
index 000000000..414de9364
--- /dev/null
+++ b/plugins/OStatus/actions/userxrd.php
@@ -0,0 +1,48 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package OStatusPlugin
+ * @maintainer James Walker <james@status.net>
+ */
+
+if (!defined('STATUSNET')) { exit(1); }
+
+class UserxrdAction extends XrdAction
+{
+
+ function prepare($args)
+ {
+ parent::prepare($args);
+
+ $this->uri = $this->trimmed('uri');
+ $acct = Discovery::normalize($this->uri);
+
+ list($nick, $domain) = explode('@', substr(urldecode($acct), 5));
+ $nick = common_canonical_nickname($nick);
+
+ $this->user = User::staticGet('nickname', $nick);
+ if (!$this->user) {
+ $this->clientError(_('No such user.'), 404);
+ return false;
+ }
+
+ return true;
+ }
+}
diff --git a/plugins/OStatus/classes/HubSub.php b/plugins/OStatus/classes/HubSub.php
index 1ac181fee..3120a70f9 100644
--- a/plugins/OStatus/classes/HubSub.php
+++ b/plugins/OStatus/classes/HubSub.php
@@ -99,7 +99,7 @@ class HubSub extends Memcached_DataObject
return array_keys($this->keyTypes());
}
- function sequenceKeys()
+ function sequenceKey()
{
return array(false, false, false);
}
@@ -260,9 +260,15 @@ class HubSub extends Memcached_DataObject
$retries = intval(common_config('ostatus', 'hub_retries'));
}
- $data = array('sub' => clone($this),
+ // We dare not clone() as when the clone is discarded it'll
+ // destroy the result data for the parent query.
+ // @fixme use clone() again when it's safe to copy an
+ // individual item from a multi-item query again.
+ $sub = HubSub::staticGet($this->topic, $this->callback);
+ $data = array('sub' => $sub,
'atom' => $atom,
'retries' => $retries);
+ common_log(LOG_INFO, "Queuing PuSH: $this->topic to $this->callback");
$qm = QueueManager::get();
$qm->enqueue($data, 'hubout');
}
diff --git a/plugins/OStatus/classes/Magicsig.php b/plugins/OStatus/classes/Magicsig.php
index 681aec184..5a46aeeb6 100644
--- a/plugins/OStatus/classes/Magicsig.php
+++ b/plugins/OStatus/classes/Magicsig.php
@@ -49,7 +49,12 @@ class Magicsig extends Memcached_DataObject
public /*static*/ function staticGet($k, $v=null)
{
- return parent::staticGet(__CLASS__, $k, $v);
+ $obj = parent::staticGet(__CLASS__, $k, $v);
+ if (!empty($obj)) {
+ return Magicsig::fromString($obj->keypair);
+ }
+
+ return $obj;
}
@@ -83,6 +88,10 @@ class Magicsig extends Memcached_DataObject
return array('user_id' => 'K');
}
+ function sequenceKey() {
+ return array(false, false, false);
+ }
+
function insert()
{
$this->keypair = $this->toString();
@@ -90,7 +99,7 @@ class Magicsig extends Memcached_DataObject
return parent::insert();
}
- public function generate($key_length = 512)
+ public function generate($user_id, $key_length = 512)
{
PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
@@ -101,6 +110,7 @@ class Magicsig extends Memcached_DataObject
$this->_rsa = new Crypt_RSA($params);
PEAR::popErrorHandling();
+ $this->user_id = $user_id;
$this->insert();
}
@@ -136,8 +146,10 @@ class Magicsig extends Memcached_DataObject
$mod = base64_url_decode($matches[1]);
$exp = base64_url_decode($matches[2]);
- if ($matches[4]) {
+ if (!empty($matches[4])) {
$private_exp = base64_url_decode($matches[4]);
+ } else {
+ $private_exp = false;
}
$params['public_key'] = new Crypt_RSA_KEY($mod, $exp, 'public');
@@ -171,14 +183,15 @@ class Magicsig extends Memcached_DataObject
switch ($this->alg) {
case 'RSA-SHA256':
- return 'sha256';
+ return 'magicsig_sha256';
}
}
public function sign($bytes)
{
- $sig = $this->_rsa->createSign($bytes, null, 'sha256');
+ $hash = $this->getHash();
+ $sig = $this->_rsa->createSign($bytes, null, $hash);
if ($this->_rsa->isError()) {
$error = $this->_rsa->getLastError();
common_log(LOG_DEBUG, 'RSA Error: '. $error->getMessage());
@@ -190,7 +203,8 @@ class Magicsig extends Memcached_DataObject
public function verify($signed_bytes, $signature)
{
- $result = $this->_rsa->validateSign($signed_bytes, $signature, null, 'sha256');
+ $hash = $this->getHash();
+ $result = $this->_rsa->validateSign($signed_bytes, $signature, null, $hash);
if ($this->_rsa->isError()) {
$error = $this->keypair->getLastError();
common_log(LOG_DEBUG, 'RSA Error: '. $error->getMessage());
@@ -203,7 +217,7 @@ class Magicsig extends Memcached_DataObject
// Define a sha256 function for hashing
// (Crypt_RSA should really be updated to use hash() )
-function sha256($bytes)
+function magicsig_sha256($bytes)
{
return hash('sha256', $bytes);
}
diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php
index a366c1c2c..abc8100ce 100644
--- a/plugins/OStatus/classes/Ostatus_profile.php
+++ b/plugins/OStatus/classes/Ostatus_profile.php
@@ -150,27 +150,7 @@ class Ostatus_profile extends Memcached_DataObject
function asActivityObject()
{
if ($this->isGroup()) {
- $object = new ActivityObject();
- $object->type = 'http://activitystrea.ms/schema/1.0/group';
- $object->id = $this->uri;
- $self = $this->localGroup();
-
- // @fixme put a standard getAvatar() interface on groups too
- if ($self->homepage_logo) {
- $object->avatar = $self->homepage_logo;
- $map = array('png' => 'image/png',
- 'jpg' => 'image/jpeg',
- 'jpeg' => 'image/jpeg',
- 'gif' => 'image/gif');
- $extension = pathinfo(parse_url($avatarHref, PHP_URL_PATH), PATHINFO_EXTENSION);
- if (isset($map[$extension])) {
- // @fixme this ain't used/saved yet
- $object->avatarType = $map[$extension];
- }
- }
-
- $object->link = $this->uri; // @fixme accurate?
- return $object;
+ return ActivityObject::fromGroup($this->localGroup());
} else {
return ActivityObject::fromProfile($this->localProfile());
}
@@ -189,57 +169,13 @@ class Ostatus_profile extends Memcached_DataObject
*/
function asActivityNoun($element)
{
- $xs = new XMLStringer(true);
- $avatarHref = Avatar::defaultImage(AVATAR_PROFILE_SIZE);
- $avatarType = 'image/png';
if ($this->isGroup()) {
- $type = 'http://activitystrea.ms/schema/1.0/group';
- $self = $this->localGroup();
-
- // @fixme put a standard getAvatar() interface on groups too
- if ($self->homepage_logo) {
- $avatarHref = $self->homepage_logo;
- $map = array('png' => 'image/png',
- 'jpg' => 'image/jpeg',
- 'jpeg' => 'image/jpeg',
- 'gif' => 'image/gif');
- $extension = pathinfo(parse_url($avatarHref, PHP_URL_PATH), PATHINFO_EXTENSION);
- if (isset($map[$extension])) {
- $avatarType = $map[$extension];
- }
- }
+ $noun = ActivityObject::fromGroup($this->localGroup());
+ return $noun->asString('activity:' . $element);
} else {
- $type = 'http://activitystrea.ms/schema/1.0/person';
- $self = $this->localProfile();
- $avatar = $self->getAvatar(AVATAR_PROFILE_SIZE);
- if ($avatar) {
- $avatarHref = $avatar->url;
- $avatarType = $avatar->mediatype;
- }
+ $noun = ActivityObject::fromProfile($this->localProfile());
+ return $noun->asString('activity:' . $element);
}
- $xs->elementStart('activity:' . $element);
- $xs->element(
- 'activity:object-type',
- null,
- $type
- );
- $xs->element(
- 'id',
- null,
- $this->uri); // ?
- $xs->element('title', null, $self->getBestName());
-
- $xs->element(
- 'link', array(
- 'type' => $avatarType,
- 'href' => $avatarHref
- ),
- ''
- );
-
- $xs->elementEnd('activity:' . $element);
-
- return $xs->getString();
}
/**
@@ -332,6 +268,9 @@ class Ostatus_profile extends Memcached_DataObject
*/
public function unsubscribe() {
$feedsub = FeedSub::staticGet('uri', $this->feeduri);
+ if (!$feedsub) {
+ return true;
+ }
if ($feedsub->sub_state == 'active') {
return $feedsub->unsubscribe();
} else if ($feedsub->sub_state == '' || $feedsub->sub_state == 'inactive' || $feedsub->sub_state == 'unsubscribe') {
@@ -356,7 +295,7 @@ class Ostatus_profile extends Memcached_DataObject
$count = $this->localProfile()->subscriberCount();
}
if ($count == 0) {
- common_log(LOG_INFO, "Unsubscribing from now-unused remote feed $oprofile->feeduri");
+ common_log(LOG_INFO, "Unsubscribing from now-unused remote feed $this->feeduri");
$this->unsubscribe();
return true;
} else {
@@ -398,7 +337,8 @@ class Ostatus_profile extends Memcached_DataObject
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0',
'xmlns:georss' => 'http://www.georss.org/georss',
'xmlns:ostatus' => 'http://ostatus.org/schema/1.0',
- 'xmlns:poco' => 'http://portablecontacts.net/spec/1.0');
+ 'xmlns:poco' => 'http://portablecontacts.net/spec/1.0',
+ 'xmlns:media' => 'http://purl.org/syndication/atommedia');
$entry = new XMLStringer();
$entry->elementStart('entry', $attributes);
@@ -417,7 +357,7 @@ class Ostatus_profile extends Memcached_DataObject
common_log(LOG_INFO, "Posting to Salmon endpoint $this->salmonuri: $xml");
$salmon = new Salmon(); // ?
- return $salmon->post($this->salmonuri, $xml);
+ return $salmon->post($this->salmonuri, $xml, $actor);
}
return false;
}
@@ -429,11 +369,11 @@ class Ostatus_profile extends Memcached_DataObject
* @param mixed $entry XML string, Notice, or Activity
* @return boolean success
*/
- public function notifyActivity($entry)
+ public function notifyActivity($entry, $actor)
{
if ($this->salmonuri) {
$salmon = new Salmon();
- return $salmon->post($this->salmonuri, $this->notifyPrepXml($entry));
+ return $salmon->post($this->salmonuri, $this->notifyPrepXml($entry), $actor);
}
return false;
@@ -446,11 +386,12 @@ class Ostatus_profile extends Memcached_DataObject
* @param mixed $entry XML string, Notice, or Activity
* @return boolean success
*/
- public function notifyDeferred($entry)
+ public function notifyDeferred($entry, $actor)
{
if ($this->salmonuri) {
$data = array('salmonuri' => $this->salmonuri,
- 'entry' => $this->notifyPrepXml($entry));
+ 'entry' => $this->notifyPrepXml($entry),
+ 'actor' => $actor->id);
$qm = QueueManager::get();
return $qm->enqueue($data, 'salmon');
@@ -482,45 +423,23 @@ class Ostatus_profile extends Memcached_DataObject
}
}
- function atomFeed($actor)
- {
- $feed = new Atom10Feed();
- // @fixme should these be set up somewhere else?
- $feed->addNamespace('activity', 'http://activitystrea.ms/spec/1.0/');
- $feed->addNamespace('thr', 'http://purl.org/syndication/thread/1.0');
- $feed->addNamespace('georss', 'http://www.georss.org/georss');
- $feed->addNamespace('ostatus', 'http://ostatus.org/schema/1.0');
-
- $taguribase = common_config('integration', 'taguri');
- $feed->setId("tag:{$taguribase}:UserTimeline:{$actor->id}"); // ???
-
- $feed->setTitle($actor->getBestName() . ' timeline'); // @fixme
- $feed->setUpdated(time());
- $feed->setPublished(time());
-
- $feed->addLink(common_local_url('ApiTimelineUser',
- array('id' => $actor->id,
- 'type' => 'atom')),
- array('rel' => 'self',
- 'type' => 'application/atom+xml'));
-
- $feed->addLink(common_local_url('userbyid',
- array('id' => $actor->id)),
- array('rel' => 'alternate',
- 'type' => 'text/html'));
-
- return $feed;
- }
-
/**
* Read and post notices for updates from the feed.
* Currently assumes that all items in the feed are new,
* coming from a PuSH hub.
*
- * @param DOMDocument $feed
+ * @param DOMDocument $doc
+ * @param string $source identifier ("push")
*/
- public function processFeed($feed, $source)
+ public function processFeed(DOMDocument $doc, $source)
{
+ $feed = $doc->documentElement;
+
+ if ($feed->localName != 'feed' || $feed->namespaceURI != Activity::ATOM) {
+ common_log(LOG_ERR, __METHOD__ . ": not an Atom feed, ignoring");
+ return;
+ }
+
$entries = $feed->getElementsByTagNameNS(Activity::ATOM, 'entry');
if ($entries->length == 0) {
common_log(LOG_ERR, __METHOD__ . ": no entries in feed update, ignoring");
@@ -538,6 +457,7 @@ class Ostatus_profile extends Memcached_DataObject
*
* @param DOMElement $entry
* @param DOMElement $feed for context
+ * @param string $source identifier ("push" or "salmon")
*/
public function processEntry($entry, $feed, $source)
{
@@ -607,12 +527,40 @@ class Ostatus_profile extends Memcached_DataObject
$rendered = $this->purify($activity->object->content);
$content = html_entity_decode(strip_tags($rendered));
+ $shortened = common_shorten_links($content);
+
+ // If it's too long, try using the summary, and make the
+ // HTML an attachment.
+
+ $attachment = null;
+
+ if (Notice::contentTooLong($shortened)) {
+ $attachment = $this->saveHTMLFile($activity->object->title, $rendered);
+ $summary = $activity->object->summary;
+ if (empty($summary)) {
+ $summary = $content;
+ }
+ $shortSummary = common_shorten_links($summary);
+ if (Notice::contentTooLong($shortSummary)) {
+ $url = common_shorten_url(common_local_url('attachment',
+ array('attachment' => $attachment->id)));
+ $shortSummary = substr($shortSummary,
+ 0,
+ Notice::maxContent() - (mb_strlen($url) + 2));
+ $shortSummary .= '… ' . $url;
+ $content = $shortSummary;
+ $rendered = common_render_text($content);
+ }
+ }
+
$options = array('is_local' => Notice::REMOTE_OMB,
'url' => $sourceUrl,
'uri' => $sourceUri,
'rendered' => $rendered,
'replies' => array(),
- 'groups' => array());
+ 'groups' => array(),
+ 'tags' => array(),
+ 'urls' => array());
// Check for optional attributes...
@@ -647,6 +595,22 @@ class Ostatus_profile extends Memcached_DataObject
}
}
+ // Atom categories <-> hashtags
+ foreach ($activity->categories as $cat) {
+ if ($cat->term) {
+ $term = common_canonical_tag($cat->term);
+ if ($term) {
+ $options['tags'][] = $term;
+ }
+ }
+ }
+
+ // Atom enclosures -> attachment URLs
+ foreach ($activity->enclosures as $href) {
+ // @fixme save these locally or....?
+ $options['urls'][] = $href;
+ }
+
try {
$saved = Notice::saveNew($oprofile->profile_id,
$content,
@@ -654,6 +618,9 @@ class Ostatus_profile extends Memcached_DataObject
$options);
if ($saved) {
Ostatus_source::saveNew($saved, $this, $method);
+ if (!empty($attachment)) {
+ File_to_post::processNew($attachment->id, $saved->id);
+ }
}
} catch (Exception $e) {
common_log(LOG_ERR, "OStatus save of remote message $sourceUri failed: " . $e->getMessage());
@@ -669,7 +636,8 @@ class Ostatus_profile extends Memcached_DataObject
protected function purify($html)
{
require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.php';
- $config = array('safe' => 1);
+ $config = array('safe' => 1,
+ 'deny_attribute' => 'id,style,on*');
return htmLawed($html, $config);
}
@@ -747,11 +715,18 @@ class Ostatus_profile extends Memcached_DataObject
{
// Get the canonical feed URI and check it
$discover = new FeedDiscovery();
- $feeduri = $discover->discoverFromURL($profile_uri);
+ if (isset($hints['feedurl'])) {
+ $feeduri = $hints['feedurl'];
+ $feeduri = $discover->discoverFromFeedURL($feeduri);
+ } else {
+ $feeduri = $discover->discoverFromURL($profile_uri);
+ $hints['feedurl'] = $feeduri;
+ }
- //$feedsub = FeedSub::ensureFeed($feeduri, $discover->feed);
$huburi = $discover->getAtomLink('hub');
- $salmonuri = $discover->getAtomLink('salmon');
+ $hints['hub'] = $huburi;
+ $salmonuri = $discover->getAtomLink(Salmon::NS_REPLIES);
+ $hints['salmon'] = $salmonuri;
if (!$huburi) {
// We can only deal with folks with a PuSH hub
@@ -766,7 +741,7 @@ class Ostatus_profile extends Memcached_DataObject
if (!empty($subject)) {
$subjObject = new ActivityObject($subject);
- return self::ensureActivityObjectProfile($subjObject, $feeduri, $salmonuri, $hints);
+ return self::ensureActivityObjectProfile($subjObject, $hints);
}
// Otherwise, try the feed author
@@ -775,7 +750,7 @@ class Ostatus_profile extends Memcached_DataObject
if (!empty($author)) {
$authorObject = new ActivityObject($author);
- return self::ensureActivityObjectProfile($authorObject, $feeduri, $salmonuri, $hints);
+ return self::ensureActivityObjectProfile($authorObject, $hints);
}
// Sheesh. Not a very nice feed! Let's try fingerpoken in the
@@ -791,7 +766,7 @@ class Ostatus_profile extends Memcached_DataObject
if (!empty($actor)) {
$actorObject = new ActivityObject($actor);
- return self::ensureActivityObjectProfile($actorObject, $feeduri, $salmonuri, $hints);
+ return self::ensureActivityObjectProfile($actorObject, $hints);
}
@@ -799,7 +774,7 @@ class Ostatus_profile extends Memcached_DataObject
if (!empty($author)) {
$authorObject = new ActivityObject($author);
- return self::ensureActivityObjectProfile($authorObject, $feeduri, $salmonuri, $hints);
+ return self::ensureActivityObjectProfile($authorObject, $hints);
}
}
@@ -868,8 +843,20 @@ class Ostatus_profile extends Memcached_DataObject
protected static function getActivityObjectAvatar($object, $hints=array())
{
- if ($object->avatar) {
- return $object->avatar;
+ if ($object->avatarLinks) {
+ $best = false;
+ // Take the exact-size avatar, or the largest avatar, or the first avatar if all sizeless
+ foreach ($object->avatarLinks as $avatar) {
+ if ($avatar->width == AVATAR_PROFILE_SIZE && $avatar->height = AVATAR_PROFILE_SIZE) {
+ // Exact match!
+ $best = $avatar;
+ break;
+ }
+ if (!$best || $avatar->width > $best->width) {
+ $best = $avatar;
+ }
+ }
+ return $best->url;
} else if (array_key_exists('avatar', $hints)) {
return $hints['avatar'];
}
@@ -932,18 +919,18 @@ class Ostatus_profile extends Memcached_DataObject
* @return Ostatus_profile
*/
- public static function ensureActorProfile($activity, $feeduri=null, $salmonuri=null)
+ public static function ensureActorProfile($activity, $hints=array())
{
- return self::ensureActivityObjectProfile($activity->actor, $feeduri, $salmonuri);
+ return self::ensureActivityObjectProfile($activity->actor, $hints);
}
- public static function ensureActivityObjectProfile($object, $feeduri=null, $salmonuri=null, $hints=array())
+ public static function ensureActivityObjectProfile($object, $hints=array())
{
$profile = self::getActivityObjectProfile($object);
if ($profile) {
$profile->updateFromActivityObject($object, $hints);
} else {
- $profile = self::createActivityObjectProfile($object, $feeduri, $salmonuri, $hints);
+ $profile = self::createActivityObjectProfile($object, $hints);
}
return $profile;
}
@@ -989,58 +976,55 @@ class Ostatus_profile extends Memcached_DataObject
* @fixme validate stuff somewhere
*/
- protected static function createActorProfile($activity, $feeduri=null, $salmonuri=null)
- {
- $actor = $activity->actor;
-
- self::createActivityObjectProfile($actor, $feeduri, $salmonuri);
- }
-
/**
* Create local ostatus_profile and profile/user_group entries for
* the provided remote user or group.
*
* @param ActivityObject $object
- * @param string $feeduri
- * @param string $salmonuri
* @param array $hints
*
- * @fixme fold $feeduri/$salmonuri into $hints
* @return Ostatus_profile
*/
- protected static function createActivityObjectProfile($object, $feeduri=null, $salmonuri=null, $hints=array())
+ protected static function createActivityObjectProfile($object, $hints=array())
{
- $homeuri = $object->id;
+ $homeuri = $object->id;
+ $discover = false;
if (!$homeuri) {
common_log(LOG_DEBUG, __METHOD__ . " empty actor profile URI: " . var_export($activity, true));
throw new ServerException("No profile URI");
}
- if (empty($feeduri)) {
- if (array_key_exists('feedurl', $hints)) {
- $feeduri = $hints['feedurl'];
- }
+ if (array_key_exists('feedurl', $hints)) {
+ $feeduri = $hints['feedurl'];
+ } else {
+ $discover = new FeedDiscovery();
+ $feeduri = $discover->discoverFromURL($homeuri);
}
- if (empty($salmonuri)) {
- if (array_key_exists('salmon', $hints)) {
- $salmonuri = $hints['salmon'];
+ if (array_key_exists('salmon', $hints)) {
+ $salmonuri = $hints['salmon'];
+ } else {
+ if (!$discover) {
+ $discover = new FeedDiscovery();
+ $discover->discoverFromFeedURL($hints['feedurl']);
}
+ $salmonuri = $discover->getAtomLink(Salmon::NS_REPLIES);
}
- if (!$feeduri || !$salmonuri) {
- // Get the canonical feed URI and check it
- $discover = new FeedDiscovery();
- $feeduri = $discover->discoverFromURL($homeuri);
-
+ if (array_key_exists('hub', $hints)) {
+ $huburi = $hints['hub'];
+ } else {
+ if (!$discover) {
+ $discover = new FeedDiscovery();
+ $discover->discoverFromFeedURL($hints['feedurl']);
+ }
$huburi = $discover->getAtomLink('hub');
- $salmonuri = $discover->getAtomLink('salmon');
+ }
- if (!$huburi) {
- // We can only deal with folks with a PuSH hub
- throw new FeedSubNoHubException();
- }
+ if (!$huburi) {
+ // We can only deal with folks with a PuSH hub
+ throw new FeedSubNoHubException();
}
$oprofile = new Ostatus_profile();
@@ -1054,8 +1038,8 @@ class Ostatus_profile extends Memcached_DataObject
if ($object->type == ActivityObject::PERSON) {
$profile = new Profile();
+ $profile->created = common_sql_now();
self::updateProfile($profile, $object, $hints);
- $profile->created = common_sql_now();
$oprofile->profile_id = $profile->insert();
if (!$oprofile->profile_id) {
@@ -1063,6 +1047,7 @@ class Ostatus_profile extends Memcached_DataObject
}
} else {
$group = new User_group();
+ $group->uri = $homeuri;
$group->created = common_sql_now();
self::updateGroup($group, $object, $hints);
@@ -1110,18 +1095,35 @@ class Ostatus_profile extends Memcached_DataObject
$orig = clone($profile);
$profile->nickname = self::getActivityObjectNickname($object, $hints);
- $profile->fullname = $object->title;
+
+ if (!empty($object->title)) {
+ $profile->fullname = $object->title;
+ } else if (array_key_exists('fullname', $hints)) {
+ $profile->fullname = $hints['fullname'];
+ }
+
if (!empty($object->link)) {
$profile->profileurl = $object->link;
} else if (array_key_exists('profileurl', $hints)) {
$profile->profileurl = $hints['profileurl'];
+ } else if (Validate::uri($object->id, array('allowed_schemes' => array('http', 'https')))) {
+ $profile->profileurl = $object->id;
+ }
+
+ $profile->bio = self::getActivityObjectBio($object, $hints);
+ $profile->location = self::getActivityObjectLocation($object, $hints);
+ $profile->homepage = self::getActivityObjectHomepage($object, $hints);
+
+ if (!empty($object->geopoint)) {
+ $location = ActivityContext::locationFromPoint($object->geopoint);
+ if (!empty($location)) {
+ $profile->lat = $location->lat;
+ $profile->lon = $location->lon;
+ }
}
- // @fixme bio
// @fixme tags/categories
- // @fixme location?
// @todo tags from categories
- // @todo lat/lon/location?
if ($profile->id) {
common_log(LOG_DEBUG, "Updating OStatus profile $profile->id from remote info $object->id: " . var_export($object, true) . var_export($hints, true));
@@ -1133,19 +1135,19 @@ class Ostatus_profile extends Memcached_DataObject
{
$orig = clone($group);
- // @fixme need to make nick unique etc *hack hack*
$group->nickname = self::getActivityObjectNickname($object, $hints);
$group->fullname = $object->title;
- // @fixme no canonical profileurl; using homepage instead for now
- $group->homepage = $object->id;
+ if (!empty($object->link)) {
+ $group->mainpage = $object->link;
+ } else if (array_key_exists('profileurl', $hints)) {
+ $group->mainpage = $hints['profileurl'];
+ }
- // @fixme homepage
- // @fixme bio
- // @fixme tags/categories
- // @fixme location?
// @todo tags from categories
- // @todo lat/lon/location?
+ $group->description = self::getActivityObjectBio($object, $hints);
+ $group->location = self::getActivityObjectLocation($object, $hints);
+ $group->homepage = self::getActivityObjectHomepage($object, $hints);
if ($group->id) {
common_log(LOG_DEBUG, "Updating OStatus group $group->id from remote info $object->id: " . var_export($object, true) . var_export($hints, true));
@@ -1153,6 +1155,69 @@ class Ostatus_profile extends Memcached_DataObject
}
}
+ protected static function getActivityObjectHomepage($object, $hints=array())
+ {
+ $homepage = null;
+ $poco = $object->poco;
+
+ if (!empty($poco)) {
+ $url = $poco->getPrimaryURL();
+ if ($url && $url->type == 'homepage') {
+ $homepage = $url->value;
+ }
+ }
+
+ // @todo Try for a another PoCo URL?
+
+ return $homepage;
+ }
+
+ protected static function getActivityObjectLocation($object, $hints=array())
+ {
+ $location = null;
+
+ if (!empty($object->poco) &&
+ isset($object->poco->address->formatted)) {
+ $location = $object->poco->address->formatted;
+ } else if (array_key_exists('location', $hints)) {
+ $location = $hints['location'];
+ }
+
+ if (!empty($location)) {
+ if (mb_strlen($location) > 255) {
+ $location = mb_substr($note, 0, 255 - 3) . ' … ';
+ }
+ }
+
+ // @todo Try to find location some othe way? Via goerss point?
+
+ return $location;
+ }
+
+ protected static function getActivityObjectBio($object, $hints=array())
+ {
+ $bio = null;
+
+ if (!empty($object->poco)) {
+ $note = $object->poco->note;
+ } else if (array_key_exists('bio', $hints)) {
+ $note = $hints['bio'];
+ }
+
+ if (!empty($note)) {
+ if (Profile::bioTooLong($note)) {
+ // XXX: truncate ok?
+ $bio = mb_substr($note, 0, Profile::maxBio() - 3) . ' … ';
+ } else {
+ $bio = $note;
+ }
+ }
+
+ // @todo Try to get bio info some other way?
+
+ return $bio;
+ }
+
protected static function getActivityObjectNickname($object, $hints=array())
{
if ($object->poco) {
@@ -1160,10 +1225,15 @@ class Ostatus_profile extends Memcached_DataObject
return common_nicknamize($object->poco->preferredUsername);
}
}
+
if (!empty($object->nickname)) {
return common_nicknamize($object->nickname);
}
+ if (array_key_exists('nickname', $hints)) {
+ return $hints['nickname'];
+ }
+
// Try the definitive ID
$nickname = self::nicknameFromURI($object->id);
@@ -1206,36 +1276,65 @@ class Ostatus_profile extends Memcached_DataObject
}
}
+ /**
+ * @param string $addr webfinger address
+ * @return Ostatus_profile
+ * @throws Exception on error conditions
+ */
public static function ensureWebfinger($addr)
{
+ // First, try the cache
+
+ $uri = self::cacheGet(sprintf('ostatus_profile:webfinger:%s', $addr));
+
+ if ($uri !== false) {
+ if (is_null($uri)) {
+ // Negative cache entry
+ throw new Exception('Not a valid webfinger address.');
+ }
+ $oprofile = Ostatus_profile::staticGet('uri', $uri);
+ if (!empty($oprofile)) {
+ return $oprofile;
+ }
+ }
+
// First, look it up
$oprofile = Ostatus_profile::staticGet('uri', 'acct:'.$addr);
if (!empty($oprofile)) {
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
return $oprofile;
}
// Now, try some discovery
- $wf = new Webfinger();
+ $disco = new Discovery();
- $result = $wf->lookup($addr);
-
- if (!$result) {
- return null;
+ try {
+ $result = $disco->lookup($addr);
+ } catch (Exception $e) {
+ // Save negative cache entry so we don't waste time looking it up again.
+ // @fixme distinguish temporary failures?
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), null);
+ throw new Exception('Not a valid webfinger address.');
}
+ $hints = array('webfinger' => $addr);
+
foreach ($result->links as $link) {
switch ($link['rel']) {
- case Webfinger::PROFILEPAGE:
- $profileUrl = $link['href'];
+ case Discovery::PROFILEPAGE:
+ $hints['profileurl'] = $profileUrl = $link['href'];
break;
- case 'salmon':
- $salmonEndpoint = $link['href'];
+ case Salmon::NS_REPLIES:
+ $hints['salmon'] = $salmonEndpoint = $link['href'];
break;
- case Webfinger::UPDATESFROM:
- $feedUrl = $link['href'];
+ case Discovery::UPDATESFROM:
+ $hints['feedurl'] = $feedUrl = $link['href'];
+ break;
+ case Discovery::HCARD:
+ $hcardUrl = $link['href'];
break;
default:
common_log(LOG_NOTICE, "Don't know what to do with rel = '{$link['rel']}'");
@@ -1243,16 +1342,19 @@ class Ostatus_profile extends Memcached_DataObject
}
}
- $hints = array('webfinger' => $addr,
- 'profileurl' => $profileUrl,
- 'feedurl' => $feedUrl,
- 'salmon' => $salmonEndpoint);
+ if (isset($hcardUrl)) {
+ $hcardHints = self::slurpHcard($hcardUrl);
+ // Note: Webfinger > hcard
+ $hints = array_merge($hcardHints, $hints);
+ }
// If we got a feed URL, try that
if (isset($feedUrl)) {
try {
+ common_log(LOG_INFO, "Discovery on acct:$addr with feed URL $feedUrl");
$oprofile = self::ensureProfile($feedUrl, $hints);
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
return $oprofile;
} catch (Exception $e) {
common_log(LOG_WARNING, "Failed creating profile from feed URL '$feedUrl': " . $e->getMessage());
@@ -1264,7 +1366,9 @@ class Ostatus_profile extends Memcached_DataObject
if (isset($profileUrl)) {
try {
+ common_log(LOG_INFO, "Discovery on acct:$addr with profile URL $profileUrl");
$oprofile = self::ensureProfile($profileUrl, $hints);
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
return $oprofile;
} catch (Exception $e) {
common_log(LOG_WARNING, "Failed creating profile from profile URL '$profileUrl': " . $e->getMessage());
@@ -1316,9 +1420,106 @@ class Ostatus_profile extends Memcached_DataObject
throw new Exception("Couldn't save ostatus_profile for '$addr'");
}
+ self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
return $oprofile;
}
- return null;
+ throw new Exception("Couldn't find a valid profile for '$addr'");
+ }
+
+ function saveHTMLFile($title, $rendered)
+ {
+ $final = sprintf("<!DOCTYPE html>\n<html><head><title>%s</title></head>".
+ '<body><div>%s</div></body></html>',
+ htmlspecialchars($title),
+ $rendered);
+
+ $filename = File::filename($this->localProfile(),
+ 'ostatus', // ignored?
+ 'text/html');
+
+ $filepath = File::path($filename);
+
+ file_put_contents($filepath, $final);
+
+ $file = new File;
+
+ $file->filename = $filename;
+ $file->url = File::url($filename);
+ $file->size = filesize($filepath);
+ $file->date = time();
+ $file->mimetype = 'text/html';
+
+ $file_id = $file->insert();
+
+ if ($file_id === false) {
+ common_log_db_error($file, "INSERT", __FILE__);
+ throw new ServerException(_('Could not store HTML content of long post as file.'));
+ }
+
+ return $file;
+ }
+
+ protected static function slurpHcard($url)
+ {
+ set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/plugins/OStatus/extlib/hkit/');
+ require_once('hkit.class.php');
+
+ $h = new hKit;
+
+ // Google Buzz hcards need to be tidied. Probably others too.
+
+ $h->tidy_mode = 'proxy'; // 'proxy', 'exec', 'php' or 'none'
+
+ // Get by URL
+ $hcards = $h->getByURL('hcard', $url);
+
+ if (empty($hcards)) {
+ return array();
+ }
+
+ // @fixme more intelligent guess on multi-hcard pages
+ $hcard = $hcards[0];
+
+ $hints = array();
+
+ $hints['profileurl'] = $url;
+
+ if (array_key_exists('nickname', $hcard)) {
+ $hints['nickname'] = $hcard['nickname'];
+ }
+
+ if (array_key_exists('fn', $hcard)) {
+ $hints['fullname'] = $hcard['fn'];
+ } else if (array_key_exists('n', $hcard)) {
+ $hints['fullname'] = implode(' ', $hcard['n']);
+ }
+
+ if (array_key_exists('photo', $hcard)) {
+ $hints['avatar'] = $hcard['photo'];
+ }
+
+ if (array_key_exists('note', $hcard)) {
+ $hints['bio'] = $hcard['note'];
+ }
+
+ if (array_key_exists('adr', $hcard)) {
+ if (is_string($hcard['adr'])) {
+ $hints['location'] = $hcard['adr'];
+ } else if (is_array($hcard['adr'])) {
+ $hints['location'] = implode(' ', $hcard['adr']);
+ }
+ }
+
+ if (array_key_exists('url', $hcard)) {
+ if (is_string($hcard['url'])) {
+ $hints['homepage'] = $hcard['url'];
+ } else if (is_array($hcard['url'])) {
+ // HACK get the last one; that's how our hcards look
+ $hints['homepage'] = $hcard['url'][count($hcard['url'])-1];
+ }
+ }
+
+ return $hints;
}
}
diff --git a/plugins/OStatus/extlib/hkit/hcard.profile.php b/plugins/OStatus/extlib/hkit/hcard.profile.php
new file mode 100644
index 000000000..6ec0dc890
--- /dev/null
+++ b/plugins/OStatus/extlib/hkit/hcard.profile.php
@@ -0,0 +1,105 @@
+<?php
+ // hcard profile for hkit
+
+ $this->root_class = 'vcard';
+
+ $this->classes = array(
+ 'fn', array('honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix'),
+ 'n', array('honorific-prefix', 'given-name', 'additional-name', 'family-name', 'honorific-suffix'),
+ 'adr', array('post-office-box', 'extended-address', 'street-address', 'postal-code', 'country-name', 'type', 'region', 'locality'),
+ 'label', 'bday', 'agent', 'nickname', 'photo', 'class',
+ 'email', array('type', 'value'),
+ 'category', 'key', 'logo', 'mailer', 'note',
+ 'org', array('organization-name', 'organization-unit'),
+ 'tel', array('type', 'value'),
+ 'geo', array('latitude', 'longitude'),
+ 'tz', 'uid', 'url', 'rev', 'role', 'sort-string', 'sound', 'title'
+ );
+
+ // classes that must only appear once per card
+ $this->singles = array(
+ 'fn'
+ );
+
+ // classes that are required (not strictly enforced - give at least one!)
+ $this->required = array(
+ 'fn'
+ );
+
+ $this->att_map = array(
+ 'fn' => array('IMG|alt'),
+ 'url' => array('A|href', 'IMG|src', 'AREA|href'),
+ 'photo' => array('IMG|src'),
+ 'bday' => array('ABBR|title'),
+ 'logo' => array('IMG|src'),
+ 'email' => array('A|href'),
+ 'geo' => array('ABBR|title')
+ );
+
+
+ $this->callbacks = array(
+ 'url' => array($this, 'resolvePath'),
+ 'photo' => array($this, 'resolvePath'),
+ 'logo' => array($this, 'resolvePath'),
+ 'email' => array($this, 'resolveEmail')
+ );
+
+
+
+ function hKit_hcard_post($a)
+ {
+
+ foreach ($a as &$vcard){
+
+ hKit_implied_n_optimization($vcard);
+ hKit_implied_n_from_fn($vcard);
+
+ }
+
+ return $a;
+
+ }
+
+
+ function hKit_implied_n_optimization(&$vcard)
+ {
+ if (array_key_exists('fn', $vcard) && !is_array($vcard['fn']) &&
+ !array_key_exists('n', $vcard) && (!array_key_exists('org', $vcard) || $vcard['fn'] != $vcard['org'])){
+
+ if (sizeof(explode(' ', $vcard['fn'])) == 2){
+ $patterns = array();
+ $patterns[] = array('/^(\S+),\s*(\S{1})$/', 2, 1); // Lastname, Initial
+ $patterns[] = array('/^(\S+)\s*(\S{1})\.*$/', 2, 1); // Lastname Initial(.)
+ $patterns[] = array('/^(\S+),\s*(\S+)$/', 2, 1); // Lastname, Firstname
+ $patterns[] = array('/^(\S+)\s*(\S+)$/', 1, 2); // Firstname Lastname
+
+ foreach ($patterns as $pattern){
+ if (preg_match($pattern[0], $vcard['fn'], $matches) === 1){
+ $n = array();
+ $n['given-name'] = $matches[$pattern[1]];
+ $n['family-name'] = $matches[$pattern[2]];
+ $vcard['n'] = $n;
+
+
+ break;
+ }
+ }
+ }
+ }
+ }
+
+
+ function hKit_implied_n_from_fn(&$vcard)
+ {
+ if (array_key_exists('fn', $vcard) && is_array($vcard['fn'])
+ && !array_key_exists('n', $vcard) && (!array_key_exists('org', $vcard) || $vcard['fn'] != $vcard['org'])){
+
+ $vcard['n'] = $vcard['fn'];
+ }
+
+ if (array_key_exists('fn', $vcard) && is_array($vcard['fn'])){
+ $vcard['fn'] = $vcard['fn']['text'];
+ }
+ }
+
+?> \ No newline at end of file
diff --git a/plugins/OStatus/extlib/hkit/hkit.class.php b/plugins/OStatus/extlib/hkit/hkit.class.php
new file mode 100644
index 000000000..c3a54cff6
--- /dev/null
+++ b/plugins/OStatus/extlib/hkit/hkit.class.php
@@ -0,0 +1,475 @@
+<?php
+
+ /*
+
+ hKit Library for PHP5 - a generic library for parsing Microformats
+ Copyright (C) 2006 Drew McLellan
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+ Author
+ Drew McLellan - http://allinthehead.com/
+
+ Contributors:
+ Scott Reynen - http://www.randomchaos.com/
+
+ Version 0.5, 22-Jul-2006
+ fixed by-ref issue cropping up in PHP 5.0.5
+ fixed a bug with a@title
+ added support for new fn=n optimisation
+ added support for new a.include include-pattern
+ Version 0.4, 23-Jun-2006
+ prevented nested includes from causing infinite loops
+ returns false if URL can't be fetched
+ added pre-flight check for base support level
+ added deduping of once-only classnames
+ prevented accumulation of multiple 'value' values
+ tuned whitespace handling and treatment of DEL elements
+ Version 0.3, 21-Jun-2006
+ added post-processor callback method into profiles
+ fixed minor problems raised by hcard testsuite
+ added support for include-pattern
+ added support for td@headers pattern
+ added implied-n optimization into default hcard profile
+ Version 0.2, 20-Jun-2006
+ added class callback mechanism
+ added resolvePath & resolveEmail
+ added basic BASE support
+ Version 0.1.1, 19-Jun-2006 (different timezone, no time machine)
+ added external Tidy option
+ Version 0.1, 20-Jun-2006
+ initial release
+
+
+
+
+ */
+
+ class hKit
+ {
+
+ public $tidy_mode = 'proxy'; // 'proxy', 'exec', 'php' or 'none'
+ public $tidy_proxy = 'http://cgi.w3.org/cgi-bin/tidy?forceXML=on&docAddr='; // required only for tidy_mode=proxy
+ public $tmp_dir = '/path/to/writable/dir/'; // required only for tidy_mode=exec
+
+ private $root_class = '';
+ private $classes = '';
+ private $singles = '';
+ private $required = '';
+ private $att_map = '';
+ private $callbacks = '';
+ private $processor = '';
+
+ private $url = '';
+ private $base = '';
+ private $doc = '';
+
+
+ public function hKit()
+ {
+ // pre-flight checks
+ $pass = true;
+ $required = array('dom_import_simplexml', 'file_get_contents', 'simplexml_load_string');
+ $missing = array();
+
+ foreach ($required as $f){
+ if (!function_exists($f)){
+ $pass = false;
+ $missing[] = $f . '()';
+ }
+ }
+
+ if (!$pass)
+ die('hKit error: these required functions are not available: <strong>' . implode(', ', $missing) . '</strong>');
+
+ }
+
+
+ public function getByURL($profile='', $url='')
+ {
+
+ if ($profile=='' || $url == '') return false;
+
+ $this->loadProfile($profile);
+
+ $source = $this->loadURL($url);
+
+ if ($source){
+ $tidy_xhtml = $this->tidyThis($source);
+
+ $fragment = false;
+
+ if (strrchr($url, '#'))
+ $fragment = array_pop(explode('#', $url));
+
+ $doc = $this->loadDoc($tidy_xhtml, $fragment);
+ $s = $this->processNodes($doc, $this->classes);
+ $s = $this->postProcess($profile, $s);
+
+ return $s;
+ }else{
+ return false;
+ }
+ }
+
+ public function getByString($profile='', $input_xml='')
+ {
+ if ($profile=='' || $input_xml == '') return false;
+
+ $this->loadProfile($profile);
+
+ $doc = $this->loadDoc($input_xml);
+ $s = $this->processNodes($doc, $this->classes);
+ $s = $this->postProcess($profile, $s);
+
+ return $s;
+
+ }
+
+ private function processNodes($items, $classes, $allow_includes=true){
+
+ $out = array();
+
+ foreach($items as $item){
+ $data = array();
+
+ for ($i=0; $i<sizeof($classes); $i++){
+
+ if (!is_array($classes[$i])){
+
+ $xpath = ".//*[contains(concat(' ',normalize-space(@class),' '),' " . $classes[$i] . " ')]";
+ $results = $item->xpath($xpath);
+
+ if ($results){
+ foreach ($results as $result){
+ if (isset($classes[$i+1]) && is_array($classes[$i+1])){
+ $nodes = $this->processNodes($results, $classes[$i+1]);
+ if (sizeof($nodes) > 0){
+ $nodes = array_merge(array('text'=>$this->getNodeValue($result, $classes[$i])), $nodes);
+ $data[$classes[$i]] = $nodes;
+ }else{
+ $data[$classes[$i]] = $this->getNodeValue($result, $classes[$i]);
+ }
+
+ }else{
+ if (isset($data[$classes[$i]])){
+ if (is_array($data[$classes[$i]])){
+ // is already an array - append
+ $data[$classes[$i]][] = $this->getNodeValue($result, $classes[$i]);
+
+ }else{
+ // make it an array
+ if ($classes[$i] == 'value'){ // unless it's the 'value' of a type/value pattern
+ $data[$classes[$i]] .= $this->getNodeValue($result, $classes[$i]);
+ }else{
+ $old_val = $data[$classes[$i]];
+ $data[$classes[$i]] = array($old_val, $this->getNodeValue($result, $classes[$i]));
+ $old_val = false;
+ }
+ }
+ }else{
+ // set as normal value
+ $data[$classes[$i]] = $this->getNodeValue($result, $classes[$i]);
+
+ }
+ }
+
+ // td@headers pattern
+ if (strtoupper(dom_import_simplexml($result)->tagName)== "TD" && $result['headers']){
+ $include_ids = explode(' ', $result['headers']);
+ $doc = $this->doc;
+ foreach ($include_ids as $id){
+ $xpath = "//*[@id='$id']/..";
+ $includes = $doc->xpath($xpath);
+ foreach ($includes as $include){
+ $tmp = $this->processNodes($include, $this->classes);
+ if (is_array($tmp)) $data = array_merge($data, $tmp);
+ }
+ }
+ }
+ }
+ }
+ }
+ $result = false;
+ }
+
+ // include-pattern
+ if ($allow_includes){
+ $xpath = ".//*[contains(concat(' ',normalize-space(@class),' '),' include ')]";
+ $results = $item->xpath($xpath);
+
+ if ($results){
+ foreach ($results as $result){
+ $tagName = strtoupper(dom_import_simplexml($result)->tagName);
+ if ((($tagName == "OBJECT" && $result['data']) || ($tagName == "A" && $result['href']))
+ && preg_match('/\binclude\b/', $result['class'])){
+ $att = ($tagName == "OBJECT" ? 'data' : 'href');
+ $id = str_replace('#', '', $result[$att]);
+ $doc = $this->doc;
+ $xpath = "//*[@id='$id']";
+ $includes = $doc->xpath($xpath);
+ foreach ($includes as $include){
+ $include = simplexml_load_string('<root1><root2>'.$include->asXML().'</root2></root1>'); // don't ask.
+ $tmp = $this->processNodes($include, $this->classes, false);
+ if (is_array($tmp)) $data = array_merge($data, $tmp);
+ }
+ }
+ }
+ }
+ }
+ $out[] = $data;
+ }
+
+ if (sizeof($out) > 1){
+ return $out;
+ }else if (isset($data)){
+ return $data;
+ }else{
+ return array();
+ }
+ }
+
+
+ private function getNodeValue($node, $className)
+ {
+
+ $tag_name = strtoupper(dom_import_simplexml($node)->tagName);
+ $s = false;
+
+ // ignore DEL tags
+ if ($tag_name == 'DEL') return $s;
+
+ // look up att map values
+ if (array_key_exists($className, $this->att_map)){
+
+ foreach ($this->att_map[$className] as $map){
+ if (preg_match("/$tag_name\|/", $map)){
+ $s = ''.$node[array_pop($foo = explode('|', $map))];
+ }
+ }
+ }
+
+ // if nothing and OBJ, try data.
+ if (!$s && $tag_name=='OBJECT' && $node['data']) $s = ''.$node['data'];
+
+ // if nothing and IMG, try alt.
+ if (!$s && $tag_name=='IMG' && $node['alt']) $s = ''.$node['alt'];
+
+ // if nothing and AREA, try alt.
+ if (!$s && $tag_name=='AREA' && $node['alt']) $s = ''.$node['alt'];
+
+ //if nothing and not A, try title.
+ if (!$s && $tag_name!='A' && $node['title']) $s = ''.$node['title'];
+
+
+ // if nothing found, go with node text
+ $s = ($s ? $s : implode(array_filter($node->xpath('child::node()'), array(&$this, "filterBlankValues")), ' '));
+
+ // callbacks
+ if (array_key_exists($className, $this->callbacks)){
+ $s = preg_replace_callback('/.*/', $this->callbacks[$className], $s, 1);
+ }
+
+ // trim and remove line breaks
+ if ($tag_name != 'PRE'){
+ $s = trim(preg_replace('/[\r\n\t]+/', '', $s));
+ $s = trim(preg_replace('/(\s{2})+/', ' ', $s));
+ }
+
+ return $s;
+ }
+
+ private function filterBlankValues($s){
+ return preg_match("/\w+/", $s);
+ }
+
+
+ private function tidyThis($source)
+ {
+ switch ( $this->tidy_mode )
+ {
+ case 'exec':
+ $tmp_file = $this->tmp_dir.md5($source).'.txt';
+ file_put_contents($tmp_file, $source);
+ exec("tidy -utf8 -indent -asxhtml -numeric -bare -quiet $tmp_file", $tidy);
+ unlink($tmp_file);
+ return implode("\n", $tidy);
+ break;
+
+ case 'php':
+ $tidy = tidy_parse_string($source);
+ return tidy_clean_repair($tidy);
+ break;
+
+ default:
+ return $source;
+ break;
+ }
+
+ }
+
+
+ private function loadProfile($profile)
+ {
+ require_once("$profile.profile.php");
+ }
+
+
+ private function loadDoc($input_xml, $fragment=false)
+ {
+ $xml = simplexml_load_string($input_xml);
+
+ $this->doc = $xml;
+
+ if ($fragment){
+ $doc = $xml->xpath("//*[@id='$fragment']");
+ $xml = simplexml_load_string($doc[0]->asXML());
+ $doc = null;
+ }
+
+ // base tag
+ if ($xml->head->base['href']) $this->base = $xml->head->base['href'];
+
+ // xml:base attribute - PITA with SimpleXML
+ preg_match('/xml:base="(.*)"/', $xml->asXML(), $matches);
+ if (is_array($matches) && sizeof($matches)>1) $this->base = $matches[1];
+
+ return $xml->xpath("//*[contains(concat(' ',normalize-space(@class),' '),' $this->root_class ')]");
+
+ }
+
+
+ private function loadURL($url)
+ {
+ $this->url = $url;
+
+ if ($this->tidy_mode == 'proxy' && $this->tidy_proxy != ''){
+ $url = $this->tidy_proxy . $url;
+ }
+
+ return @file_get_contents($url);
+
+ }
+
+
+ private function postProcess($profile, $s)
+ {
+ $required = $this->required;
+
+ if (is_array($s) && array_key_exists($required[0], $s)){
+ $s = array($s);
+ }
+
+ $s = $this->dedupeSingles($s);
+
+ if (function_exists('hKit_'.$profile.'_post')){
+ $s = call_user_func('hKit_'.$profile.'_post', $s);
+ }
+
+ $s = $this->removeTextVals($s);
+
+ return $s;
+ }
+
+
+ private function resolvePath($filepath)
+ { // ugly code ahoy: needs a serious tidy up
+
+ $filepath = $filepath[0];
+
+ $base = $this->base;
+ $url = $this->url;
+
+ if ($base != '' && strpos($base, '://') !== false)
+ $url = $base;
+
+ $r = parse_url($url);
+ $domain = $r['scheme'] . '://' . $r['host'];
+
+ if (!isset($r['path'])) $r['path'] = '/';
+ $path = explode('/', $r['path']);
+ $file = explode('/', $filepath);
+ $new = array('');
+
+ if (strpos($filepath, '://') !== false || strpos($filepath, 'data:') !== false){
+ return $filepath;
+ }
+
+ if ($file[0] == ''){
+ // absolute path
+ return ''.$domain . implode('/', $file);
+ }else{
+ // relative path
+ if ($path[sizeof($path)-1] == '') array_pop($path);
+ if (strpos($path[sizeof($path)-1], '.') !== false) array_pop($path);
+
+ foreach ($file as $segment){
+ if ($segment == '..'){
+ array_pop($path);
+ }else{
+ $new[] = $segment;
+ }
+ }
+ return ''.$domain . implode('/', $path) . implode('/', $new);
+ }
+ }
+
+ private function resolveEmail($v)
+ {
+ $parts = parse_url($v[0]);
+ return ($parts['path']);
+ }
+
+
+ private function dedupeSingles($s)
+ {
+ $singles = $this->singles;
+
+ foreach ($s as &$item){
+ foreach ($singles as $classname){
+ if (array_key_exists($classname, $item) && is_array($item[$classname])){
+ if (isset($item[$classname][0])) $item[$classname] = $item[$classname][0];
+ }
+ }
+ }
+
+ return $s;
+ }
+
+ private function removeTextVals($s)
+ {
+ foreach ($s as $key => &$val){
+ if ($key){
+ $k = $key;
+ }else{
+ $k = '';
+ }
+
+ if (is_array($val)){
+ $val = $this->removeTextVals($val);
+ }else{
+ if ($k == 'text'){
+ $val = '';
+ }
+ }
+ }
+
+ return array_filter($s);
+ }
+
+ }
+
+
+?> \ No newline at end of file
diff --git a/plugins/OStatus/lib/discovery.php b/plugins/OStatus/lib/discovery.php
new file mode 100644
index 000000000..f8449b309
--- /dev/null
+++ b/plugins/OStatus/lib/discovery.php
@@ -0,0 +1,310 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * A sample module to show best practices for StatusNet plugins
+ *
+ * PHP version 5
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (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/>.
+ *
+ * @package StatusNet
+ * @author James Walker <james@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
+ */
+
+/**
+ * This class implements LRDD-based service discovery based on the "Hammer Draft"
+ * (including webfinger)
+ *
+ * @see http://groups.google.com/group/webfinger/browse_thread/thread/9f3d93a479e91bbf
+ */
+class Discovery
+{
+
+ const LRDD_REL = 'lrdd';
+ const PROFILEPAGE = 'http://webfinger.net/rel/profile-page';
+ const UPDATESFROM = 'http://schemas.google.com/g/2010#updates-from';
+ const HCARD = 'http://microformats.org/profile/hcard';
+
+ public $methods = array();
+
+ public function __construct()
+ {
+ $this->registerMethod('Discovery_LRDD_Host_Meta');
+ $this->registerMethod('Discovery_LRDD_Link_Header');
+ $this->registerMethod('Discovery_LRDD_Link_HTML');
+ }
+
+
+ public function registerMethod($class)
+ {
+ $this->methods[] = $class;
+ }
+
+ /**
+ * Given a "user id" make sure it's normalized to either a webfinger
+ * acct: uri or a profile HTTP URL.
+ */
+ public static function normalize($user_id)
+ {
+ if (substr($user_id, 0, 5) == 'http:' ||
+ substr($user_id, 0, 6) == 'https:' ||
+ substr($user_id, 0, 5) == 'acct:') {
+ return $user_id;
+ }
+
+ if (strpos($user_id, '@') !== FALSE) {
+ return 'acct:' . $user_id;
+ }
+
+ return 'http://' . $user_id;
+ }
+
+ public static function isWebfinger($user_id)
+ {
+ $uri = Discovery::normalize($user_id);
+
+ return (substr($uri, 0, 5) == 'acct:');
+ }
+
+ /**
+ * This implements the actual lookup procedure
+ */
+ public function lookup($id)
+ {
+ // Normalize the incoming $id to make sure we have a uri
+ $uri = $this->normalize($id);
+
+ foreach ($this->methods as $class) {
+ $links = call_user_func(array($class, 'discover'), $uri);
+ if ($link = Discovery::getService($links, Discovery::LRDD_REL)) {
+ // Load the LRDD XRD
+ if (!empty($link['template'])) {
+ $xrd_uri = Discovery::applyTemplate($link['template'], $uri);
+ } else {
+ $xrd_uri = $link['href'];
+ }
+
+ $xrd = $this->fetchXrd($xrd_uri);
+ if ($xrd) {
+ return $xrd;
+ }
+ }
+ }
+
+ throw new Exception('Unable to find services for '. $id);
+ }
+
+ public static function getService($links, $service) {
+ if (!is_array($links)) {
+ return false;
+ }
+
+ foreach ($links as $link) {
+ if ($link['rel'] == $service) {
+ return $link;
+ }
+ }
+ }
+
+
+ public static function applyTemplate($template, $id)
+ {
+ $template = str_replace('{uri}', urlencode($id), $template);
+
+ return $template;
+ }
+
+
+ public static function fetchXrd($url)
+ {
+ try {
+ $client = new HTTPClient();
+ $response = $client->get($url);
+ } catch (HTTP_Request2_Exception $e) {
+ return false;
+ }
+
+ if ($response->getStatus() != 200) {
+ return false;
+ }
+
+ return XRD::parse($response->getBody());
+ }
+}
+
+interface Discovery_LRDD
+{
+ public function discover($uri);
+}
+
+class Discovery_LRDD_Host_Meta implements Discovery_LRDD
+{
+ public function discover($uri)
+ {
+ if (!Discovery::isWebfinger($uri)) {
+ return false;
+ }
+
+ // We have a webfinger acct: - start with host-meta
+ list($name, $domain) = explode('@', $uri);
+ $url = 'http://'. $domain .'/.well-known/host-meta';
+
+ $xrd = Discovery::fetchXrd($url);
+
+ if ($xrd) {
+ if ($xrd->host != $domain) {
+ return false;
+ }
+
+ return $xrd->links;
+ }
+ }
+}
+
+class Discovery_LRDD_Link_Header implements Discovery_LRDD
+{
+ public function discover($uri)
+ {
+ try {
+ $client = new HTTPClient();
+ $response = $client->get($uri);
+ } catch (HTTP_Request2_Exception $e) {
+ return false;
+ }
+
+ if ($response->getStatus() != 200) {
+ return false;
+ }
+
+ $link_header = $response->getHeader('Link');
+ if (!$link_header) {
+ // return false;
+ }
+
+ return Discovery_LRDD_Link_Header::parseHeader($link_header);
+ }
+
+ protected static function parseHeader($header)
+ {
+ preg_match('/^<[^>]+>/', $header, $uri_reference);
+ //if (empty($uri_reference)) return;
+
+ $links = array();
+
+ $link_uri = trim($uri_reference[0], '<>');
+ $link_rel = array();
+ $link_type = null;
+
+ // remove uri-reference from header
+ $header = substr($header, strlen($uri_reference[0]));
+
+ // parse link-params
+ $params = explode(';', $header);
+
+ foreach ($params as $param) {
+ if (empty($param)) continue;
+ list($param_name, $param_value) = explode('=', $param, 2);
+ $param_name = trim($param_name);
+ $param_value = preg_replace('(^"|"$)', '', trim($param_value));
+
+ // for now we only care about 'rel' and 'type' link params
+ // TODO do something with the other links-params
+ switch ($param_name) {
+ case 'rel':
+ $link_rel = trim($param_value);
+ break;
+
+ case 'type':
+ $link_type = trim($param_value);
+ }
+ }
+
+ $links[] = array(
+ 'href' => $link_uri,
+ 'rel' => $link_rel,
+ 'type' => $link_type);
+
+ return $links;
+ }
+}
+
+class Discovery_LRDD_Link_HTML implements Discovery_LRDD
+{
+ public function discover($uri)
+ {
+ try {
+ $client = new HTTPClient();
+ $response = $client->get($uri);
+ } catch (HTTP_Request2_Exception $e) {
+ return false;
+ }
+
+ if ($response->getStatus() != 200) {
+ return false;
+ }
+
+ return Discovery_LRDD_Link_HTML::parse($response->getBody());
+ }
+
+
+ public function parse($html)
+ {
+ $links = array();
+
+ preg_match('/<head(\s[^>]*)?>(.*?)<\/head>/is', $html, $head_matches);
+ $head_html = $head_matches[2];
+
+ preg_match_all('/<link\s[^>]*>/i', $head_html, $link_matches);
+
+ foreach ($link_matches[0] as $link_html) {
+ $link_url = null;
+ $link_rel = null;
+ $link_type = null;
+
+ preg_match('/\srel=(("|\')([^\\2]*?)\\2|[^"\'\s]+)/i', $link_html, $rel_matches);
+ if ( isset($rel_matches[3]) ) {
+ $link_rel = $rel_matches[3];
+ } else if ( isset($rel_matches[1]) ) {
+ $link_rel = $rel_matches[1];
+ }
+
+ preg_match('/\shref=(("|\')([^\\2]*?)\\2|[^"\'\s]+)/i', $link_html, $href_matches);
+ if ( isset($href_matches[3]) ) {
+ $link_uri = $href_matches[3];
+ } else if ( isset($href_matches[1]) ) {
+ $link_uri = $href_matches[1];
+ }
+
+ preg_match('/\stype=(("|\')([^\\2]*?)\\2|[^"\'\s]+)/i', $link_html, $type_matches);
+ if ( isset($type_matches[3]) ) {
+ $link_type = $type_matches[3];
+ } else if ( isset($type_matches[1]) ) {
+ $link_type = $type_matches[1];
+ }
+
+ $links[] = array(
+ 'href' => $link_url,
+ 'rel' => $link_rel,
+ 'type' => $link_type,
+ );
+ }
+
+ return $links;
+ }
+}
diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php
index 81f4609c5..fb8c57c71 100644
--- a/plugins/OStatus/lib/magicenvelope.php
+++ b/plugins/OStatus/lib/magicenvelope.php
@@ -50,19 +50,26 @@ class MagicEnvelope
public function getKeyPair($signer_uri)
{
- return 'RSA.79_L2gq-TD72Nsb5yGS0r9stLLpJZF5AHXyxzWmQmlqKl276LEJEs8CppcerLcR90MbYQUwt-SX9slx40Yq3vA==.AQAB.AR-jo5KMfSISmDAT2iMs2_vNFgWRjl5rbJVvA0SpGIEWyPdCGxlPtCbTexp8-0ZEIe8a4SyjatBECH5hxgMTpw==';
- }
-
-
- public function signMessage($text, $mimetype, $signer_uri)
- {
- $signer_uri = $this->normalizeUser($signer_uri);
+ $disco = new Discovery();
- if (!$this->checkAuthor($text, $signer_uri)) {
+ try {
+ $xrd = $disco->lookup($signer_uri);
+ } catch (Exception $e) {
return false;
}
+ if ($xrd->links) {
+ if ($link = Discovery::getService($xrd->links, Magicsig::PUBLICKEYREL)) {
+ list($type, $keypair) = explode(';', $link['href']);
+ return $keypair;
+ }
+ }
+ throw new Exception('Unable to locate signer public key');
+ }
+
- $signature_alg = Magicsig::fromString($this->getKeyPair($signer_uri));
+ public function signMessage($text, $mimetype, $keypair)
+ {
+ $signature_alg = Magicsig::fromString($keypair);
$armored_text = base64_encode($text);
return array(
@@ -76,6 +83,28 @@ class MagicEnvelope
}
+ public function toXML($env) {
+ $dom = new DOMDocument();
+
+ $envelope = $dom->createElementNS(MagicEnvelope::NS, 'me:env');
+ $envelope->setAttribute('xmlns:me', MagicEnvelope::NS);
+ $data = $dom->createElementNS(MagicEnvelope::NS, 'me:data', $env['data']);
+ $data->setAttribute('type', $env['data_type']);
+ $envelope->appendChild($data);
+ $enc = $dom->createElementNS(MagicEnvelope::NS, 'me:encoding', $env['encoding']);
+ $envelope->appendChild($enc);
+ $alg = $dom->createElementNS(MagicEnvelope::NS, 'me:alg', $env['alg']);
+ $envelope->appendChild($alg);
+ $sig = $dom->createElementNS(MagicEnvelope::NS, 'me:sig', $env['sig']);
+ $envelope->appendChild($sig);
+
+ $dom->appendChild($envelope);
+
+
+ return $dom->saveXML();
+ }
+
+
public function unfold($env)
{
$dom = new DOMDocument();
@@ -127,18 +156,32 @@ class MagicEnvelope
public function verify($env)
{
if ($env['alg'] != 'RSA-SHA256') {
+ common_log(LOG_DEBUG, "Salmon error: bad algorithm");
return false;
}
if ($env['encoding'] != MagicEnvelope::ENCODING) {
+ common_log(LOG_DEBUG, "Salmon error: bad encoding");
return false;
}
$text = base64_decode($env['data']);
$signer_uri = $this->getAuthor($text);
- $verifier = Magicsig::fromString($this->getKeyPair($signer_uri));
+ try {
+ $keypair = $this->getKeyPair($signer_uri);
+ } catch (Exception $e) {
+ common_log(LOG_DEBUG, "Salmon error: ".$e->getMessage());
+ return false;
+ }
+
+ $verifier = Magicsig::fromString($keypair);
+ if (!$verifier) {
+ common_log(LOG_DEBUG, "Salmon error: unable to parse keypair");
+ return false;
+ }
+
return $verifier->verify($env['data'], $env['sig']);
}
diff --git a/plugins/OStatus/lib/ostatusqueuehandler.php b/plugins/OStatus/lib/ostatusqueuehandler.php
index 0da85600f..d1e58f1d6 100644
--- a/plugins/OStatus/lib/ostatusqueuehandler.php
+++ b/plugins/OStatus/lib/ostatusqueuehandler.php
@@ -87,7 +87,7 @@ class OStatusQueueHandler extends QueueHandler
// remote user or group.
// @fixme as an optimization we can skip this if the
// remote profile is subscribed to the author.
- $oprofile->notifyDeferred($this->notice);
+ $oprofile->notifyDeferred($this->notice, $this->user);
}
}
@@ -164,46 +164,21 @@ class OStatusQueueHandler extends QueueHandler
*/
function userFeedForNotice()
{
- // @fixme this feels VERY hacky...
- // should probably be a cleaner way to do it
-
- ob_start();
- $api = new ApiTimelineUserAction();
- $api->prepare(array('id' => $this->notice->profile_id,
- 'format' => 'atom',
- 'max_id' => $this->notice->id,
- 'since_id' => $this->notice->id - 1));
- $api->showTimeline();
- $feed = ob_get_clean();
-
- // ...and override the content-type back to something normal... eww!
- // hope there's no other headers that got set while we weren't looking.
- header('Content-Type: text/html; charset=utf-8');
-
- common_log(LOG_DEBUG, $feed);
+ $atom = new AtomUserNoticeFeed($this->user);
+ $atom->addEntryFromNotice($this->notice);
+ $feed = $atom->getString();
+
return $feed;
}
function groupFeedForNotice($group_id)
{
- // @fixme this feels VERY hacky...
- // should probably be a cleaner way to do it
-
- ob_start();
- $api = new ApiTimelineGroupAction();
- $args = array('id' => $group_id,
- 'format' => 'atom',
- 'max_id' => $this->notice->id,
- 'since_id' => $this->notice->id - 1);
- $api->prepare($args);
- $api->handle($args);
- $feed = ob_get_clean();
-
- // ...and override the content-type back to something normal... eww!
- // hope there's no other headers that got set while we weren't looking.
- header('Content-Type: text/html; charset=utf-8');
-
- common_log(LOG_DEBUG, $feed);
+ $group = User_group::staticGet('id', $group_id);
+
+ $atom = new AtomGroupNoticeFeed($group);
+ $atom->addEntryFromNotice($this->notice);
+ $feed = $atom->getString();
+
return $feed;
}
diff --git a/plugins/OStatus/lib/pushinqueuehandler.php b/plugins/OStatus/lib/pushinqueuehandler.php
index a90f52df2..1fd29ae30 100644
--- a/plugins/OStatus/lib/pushinqueuehandler.php
+++ b/plugins/OStatus/lib/pushinqueuehandler.php
@@ -40,7 +40,11 @@ class PushInQueueHandler extends QueueHandler
$feedsub = FeedSub::staticGet('id', $feedsub_id);
if ($feedsub) {
- $feedsub->receive($post, $hmac);
+ try {
+ $feedsub->receive($post, $hmac);
+ } catch(Exception $e) {
+ common_log(LOG_ERR, "Exception during PuSH input processing for $feedsub->uri: " . $e->getMessage());
+ }
} else {
common_log(LOG_ERR, "Discarding POST to unknown feed subscription id $feedsub_id");
}
diff --git a/plugins/OStatus/lib/salmon.php b/plugins/OStatus/lib/salmon.php
index b5f178cc6..3d3341bc6 100644
--- a/plugins/OStatus/lib/salmon.php
+++ b/plugins/OStatus/lib/salmon.php
@@ -28,6 +28,11 @@
*/
class Salmon
{
+
+ const NS_REPLIES = "http://salmon-protocol.org/ns/salmon-replies";
+
+ const NS_MENTIONS = "http://salmon-protocol.org/ns/salmon-mention";
+
/**
* Sign and post the given Atom entry as a Salmon message.
*
@@ -37,17 +42,20 @@ class Salmon
* @param string $xml
* @return boolean success
*/
- public function post($endpoint_uri, $xml)
+ public function post($endpoint_uri, $xml, $actor)
{
if (empty($endpoint_uri)) {
return false;
}
- if (!common_config('ostatus', 'skip_signatures')) {
- $xml = $this->createMagicEnv($xml);
+ try {
+ $xml = $this->createMagicEnv($xml, $actor);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Salmon unable to sign: " . $e->getMessage());
+ return false;
}
- $headers = array('Content-Type: application/atom+xml');
+ $headers = array('Content-Type: application/magic-envelope+xml');
try {
$client = new HTTPClient();
@@ -65,24 +73,37 @@ class Salmon
return true;
}
- public function createMagicEnv($text)
+ public function createMagicEnv($text, $actor)
{
$magic_env = new MagicEnvelope();
- // TODO: Should probably be getting the signer uri as an argument?
- $signer_uri = $magic_env->getAuthor($text);
-
- $env = $magic_env->signMessage($text, 'application/atom+xml', $signer_uri);
+ $user = User::staticGet('id', $actor->id);
+ if ($user->id) {
+ // Use local key
+ $magickey = Magicsig::staticGet('user_id', $user->id);
+ if (!$magickey) {
+ // No keypair yet, let's generate one.
+ $magickey = new Magicsig();
+ $magickey->generate($user->id);
+ }
+ } else {
+ throw new Exception("Salmon invalid actor for signing");
+ }
- return $magic_env->unfold($env);
+ try {
+ $env = $magic_env->signMessage($text, 'application/atom+xml', $magickey->toString());
+ } catch (Exception $e) {
+ return $text;
+ }
+ return $magic_env->toXML($env);
}
- public function verifyMagicEnv($dom)
+ public function verifyMagicEnv($text)
{
$magic_env = new MagicEnvelope();
- $env = $magic_env->fromDom($dom);
+ $env = $magic_env->parse($text);
return $magic_env->verify($env);
}
diff --git a/plugins/OStatus/lib/salmonaction.php b/plugins/OStatus/lib/salmonaction.php
index a03169101..fa9dc3b1d 100644
--- a/plugins/OStatus/lib/salmonaction.php
+++ b/plugins/OStatus/lib/salmonaction.php
@@ -41,29 +41,32 @@ class SalmonAction extends Action
$this->clientError(_m('This method requires a POST.'));
}
- if (empty($_SERVER['CONTENT_TYPE']) || $_SERVER['CONTENT_TYPE'] != 'application/atom+xml') {
- $this->clientError(_m('Salmon requires application/atom+xml'));
+ if (empty($_SERVER['CONTENT_TYPE']) || $_SERVER['CONTENT_TYPE'] != 'application/magic-envelope+xml') {
+ $this->clientError(_m('Salmon requires application/magic-envelope+xml'));
}
$xml = file_get_contents('php://input');
- $dom = DOMDocument::loadXML($xml);
+ // Check the signature
+ $salmon = new Salmon;
+ if (!$salmon->verifyMagicEnv($xml)) {
+ common_log(LOG_DEBUG, "Salmon signature verification failed.");
+ $this->clientError(_m('Salmon signature verification failed.'));
+ } else {
+ $magic_env = new MagicEnvelope();
+ $env = $magic_env->parse($xml);
+ $xml = $magic_env->unfold($env);
+ }
+
+
+ $dom = DOMDocument::loadXML($xml);
if ($dom->documentElement->namespaceURI != Activity::ATOM ||
$dom->documentElement->localName != 'entry') {
common_log(LOG_DEBUG, "Got invalid Salmon post: $xml");
$this->clientError(_m('Salmon post must be an Atom entry.'));
}
- // Check the signature
- $salmon = new Salmon;
- if (!common_config('ostatus', 'skip_signatures')) {
- if (!$salmon->verifyMagicEnv($dom)) {
- common_log(LOG_DEBUG, "Salmon signature verification failed.");
- $this->clientError(_m('Salmon signature verification failed.'));
- }
- }
-
$this->act = new Activity($dom->documentElement);
return true;
}
diff --git a/plugins/OStatus/lib/salmonqueuehandler.php b/plugins/OStatus/lib/salmonqueuehandler.php
index aa97018dc..7eeb5f8e9 100644
--- a/plugins/OStatus/lib/salmonqueuehandler.php
+++ b/plugins/OStatus/lib/salmonqueuehandler.php
@@ -35,8 +35,10 @@ class SalmonQueueHandler extends QueueHandler
assert(is_string($data['salmonuri']));
assert(is_string($data['entry']));
+ $actor = Profile::staticGet($data['actor']);
+
$salmon = new Salmon();
- $salmon->post($data['salmonuri'], $data['entry']);
+ $salmon->post($data['salmonuri'], $data['entry'], $actor);
// @fixme detect failure and attempt to resend
return true;
diff --git a/plugins/OStatus/lib/webfinger.php b/plugins/OStatus/lib/webfinger.php
deleted file mode 100644
index 8a5037629..000000000
--- a/plugins/OStatus/lib/webfinger.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/**
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2010, StatusNet, Inc.
- *
- * A sample module to show best practices for StatusNet plugins
- *
- * PHP version 5
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (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/>.
- *
- * @package StatusNet
- * @author James Walker <james@status.net>
- * @copyright 2010 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
- * @link http://status.net/
- */
-
-define('WEBFINGER_SERVICE_REL_VALUE', 'lrdd');
-
-/**
- * Implement the webfinger protocol.
- */
-
-class Webfinger
-{
- const PROFILEPAGE = 'http://webfinger.net/rel/profile-page';
- const UPDATESFROM = 'http://schemas.google.com/g/2010#updates-from';
-
- /**
- * Perform a webfinger lookup given an account.
- */
-
- public function lookup($id)
- {
- $id = $this->normalize($id);
- list($name, $domain) = explode('@', $id);
-
- $links = $this->getServiceLinks($domain);
- if (!$links) {
- return false;
- }
-
- $services = array();
- foreach ($links as $link) {
- if ($link['template']) {
- return $this->getServiceDescription($link['template'], $id);
- }
- if ($link['href']) {
- return $this->getServiceDescription($link['href'], $id);
- }
- }
- }
-
- /**
- * Normalize an account ID
- */
- function normalize($id)
- {
- if (substr($id, 0, 7) == 'acct://') {
- return substr($id, 7);
- } else if (substr($id, 0, 5) == 'acct:') {
- return substr($id, 5);
- }
-
- return $id;
- }
-
- function getServiceLinks($domain)
- {
- $url = 'http://'. $domain .'/.well-known/host-meta';
- $content = $this->fetchURL($url);
- if (empty($content)) {
- common_log(LOG_DEBUG, 'Error fetching host-meta');
- return false;
- }
- $result = XRD::parse($content);
-
- // Ensure that the host == domain (spec may include signing later)
- if ($result->host != $domain) {
- return false;
- }
-
- $links = array();
- foreach ($result->links as $link) {
- if ($link['rel'] == WEBFINGER_SERVICE_REL_VALUE) {
- $links[] = $link;
- }
-
- }
- return $links;
- }
-
- function getServiceDescription($template, $id)
- {
- $url = $this->applyTemplate($template, 'acct:' . $id);
-
- $content = $this->fetchURL($url);
-
- if (!$content) {
- return false;
- }
-
- return XRD::parse($content);
- }
-
- function fetchURL($url)
- {
- try {
- $client = new HTTPClient();
- $response = $client->get($url);
- } catch (HTTP_Request2_Exception $e) {
- return false;
- }
-
- if ($response->getStatus() != 200) {
- return false;
- }
-
- return $response->getBody();
- }
-
- function applyTemplate($template, $id)
- {
- $template = str_replace('{uri}', urlencode($id), $template);
-
- return $template;
- }
-
- function getHostMeta($domain, $template) {
- $xrd = new XRD();
- $xrd->host = $domain;
- $xrd->links[] = array('rel' => 'lrdd',
- 'template' => $template,
- 'title' => array('Resource Descriptor'));
-
- return $xrd->toXML();
- }
-}
-
diff --git a/plugins/OStatus/lib/xrd.php b/plugins/OStatus/lib/xrd.php
index 16d27f8eb..aa13ef024 100644
--- a/plugins/OStatus/lib/xrd.php
+++ b/plugins/OStatus/lib/xrd.php
@@ -53,17 +53,25 @@ class XRD
$xrd = new XRD();
$dom = new DOMDocument();
- $dom->loadXML($xml);
+ if (!$dom->loadXML($xml)) {
+ throw new Exception("Invalid XML");
+ }
$xrd_element = $dom->getElementsByTagName('XRD')->item(0);
+ if (!$xrd_element) {
+ throw new Exception("Invalid XML, missing XRD root");
+ }
// Check for host-meta host
- $host = $xrd_element->getElementsByTagName('Host')->item(0)->nodeValue;
+ $host = $xrd_element->getElementsByTagName('Host')->item(0);
if ($host) {
- $xrd->host = $host;
+ $xrd->host = $host->nodeValue;
}
// Loop through other elements
foreach ($xrd_element->childNodes as $node) {
+ if (!($node instanceof DOMElement)) {
+ continue;
+ }
switch ($node->tagName) {
case 'Expires':
$xrd->expires = $node->nodeValue;
@@ -144,9 +152,11 @@ class XRD
$link['href'] = $element->getAttribute('href');
$link['template'] = $element->getAttribute('template');
foreach ($element->childNodes as $node) {
- switch($node->tagName) {
- case 'Title':
- $link['title'][] = $node->nodeValue;
+ if ($node instanceof DOMElement) {
+ switch($node->tagName) {
+ case 'Title':
+ $link['title'][] = $node->nodeValue;
+ }
}
}
@@ -156,20 +166,20 @@ class XRD
function saveLink($doc, $link)
{
$link_element = $doc->createElement('Link');
- if ($link['rel']) {
+ if (!empty($link['rel'])) {
$link_element->setAttribute('rel', $link['rel']);
}
- if ($link['type']) {
+ if (!empty($link['type'])) {
$link_element->setAttribute('type', $link['type']);
}
- if ($link['href']) {
+ if (!empty($link['href'])) {
$link_element->setAttribute('href', $link['href']);
}
- if ($link['template']) {
+ if (!empty($link['template'])) {
$link_element->setAttribute('template', $link['template']);
}
- if (is_array($link['title'])) {
+ if (!empty($link['title']) && is_array($link['title'])) {
foreach($link['title'] as $title) {
$title = $doc->createElement('Title', $title);
$link_element->appendChild($title);
diff --git a/plugins/OStatus/actions/webfinger.php b/plugins/OStatus/lib/xrdaction.php
index 34336a903..6881292ad 100644
--- a/plugins/OStatus/actions/webfinger.php
+++ b/plugins/OStatus/lib/xrdaction.php
@@ -24,51 +24,43 @@
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-class WebfingerAction extends Action
+class XrdAction extends Action
{
public $uri;
+
+ public $user;
- function prepare($args)
- {
- parent::prepare($args);
-
- $this->uri = $this->trimmed('uri');
-
- return true;
- }
-
+ public $xrd;
+
function handle()
{
- $acct = Webfinger::normalize($this->uri);
-
- $xrd = new XRD();
-
- list($nick, $domain) = explode('@', urldecode($acct));
- $nick = common_canonical_nickname($nick);
+ $nick = $this->user->nickname;
- $this->user = User::staticGet('nickname', $nick);
- if (!$this->user) {
- $this->clientError(_('No such user.'), 404);
- return false;
+ if (empty($this->xrd)) {
+ $xrd = new XRD();
+ } else {
+ $xrd = $this->xrd;
}
- $xrd->subject = $this->uri;
+ if (empty($xrd->subject)) {
+ $xrd->subject = Discovery::normalize($this->uri);
+ }
$xrd->alias[] = common_profile_url($nick);
- $xrd->links[] = array('rel' => Webfinger::PROFILEPAGE,
+ $xrd->links[] = array('rel' => Discovery::PROFILEPAGE,
'type' => 'text/html',
'href' => common_profile_url($nick));
- $xrd->links[] = array('rel' => Webfinger::UPDATESFROM,
+ $xrd->links[] = array('rel' => Discovery::UPDATESFROM,
'href' => common_local_url('ApiTimelineUser',
array('id' => $this->user->id,
'format' => 'atom')),
'type' => 'application/atom+xml');
// hCard
- $xrd->links[] = array('rel' => 'http://microformats.org/profile/hcard',
+ $xrd->links[] = array('rel' => Discovery::HCARD,
'type' => 'text/html',
- 'href' => common_profile_url($nick));
+ 'href' => common_local_url('hcard', array('nickname' => $nick)));
// XFN
$xrd->links[] = array('rel' => 'http://gmpg.org/xfn/11',
@@ -78,12 +70,16 @@ class WebfingerAction extends Action
$xrd->links[] = array('rel' => 'describedby',
'type' => 'application/rdf+xml',
'href' => common_local_url('foaf',
- array('nickname' => $nick)));
-
- $salmon_url = common_local_url('salmon',
+ array('nickname' => $nick)));
+
+ // Salmon
+ $salmon_url = common_local_url('usersalmon',
array('id' => $this->user->id));
- $xrd->links[] = array('rel' => 'salmon',
+ $xrd->links[] = array('rel' => Salmon::NS_REPLIES,
+ 'href' => $salmon_url);
+
+ $xrd->links[] = array('rel' => Salmon::NS_MENTIONS,
'href' => $salmon_url);
// Get this user's keypair
@@ -91,12 +87,12 @@ class WebfingerAction extends Action
if (!$magickey) {
// No keypair yet, let's generate one.
$magickey = new Magicsig();
- $magickey->generate();
+ $magickey->generate($this->user->id);
}
-
+
$xrd->links[] = array('rel' => Magicsig::PUBLICKEYREL,
- 'href' => 'data:application/magic-public-key;'. $magickey->keypair);
-
+ 'href' => 'data:application/magic-public-key;'. $magickey->toString(false));
+
// TODO - finalize where the redirect should go on the publisher
$url = common_local_url('ostatussub') . '?profile={uri}';
$xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe',
diff --git a/plugins/OStatus/locale/OStatus.po b/plugins/OStatus/locale/OStatus.po
index dedc018e3..7e33a0eed 100644
--- a/plugins/OStatus/locale/OStatus.po
+++ b/plugins/OStatus/locale/OStatus.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-07 20:38-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,89 +16,297 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: tests/gettext-speedtest.php:57 FeedSubPlugin.php:76
-msgid "Feeds"
+#: actions/groupsalmon.php:51
+msgid "Can't accept remote posts for a remote group."
+msgstr ""
+
+#: actions/groupsalmon.php:123
+msgid "Can't read profile to set up group membership."
msgstr ""
-#: FeedSubPlugin.php:77
-msgid "Feed subscription options"
+#: actions/groupsalmon.php:126 actions/groupsalmon.php:169
+msgid "Groups can't join groups."
msgstr ""
-#: feedmunger.php:215
+#: actions/groupsalmon.php:153
#, php-format
-msgid "New post: \"%1$s\" %2$s"
+msgid "Could not join remote user %1$s to group %2$s."
msgstr ""
-#: actions/feedsubsettings.php:41
-msgid "Feed subscriptions"
+#: actions/groupsalmon.php:166
+msgid "Can't read profile to cancel group membership."
msgstr ""
-#: actions/feedsubsettings.php:52
-msgid ""
-"You can subscribe to feeds from other sites; updates will appear in your "
-"personal timeline."
+#: actions/groupsalmon.php:182
+#, php-format
+msgid "Could not remove remote user %1$s from group %2$s."
+msgstr ""
+
+#: actions/ostatusinit.php:40
+msgid "You can use the local subscription!"
+msgstr ""
+
+#: actions/ostatusinit.php:61
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: actions/ostatusinit.php:79 actions/ostatussub.php:439
+msgid "Subscribe to user"
+msgstr ""
+
+#: actions/ostatusinit.php:97
+#, php-format
+msgid "Subscribe to %s"
msgstr ""
-#: actions/feedsubsettings.php:96
+#: actions/ostatusinit.php:102
+msgid "User nickname"
+msgstr ""
+
+#: actions/ostatusinit.php:103
+msgid "Nickname of the user you want to follow"
+msgstr ""
+
+#: actions/ostatusinit.php:106
+msgid "Profile Account"
+msgstr ""
+
+#: actions/ostatusinit.php:107
+msgid "Your account id (i.e. user@identi.ca)"
+msgstr ""
+
+#: actions/ostatusinit.php:110 actions/ostatussub.php:115
+#: OStatusPlugin.php:205
msgid "Subscribe"
msgstr ""
-#: actions/feedsubsettings.php:98
+#: actions/ostatusinit.php:128
+msgid "Must provide a remote profile."
+msgstr ""
+
+#: actions/ostatusinit.php:138
+msgid "Couldn't look up OStatus account profile."
+msgstr ""
+
+#: actions/ostatusinit.php:153
+msgid "Couldn't confirm remote profile address."
+msgstr ""
+
+#: actions/ostatusinit.php:171
+msgid "OStatus Connect"
+msgstr ""
+
+#: actions/ostatussub.php:68
+msgid "Address or profile URL"
+msgstr ""
+
+#: actions/ostatussub.php:70
+msgid "Enter the profile URL of a PubSubHubbub-enabled feed"
+msgstr ""
+
+#: actions/ostatussub.php:74
msgid "Continue"
msgstr ""
-#: actions/feedsubsettings.php:151
-msgid "Empty feed URL!"
+#: actions/ostatussub.php:112 OStatusPlugin.php:503
+msgid "Join"
+msgstr ""
+
+#: actions/ostatussub.php:113
+msgid "Join this group"
+msgstr ""
+
+#: actions/ostatussub.php:116
+msgid "Subscribe to this user"
+msgstr ""
+
+#: actions/ostatussub.php:137
+msgid "You are already subscribed to this user."
+msgstr ""
+
+#: actions/ostatussub.php:165
+msgid "You are already a member of this group."
msgstr ""
-#: actions/feedsubsettings.php:161
+#: actions/ostatussub.php:286
+msgid "Empty remote profile URL!"
+msgstr ""
+
+#: actions/ostatussub.php:297
+msgid "Invalid address format."
+msgstr ""
+
+#: actions/ostatussub.php:302
msgid "Invalid URL or could not reach server."
msgstr ""
-#: actions/feedsubsettings.php:164
+#: actions/ostatussub.php:304
msgid "Cannot read feed; server returned error."
msgstr ""
-#: actions/feedsubsettings.php:167
+#: actions/ostatussub.php:306
msgid "Cannot read feed; server returned an empty page."
msgstr ""
-#: actions/feedsubsettings.php:170
+#: actions/ostatussub.php:308
msgid "Bad HTML, could not find feed link."
msgstr ""
-#: actions/feedsubsettings.php:173
+#: actions/ostatussub.php:310
msgid "Could not find a feed linked from this URL."
msgstr ""
-#: actions/feedsubsettings.php:176
+#: actions/ostatussub.php:312
msgid "Not a recognized feed type."
msgstr ""
-#: actions/feedsubsettings.php:180
-msgid "Bad feed URL."
+#: actions/ostatussub.php:315
+#, php-format
+msgid "Bad feed URL: %s %s"
+msgstr ""
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatussub.php:336
+msgid "Already a member!"
msgstr ""
-#: actions/feedsubsettings.php:188
-msgid "Feed is not PuSH-enabled; cannot subscribe."
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatussub.php:346
+msgid "Remote group join failed!"
msgstr ""
-#: actions/feedsubsettings.php:208
-msgid "Feed subscription failed! Bad response from hub."
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatussub.php:350
+msgid "Remote group join aborted!"
msgstr ""
-#: actions/feedsubsettings.php:218
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:356
msgid "Already subscribed!"
msgstr ""
-#: actions/feedsubsettings.php:220
-msgid "Feed subscribed!"
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:361
+msgid "Remote subscription failed!"
msgstr ""
-#: actions/feedsubsettings.php:222
-msgid "Feed subscription failed!"
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:459
+msgid "Authorize subscription"
+msgstr ""
+
+#: actions/ostatussub.php:470
+msgid ""
+"You can subscribe to users from other supported sites. Paste their address "
+"or profile URI below:"
+msgstr ""
+
+#: classes/Ostatus_profile.php:789
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s"
msgstr ""
-#: actions/feedsubsettings.php:231
-msgid "Previewing feed:"
+#: classes/Ostatus_profile.php:797
+#, php-format
+msgid "Unable to fetch avatar from %s"
+msgstr ""
+
+#: lib/salmonaction.php:41
+msgid "This method requires a POST."
+msgstr ""
+
+#: lib/salmonaction.php:45
+msgid "Salmon requires application/magic-envelope+xml"
+msgstr ""
+
+#: lib/salmonaction.php:55
+msgid "Salmon signature verification failed."
+msgstr ""
+
+#: lib/salmonaction.php:67
+msgid "Salmon post must be an Atom entry."
+msgstr ""
+
+#: lib/salmonaction.php:115
+msgid "Unrecognized activity type."
+msgstr ""
+
+#: lib/salmonaction.php:123
+msgid "This target doesn't understand posts."
+msgstr ""
+
+#: lib/salmonaction.php:128
+msgid "This target doesn't understand follows."
+msgstr ""
+
+#: lib/salmonaction.php:133
+msgid "This target doesn't understand unfollows."
+msgstr ""
+
+#: lib/salmonaction.php:138
+msgid "This target doesn't understand favorites."
+msgstr ""
+
+#: lib/salmonaction.php:143
+msgid "This target doesn't understand unfavorites."
+msgstr ""
+
+#: lib/salmonaction.php:148
+msgid "This target doesn't understand share events."
+msgstr ""
+
+#: lib/salmonaction.php:153
+msgid "This target doesn't understand joins."
+msgstr ""
+
+#: lib/salmonaction.php:158
+msgid "This target doesn't understand leave events."
+msgstr ""
+
+#: OStatusPlugin.php:319
+#, php-format
+msgid "Sent from %s via OStatus"
+msgstr ""
+
+#: OStatusPlugin.php:371
+msgid "Could not set up remote subscription."
+msgstr ""
+
+#: OStatusPlugin.php:487
+msgid "Could not set up remote group membership."
+msgstr ""
+
+#: OStatusPlugin.php:504
+#, php-format
+msgid "%s has joined group %s."
+msgstr ""
+
+#: OStatusPlugin.php:512
+msgid "Failed joining remote group."
+msgstr ""
+
+#: OStatusPlugin.php:553
+msgid "Leave"
+msgstr ""
+
+#: OStatusPlugin.php:554
+#, php-format
+msgid "%s has left group %s."
+msgstr ""
+
+#: OStatusPlugin.php:685
+msgid "Subscribe to remote user"
+msgstr ""
+
+#: OStatusPlugin.php:726
+msgid "Profile update"
+msgstr ""
+
+#: OStatusPlugin.php:727
+#, php-format
+msgid "%s has updated their profile page."
+msgstr ""
+
+#: tests/gettext-speedtest.php:57
+msgid "Feeds"
msgstr ""
diff --git a/plugins/OStatus/scripts/updateostatus.php b/plugins/OStatus/scripts/updateostatus.php
new file mode 100644
index 000000000..d553a7d62
--- /dev/null
+++ b/plugins/OStatus/scripts/updateostatus.php
@@ -0,0 +1,127 @@
+#!/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:a';
+$longoptions = array('id=', 'nickname=', 'all');
+
+$helptext = <<<END_OF_UPDATEOSTATUS_HELP
+updateostatus.php [options]
+update the OMB subscriptions of a user to use OStatus if possible
+
+ -i --id ID of user to update
+ -n --nickname nickname of the user to update
+ -a --all update all
+
+END_OF_UPDATEOSTATUS_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+try {
+ $user = null;
+
+ if (have_option('i', 'id')) {
+ $id = get_option_value('i', 'id');
+ $user = User::staticGet('id', $id);
+ if (empty($user)) {
+ throw new Exception("Can't find user with id '$id'.");
+ }
+ updateProfileURL($user);
+ } else if (have_option('n', 'nickname')) {
+ $nickname = get_option_value('n', 'nickname');
+ $user = User::staticGet('nickname', $nickname);
+ if (empty($user)) {
+ throw new Exception("Can't find user with nickname '$nickname'");
+ }
+ updateProfileURL($user);
+ } else if (have_option('a', 'all')) {
+ $user = new User();
+ if ($user->find()) {
+ while ($user->fetch()) {
+ updateOStatus($user);
+ }
+ }
+ } else {
+ show_help();
+ exit(1);
+ }
+} catch (Exception $e) {
+ print $e->getMessage()."\n";
+ exit(1);
+}
+
+function updateOStatus($user)
+{
+ if (!have_option('q', 'quiet')) {
+ echo "{$user->nickname}...";
+ }
+
+ $up = $user->getProfile();
+
+ $sp = $user->getSubscriptions();
+
+ $rps = array();
+
+ while ($sp->fetch()) {
+ $remote = Remote_profile::staticGet('id', $sp->id);
+
+ if (!empty($remote)) {
+ $rps[] = clone($sp);
+ }
+ }
+
+ if (!have_option('q', 'quiet')) {
+ echo count($rps) . "\n";
+ }
+
+ foreach ($rps as $rp) {
+ try {
+ if (!have_option('q', 'quiet')) {
+ echo "Checking {$rp->nickname}...";
+ }
+
+ $op = Ostatus_profile::ensureProfile($rp->profileurl);
+
+ if (empty($op)) {
+ echo "can't convert.\n";
+ continue;
+ } else {
+ if (!have_option('q', 'quiet')) {
+ echo "Converting...";
+ }
+ Subscription::cancel($up, $rp);
+ Subscription::start($up, $op->localProfile());
+ if (!have_option('q', 'quiet')) {
+ echo "done.\n";
+ }
+ }
+
+ } catch (Exception $e) {
+ if (!have_option('q', 'quiet')) {
+ echo "fail.\n";
+ }
+ continue;
+ common_log(LOG_WARNING, "Couldn't convert OMB subscription (" . $up->nickname . ", " . $rp->nickname .
+ ") to OStatus: " . $e->getMessage());
+ continue;
+ }
+ }
+}
diff --git a/plugins/OStatus/theme/base/css/ostatus.css b/plugins/OStatus/theme/base/css/ostatus.css
index feeeb47d3..c2d724158 100644
--- a/plugins/OStatus/theme/base/css/ostatus.css
+++ b/plugins/OStatus/theme/base/css/ostatus.css
@@ -38,11 +38,37 @@ display:none;
min-width:96px;
}
-#subscriptions #entity_remote_subscribe {
+#entity_remote_subscribe {
padding:0;
float:right;
+position:relative;
}
-#subscriptions .entity_remote_subscribe {
-float:right;
+.section .entity_actions {
+margin-bottom:0;
+margin-right:7px;
+}
+
+#entity_remote_subscribe .dialogbox {
+width:405px;
+}
+
+.aside #entity_subscriptions .more,
+.aside #entity_groups .more {
+float:left;
+}
+
+.section #entity_remote_subscribe {
+border:0;
+}
+
+.section .entity_remote_subscribe {
+color:#002FA7;
+box-shadow:none;
+-moz-box-shadow:none;
+-webkit-box-shadow:none;
+background-color:transparent;
+background-position:0 -1183px;
+padding:0 0 0 23px;
+border:0;
}
diff --git a/plugins/OpenID/User_openid.php b/plugins/OpenID/User_openid.php
index 801b49ecc..5ef05b4c7 100644
--- a/plugins/OpenID/User_openid.php
+++ b/plugins/OpenID/User_openid.php
@@ -39,9 +39,21 @@ class User_openid extends Memcached_DataObject
);
}
+ /**
+ * List primary and unique keys in this table.
+ * Unique keys used for lookup *MUST* be listed to ensure proper caching.
+ */
function keys()
{
- return array('canonical' => 'K', 'display' => 'U');
+ return array('canonical' => 'K', 'display' => 'U', 'user_id' => 'U');
+ }
+
+ /**
+ * No sequence keys in this table.
+ */
+ function sequenceKey()
+ {
+ return array(false, false, false);
}
Static function hasOpenID($user_id)
diff --git a/plugins/OpenID/locale/OpenID.po b/plugins/OpenID/locale/OpenID.po
index 34738bc75..7ed879835 100644
--- a/plugins/OpenID/locale/OpenID.po
+++ b/plugins/OpenID/locale/OpenID.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-07 20:38-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,73 +16,152 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: openidlogin.php:30 finishopenidlogin.php:34
+#: finishaddopenid.php:67
+msgid "Not logged in."
+msgstr ""
+
+#: finishaddopenid.php:88 finishopenidlogin.php:149
+msgid "OpenID authentication cancelled."
+msgstr ""
+
+#: finishaddopenid.php:92 finishopenidlogin.php:153
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr ""
+
+#: finishaddopenid.php:112
+msgid "You already have this OpenID!"
+msgstr ""
+
+#: finishaddopenid.php:114
+msgid "Someone else already has this OpenID."
+msgstr ""
+
+#: finishaddopenid.php:126
+msgid "Error connecting user."
+msgstr ""
+
+#: finishaddopenid.php:131
+msgid "Error updating profile"
+msgstr ""
+
+#: finishaddopenid.php:170 openidlogin.php:95
+msgid "OpenID Login"
+msgstr ""
+
+#: finishopenidlogin.php:34 openidlogin.php:30
msgid "Already logged in."
msgstr ""
-#: openidlogin.php:37 openidsettings.php:194 finishopenidlogin.php:38
+#: finishopenidlogin.php:38 openidlogin.php:37 openidsettings.php:194
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: openidlogin.php:66
+#: finishopenidlogin.php:43
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+
+#: finishopenidlogin.php:52 openidsettings.php:208
+msgid "Something weird happened."
+msgstr ""
+
+#: finishopenidlogin.php:66
#, php-format
msgid ""
-"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
-"before changing your settings."
+"This is the first time you've logged into %s so we must connect your OpenID "
+"to a local account. You can either create a new account, or connect with "
+"your existing account, if you have one."
msgstr ""
-#: openidlogin.php:70
-#, php-format
-msgid "Login with an [OpenID](%%doc.openid%%) account."
+#: finishopenidlogin.php:72
+msgid "OpenID Account Setup"
msgstr ""
-#: openidlogin.php:95 finishaddopenid.php:170
-msgid "OpenID Login"
+#: finishopenidlogin.php:97
+msgid "Create new account"
msgstr ""
-#: openidlogin.php:112
-msgid "OpenID login"
+#: finishopenidlogin.php:99
+msgid "Create a new user with this nickname."
msgstr ""
-#: openidlogin.php:117 openidsettings.php:107
-msgid "OpenID URL"
+#: finishopenidlogin.php:102
+msgid "New nickname"
msgstr ""
-#: openidlogin.php:119
-msgid "Your OpenID URL"
+#: finishopenidlogin.php:104
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: openidlogin.php:122
-msgid "Remember me"
+#: finishopenidlogin.php:114
+msgid "My text and files are available under "
msgstr ""
-#: openidlogin.php:123
-msgid "Automatically login in the future; not for shared computers!"
+#: finishopenidlogin.php:117
+msgid ""
+" except this private data: password, email address, IM address, phone number."
msgstr ""
-#: openidlogin.php:127
-msgid "Login"
+#: finishopenidlogin.php:121
+msgid "Create"
msgstr ""
-#: openidserver.php:106
-#, php-format
-msgid "You are not authorized to use the identity %s"
+#: finishopenidlogin.php:126
+msgid "Connect existing account"
msgstr ""
-#: openidserver.php:126
-msgid "Just an OpenID provider. Nothing to see here, move along..."
+#: finishopenidlogin.php:128
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
msgstr ""
-#: OpenIDPlugin.php:123 OpenIDPlugin.php:135
-msgid "OpenID"
+#: finishopenidlogin.php:131
+msgid "Existing nickname"
msgstr ""
-#: OpenIDPlugin.php:124
-msgid "Login or register with OpenID"
+#: finishopenidlogin.php:134
+msgid "Password"
msgstr ""
-#: OpenIDPlugin.php:136
-msgid "Add or remove OpenIDs"
+#: finishopenidlogin.php:137
+msgid "Connect"
+msgstr ""
+
+#: finishopenidlogin.php:215 finishopenidlogin.php:224
+msgid "Registration not allowed."
+msgstr ""
+
+#: finishopenidlogin.php:231
+msgid "Not a valid invitation code."
+msgstr ""
+
+#: finishopenidlogin.php:241
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+
+#: finishopenidlogin.php:246
+msgid "Nickname not allowed."
+msgstr ""
+
+#: finishopenidlogin.php:251
+msgid "Nickname already in use. Try another one."
+msgstr ""
+
+#: finishopenidlogin.php:258 finishopenidlogin.php:338
+msgid "Stored OpenID not found."
+msgstr ""
+
+#: finishopenidlogin.php:267
+msgid "Creating new account for OpenID that already has a user."
+msgstr ""
+
+#: finishopenidlogin.php:327
+msgid "Invalid username or password."
+msgstr ""
+
+#: finishopenidlogin.php:345
+msgid "Error connecting user to OpenID."
msgstr ""
#: openid.php:141
@@ -126,57 +205,65 @@ msgstr ""
msgid "OpenID Auto-Submit"
msgstr ""
-#: openidtrust.php:51
-msgid "OpenID Identity Verification"
-msgstr ""
-
-#: openidtrust.php:69
+#: openidlogin.php:66
+#, php-format
msgid ""
-"This page should only be reached during OpenID processing, not directly."
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
msgstr ""
-#: openidtrust.php:118
+#: openidlogin.php:70
#, php-format
-msgid ""
-"%s has asked to verify your identity. Click Continue to verify your "
-"identity and login without creating a new password."
+msgid "Login with an [OpenID](%%doc.openid%%) account."
msgstr ""
-#: openidtrust.php:136
-msgid "Continue"
+#: openidlogin.php:112
+msgid "OpenID login"
msgstr ""
-#: openidtrust.php:137
-msgid "Cancel"
+#: openidlogin.php:117 openidsettings.php:107
+msgid "OpenID URL"
msgstr ""
-#: finishaddopenid.php:67
-msgid "Not logged in."
+#: openidlogin.php:119
+msgid "Your OpenID URL"
msgstr ""
-#: finishaddopenid.php:88 finishopenidlogin.php:149
-msgid "OpenID authentication cancelled."
+#: openidlogin.php:122
+msgid "Remember me"
msgstr ""
-#: finishaddopenid.php:92 finishopenidlogin.php:153
-#, php-format
-msgid "OpenID authentication failed: %s"
+#: openidlogin.php:123
+msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-#: finishaddopenid.php:112
-msgid "You already have this OpenID!"
+#: openidlogin.php:127
+msgid "Login"
msgstr ""
-#: finishaddopenid.php:114
-msgid "Someone else already has this OpenID."
+#: OpenIDPlugin.php:123 OpenIDPlugin.php:135
+msgid "OpenID"
msgstr ""
-#: finishaddopenid.php:126
-msgid "Error connecting user."
+#: OpenIDPlugin.php:124
+msgid "Login or register with OpenID"
msgstr ""
-#: finishaddopenid.php:131
-msgid "Error updating profile"
+#: OpenIDPlugin.php:136
+msgid "Add or remove OpenIDs"
+msgstr ""
+
+#: OpenIDPlugin.php:324
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr ""
+
+#: openidserver.php:106
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr ""
+
+#: openidserver.php:126
+msgid "Just an OpenID provider. Nothing to see here, move along..."
msgstr ""
#: openidsettings.php:59
@@ -224,10 +311,6 @@ msgstr ""
msgid "Remove"
msgstr ""
-#: openidsettings.php:208 finishopenidlogin.php:52
-msgid "Something weird happened."
-msgstr ""
-
#: openidsettings.php:228
msgid "No such OpenID."
msgstr ""
@@ -240,105 +323,26 @@ msgstr ""
msgid "OpenID removed."
msgstr ""
-#: finishopenidlogin.php:43
-msgid "You can't register if you don't agree to the license."
-msgstr ""
-
-#: finishopenidlogin.php:66
-#, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your OpenID "
-"to a local account. You can either create a new account, or connect with "
-"your existing account, if you have one."
-msgstr ""
-
-#: finishopenidlogin.php:72
-msgid "OpenID Account Setup"
-msgstr ""
-
-#: finishopenidlogin.php:97
-msgid "Create new account"
-msgstr ""
-
-#: finishopenidlogin.php:99
-msgid "Create a new user with this nickname."
-msgstr ""
-
-#: finishopenidlogin.php:102
-msgid "New nickname"
-msgstr ""
-
-#: finishopenidlogin.php:104
-msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr ""
-
-#: finishopenidlogin.php:114
-msgid "My text and files are available under "
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
msgstr ""
-#: finishopenidlogin.php:117
+#: openidtrust.php:69
msgid ""
-" except this private data: password, email address, IM address, phone number."
-msgstr ""
-
-#: finishopenidlogin.php:121
-msgid "Create"
-msgstr ""
-
-#: finishopenidlogin.php:126
-msgid "Connect existing account"
+"This page should only be reached during OpenID processing, not directly."
msgstr ""
-#: finishopenidlogin.php:128
+#: openidtrust.php:118
+#, php-format
msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your OpenID."
-msgstr ""
-
-#: finishopenidlogin.php:131
-msgid "Existing nickname"
-msgstr ""
-
-#: finishopenidlogin.php:134
-msgid "Password"
-msgstr ""
-
-#: finishopenidlogin.php:137
-msgid "Connect"
-msgstr ""
-
-#: finishopenidlogin.php:215 finishopenidlogin.php:224
-msgid "Registration not allowed."
-msgstr ""
-
-#: finishopenidlogin.php:231
-msgid "Not a valid invitation code."
-msgstr ""
-
-#: finishopenidlogin.php:241
-msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr ""
-
-#: finishopenidlogin.php:246
-msgid "Nickname not allowed."
-msgstr ""
-
-#: finishopenidlogin.php:251
-msgid "Nickname already in use. Try another one."
-msgstr ""
-
-#: finishopenidlogin.php:258 finishopenidlogin.php:338
-msgid "Stored OpenID not found."
-msgstr ""
-
-#: finishopenidlogin.php:267
-msgid "Creating new account for OpenID that already has a user."
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
msgstr ""
-#: finishopenidlogin.php:327
-msgid "Invalid username or password."
+#: openidtrust.php:136
+msgid "Continue"
msgstr ""
-#: finishopenidlogin.php:345
-msgid "Error connecting user to OpenID."
+#: openidtrust.php:137
+msgid "Cancel"
msgstr ""
diff --git a/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.po
index bd39124ef..8f8434a85 100644
--- a/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.po
+++ b/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-22 15:03-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,16 +16,16 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: PoweredByStatusNetPlugin.php:49
+#: PoweredByStatusNetPlugin.php:50
#, php-format
msgid "powered by %s"
msgstr ""
-#: PoweredByStatusNetPlugin.php:51
+#: PoweredByStatusNetPlugin.php:52
msgid "StatusNet"
msgstr ""
-#: PoweredByStatusNetPlugin.php:64
+#: PoweredByStatusNetPlugin.php:65
msgid ""
"Outputs powered by <a href=\"http://status.net/\">StatusNet</a> after site "
"name."
diff --git a/plugins/PubSubHubBub/PubSubHubBubPlugin.php b/plugins/PubSubHubBub/PubSubHubBubPlugin.php
deleted file mode 100644
index a880dc866..000000000
--- a/plugins/PubSubHubBub/PubSubHubBubPlugin.php
+++ /dev/null
@@ -1,285 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Plugin to push RSS/Atom updates to a PubSubHubBub hub
- *
- * PHP version 5
- *
- * LICENCE: This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- * @category Plugin
- * @package StatusNet
- * @author Craig Andrews <candrews@integralblue.com>
- * @copyright 2009 Craig Andrews http://candrews.integralblue.com
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET')) {
- exit(1);
-}
-
-define('DEFAULT_HUB', 'http://pubsubhubbub.appspot.com');
-
-require_once INSTALLDIR.'/plugins/PubSubHubBub/publisher.php';
-
-/**
- * Plugin to provide publisher side of PubSubHubBub (PuSH)
- * relationship.
- *
- * PuSH is a real-time or near-real-time protocol for Atom
- * and RSS feeds. More information here:
- *
- * http://code.google.com/p/pubsubhubbub/
- *
- * To enable, add the following line to your config.php:
- *
- * addPlugin('PubSubHubBub');
- *
- * This will use the Google default hub. If you'd like to use
- * another, try:
- *
- * addPlugin('PubSubHubBub',
- * array('hub' => 'http://yourhub.example.net/'));
- *
- * @category Plugin
- * @package StatusNet
- * @author Craig Andrews <candrews@integralblue.com>
- * @copyright 2009 Craig Andrews http://candrews.integralblue.com
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
- * @link http://status.net/
- */
-
-class PubSubHubBubPlugin extends Plugin
-{
- /**
- * URL of the hub to advertise and publish to.
- */
-
- public $hub = DEFAULT_HUB;
-
- /**
- * Default constructor.
- */
-
- function __construct()
- {
- parent::__construct();
- }
-
- /**
- * Check if plugin should be active; may be mass-enabled.
- * @return boolean
- */
-
- function enabled()
- {
- if (common_config('site', 'private')) {
- // PuSH relies on public feeds
- return false;
- }
- // @fixme check for being on a private network?
- return true;
- }
-
- /**
- * Hooks the StartApiAtom event
- *
- * Adds the necessary bits to advertise PubSubHubBub
- * for the Atom feed.
- *
- * @param Action $action The API action being shown.
- *
- * @return boolean hook value
- */
-
- function onStartApiAtom($action)
- {
- if ($this->enabled()) {
- $action->element('link', array('rel' => 'hub', 'href' => $this->hub), null);
- }
- return true;
- }
-
- /**
- * Hooks the StartApiRss event
- *
- * Adds the necessary bits to advertise PubSubHubBub
- * for the RSS 2.0 feeds.
- *
- * @param Action $action The API action being shown.
- *
- * @return boolean hook value
- */
-
- function onStartApiRss($action)
- {
- if ($this->enabled()) {
- $action->element('atom:link', array('rel' => 'hub',
- 'href' => $this->hub),
- null);
- }
- return true;
- }
-
- /**
- * Hook for a queued notice.
- *
- * When a notice has been queued, will ping the
- * PuSH hub for each Atom and RSS feed in which
- * the notice appears.
- *
- * @param Notice $notice The notice that's been queued
- *
- * @return boolean hook value
- */
-
- function onHandleQueuedNotice($notice)
- {
- if (!$this->enabled()) {
- return false;
- }
- $publisher = new Publisher($this->hub);
-
- $feeds = array();
-
- //public timeline feeds
- $feeds[] = common_local_url('ApiTimelinePublic', array('format' => 'rss'));
- $feeds[] = common_local_url('ApiTimelinePublic', array('format' => 'atom'));
-
- //author's own feeds
- $user = User::staticGet('id', $notice->profile_id);
-
- $feeds[] = common_local_url('ApiTimelineUser',
- array('id' => $user->nickname,
- 'format' => 'rss'));
- $feeds[] = common_local_url('ApiTimelineUser',
- array('id' => $user->nickname,
- 'format' => 'atom'));
-
- //tag feeds
- $tag = new Notice_tag();
-
- $tag->notice_id = $notice->id;
- if ($tag->find()) {
- while ($tag->fetch()) {
- $feeds[] = common_local_url('ApiTimelineTag',
- array('tag' => $tag->tag,
- 'format' => 'rss'));
- $feeds[] = common_local_url('ApiTimelineTag',
- array('tag' => $tag->tag,
- 'format' => 'atom'));
- }
- }
-
- //group feeds
- $group_inbox = new Group_inbox();
-
- $group_inbox->notice_id = $notice->id;
- if ($group_inbox->find()) {
- while ($group_inbox->fetch()) {
- $group = User_group::staticGet('id', $group_inbox->group_id);
-
- $feeds[] = common_local_url('ApiTimelineGroup',
- array('id' => $group->nickname,
- 'format' => 'rss'));
- $feeds[] = common_local_url('ApiTimelineGroup',
- array('id' => $group->nickname,
- 'format' => 'atom'));
- }
- }
-
- //feed of each user that subscribes to the notice's author
-
- $ni = $notice->whoGets();
-
- foreach (array_keys($ni) as $user_id) {
- $user = User::staticGet('id', $user_id);
- if (empty($user)) {
- continue;
- }
- $feeds[] = common_local_url('ApiTimelineFriends',
- array('id' => $user->nickname,
- 'format' => 'rss'));
- $feeds[] = common_local_url('ApiTimelineFriends',
- array('id' => $user->nickname,
- 'format' => 'atom'));
- }
-
- $replies = $notice->getReplies();
-
- //feed of user replied to
- foreach ($replies as $recipient) {
- $user = User::staticGet('id', $recipient);
- if (!empty($user)) {
- $feeds[] = common_local_url('ApiTimelineMentions',
- array('id' => $user->nickname,
- 'format' => 'rss'));
- $feeds[] = common_local_url('ApiTimelineMentions',
- array('id' => $user->nickname,
- 'format' => 'atom'));
- }
- }
- $feeds = array_unique($feeds);
-
- ob_start();
- $ok = $publisher->publish_update($feeds);
- $push_last_response = ob_get_clean();
-
- if (!$ok) {
- common_log(LOG_WARNING,
- 'Failure publishing ' . count($feeds) . ' feeds to hub at '.
- $this->hub.': '.$push_last_response);
- } else {
- common_log(LOG_INFO,
- 'Published ' . count($feeds) . ' feeds to hub at '.
- $this->hub.': '.$push_last_response);
- }
-
- return true;
- }
-
- /**
- * Provide version information
- *
- * Adds this plugin's version data to the global
- * version array, for e.g. displaying on the version page.
- *
- * @param array &$versions array of array of versions
- *
- * @return boolean hook value
- */
-
- function onPluginVersion(&$versions)
- {
- $about = _m('The PubSubHubBub plugin pushes RSS/Atom updates '.
- 'to a <a href = "'.
- 'http://pubsubhubbub.googlecode.com/'.
- '">PubSubHubBub</a> hub.');
- if (!$this->enabled()) {
- $about = '<span class="disabled" style="color:gray">' . $about . '</span> ' .
- _m('(inactive on private site)');
- }
- $versions[] = array('name' => 'PubSubHubBub',
- 'version' => STATUSNET_VERSION,
- 'author' => 'Craig Andrews',
- 'homepage' =>
- 'http://status.net/wiki/Plugin:PubSubHubBub',
- 'rawdescription' =>
- $about);
-
- return true;
- }
-}
diff --git a/plugins/PubSubHubBub/publisher.php b/plugins/PubSubHubBub/publisher.php
deleted file mode 100644
index f176a9b8a..000000000
--- a/plugins/PubSubHubBub/publisher.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-// a PHP client library for pubsubhubbub
-// as defined at http://code.google.com/p/pubsubhubbub/
-// written by Josh Fraser | joshfraser.com | josh@eventvue.com
-// Released under Apache License 2.0
-
-class Publisher {
-
- protected $hub_url;
- protected $last_response;
-
- // create a new Publisher
- public function __construct($hub_url) {
-
- if (!isset($hub_url))
- throw new Exception('Please specify a hub url');
-
- if (!preg_match("|^https?://|i",$hub_url))
- throw new Exception('The specified hub url does not appear to be valid: '.$hub_url);
-
- $this->hub_url = $hub_url;
- }
-
- // accepts either a single url or an array of urls
- public function publish_update($topic_urls, $http_function = false) {
- if (!isset($topic_urls))
- throw new Exception('Please specify a topic url');
-
- // check that we're working with an array
- if (!is_array($topic_urls)) {
- $topic_urls = array($topic_urls);
- }
-
- // set the mode to publish
- $post_string = "hub.mode=publish";
- // loop through each topic url
- foreach ($topic_urls as $topic_url) {
-
- // lightweight check that we're actually working w/ a valid url
- if (!preg_match("|^https?://|i",$topic_url))
- throw new Exception('The specified topic url does not appear to be valid: '.$topic_url);
-
- // append the topic url parameters
- $post_string .= "&hub.url=".urlencode($topic_url);
- }
-
- // make the http post request and return true/false
- // easy to over-write to use your own http function
- if ($http_function)
- return $http_function($this->hub_url,$post_string);
- else
- return $this->http_post($this->hub_url,$post_string);
- }
-
- // returns any error message from the latest request
- public function last_response() {
- return $this->last_response;
- }
-
- // default http function that uses curl to post to the hub endpoint
- private function http_post($url, $post_string) {
-
- // add any additional curl options here
- $options = array(CURLOPT_URL => $url,
- CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => $post_string,
- CURLOPT_USERAGENT => "PubSubHubbub-Publisher-PHP/1.0");
-
- $ch = curl_init();
- curl_setopt_array($ch, $options);
-
- $response = curl_exec($ch);
- $this->last_response = $response;
- $info = curl_getinfo($ch);
-
- curl_close($ch);
-
- // all good
- if ($info['http_code'] == 204)
- return true;
- return false;
- }
-}
-
-?> \ No newline at end of file
diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php
index e8c44a743..b559d80c6 100644
--- a/plugins/Realtime/RealtimePlugin.php
+++ b/plugins/Realtime/RealtimePlugin.php
@@ -244,8 +244,6 @@ class RealtimePlugin extends Plugin
// of refactoring from within a plugin, so I'm just abusing
// the ApiAction method. Don't do this unless you're me!
- require_once(INSTALLDIR.'/lib/api.php');
-
$act = new ApiAction('/dev/null');
$arr = $act->twitterStatusArray($notice, true);
diff --git a/plugins/Realtime/icon_external.gif b/plugins/Realtime/icon_external.gif
deleted file mode 100644
index c4118d53b..000000000
--- a/plugins/Realtime/icon_external.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/Realtime/icon_pause.gif b/plugins/Realtime/icon_pause.gif
deleted file mode 100644
index ced0b6440..000000000
--- a/plugins/Realtime/icon_pause.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/Realtime/icon_play.gif b/plugins/Realtime/icon_play.gif
deleted file mode 100644
index 794ec85b6..000000000
--- a/plugins/Realtime/icon_play.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/Realtime/realtimeupdate.css b/plugins/Realtime/realtimeupdate.css
index 31e7c2ae6..f43c97de5 100644
--- a/plugins/Realtime/realtimeupdate.css
+++ b/plugins/Realtime/realtimeupdate.css
@@ -64,18 +64,9 @@ float: left;
}
#realtime_play {
-background: url(icon_play.gif) no-repeat 47% 47%;
margin-left: 4px;
}
-#realtime_pause {
-background: url(icon_pause.gif) no-repeat 47% 47%;
-}
-
-#realtime_popup {
-background: url(icon_external.gif) no-repeat 0 30%;
-}
-
#queued_counter {
float:left;
line-height:1.2;
diff --git a/plugins/RegisterThrottle/RegisterThrottlePlugin.php b/plugins/RegisterThrottle/RegisterThrottlePlugin.php
new file mode 100644
index 000000000..05709b780
--- /dev/null
+++ b/plugins/RegisterThrottle/RegisterThrottlePlugin.php
@@ -0,0 +1,249 @@
+<?php
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * Throttle registration by IP address
+ *
+ * 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 Spam
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Throttle registration by IP address
+ *
+ * We a) record IP address of registrants and b) throttle registrations.
+ *
+ * @category Spam
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
+ */
+
+class RegisterThrottlePlugin extends Plugin
+{
+ /**
+ * Array of time spans in seconds to limits.
+ *
+ * Default is 3 registrations per hour, 5 per day, 10 per week.
+ */
+
+ public $regLimits = array(604800 => 10, // per week
+ 86400 => 5, // per day
+ 3600 => 3); // per hour
+
+ /**
+ * Database schema setup
+ *
+ * We store user registrations in a table registration_ip.
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ */
+
+ function onCheckSchema()
+ {
+ $schema = Schema::get();
+
+ // For storing user-submitted flags on profiles
+
+ $schema->ensureTable('registration_ip',
+ array(new ColumnDef('user_id', 'integer', null,
+ false, 'PRI'),
+ new ColumnDef('ipaddress', 'varchar', 15, false, 'MUL'),
+ new ColumnDef('created', 'timestamp', null, false, 'MUL')));
+
+ return true;
+ }
+
+ /**
+ * Load related modules when needed
+ *
+ * @param string $cls Name of the class to be loaded
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ */
+
+ function onAutoload($cls)
+ {
+ $dir = dirname(__FILE__);
+
+ switch ($cls)
+ {
+ case 'Registration_ip':
+ include_once $dir . '/'.$cls.'.php';
+ return false;
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * Called when someone tries to register.
+ *
+ * We check the IP here to determine if it goes over any of our
+ * configured limits.
+ *
+ * @param Action $action Action that is being executed
+ *
+ * @return boolean hook value
+ *
+ */
+
+ function onStartRegistrationTry($action)
+ {
+ $ipaddress = $this->_getIpAddress();
+
+ if (empty($ipaddress)) {
+ throw new ServerException(_m('Cannot find IP address.'));
+ }
+
+ foreach ($this->regLimits as $seconds => $limit) {
+
+ $this->debug("Checking $seconds ($limit)");
+
+ $reg = $this->_getNthReg($ipaddress, $limit);
+
+ if (!empty($reg)) {
+ $this->debug("Got a {$limit}th registration.");
+ $regtime = strtotime($reg->created);
+ $now = time();
+ $this->debug("Comparing {$regtime} to {$now}");
+ if ($now - $regtime < $seconds) {
+ throw new Exception(_("Too many registrations. Take a break and try again later."));
+ }
+ }
+ }
+
+ return true;
+ }
+
+ /**
+ * Called after someone registers.
+ *
+ * We record the successful registration and IP address.
+ *
+ * @param Action $action Action that is being executed
+ *
+ * @return boolean hook value
+ *
+ */
+
+ function onEndRegistrationTry($action)
+ {
+ $ipaddress = $this->_getIpAddress();
+
+ if (empty($ipaddress)) {
+ throw new ServerException(_m('Cannot find IP address.'));
+ }
+
+ $user = common_current_user();
+
+ if (empty($user)) {
+ throw new ServerException(_m('Cannot find user after successful registration.'));
+ }
+
+ $reg = new Registration_ip();
+
+ $reg->user_id = $user->id;
+ $reg->ipaddress = $ipaddress;
+
+ $result = $reg->insert();
+
+ if (!$result) {
+ common_log_db_error($reg, 'INSERT', __FILE__);
+ // @todo throw an exception?
+ }
+
+ return true;
+ }
+
+ /**
+ * Check the version of the plugin.
+ *
+ * @param array &$versions Version array.
+ *
+ * @return boolean hook value
+ */
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'RegisterThrottle',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:RegisterThrottle',
+ 'description' =>
+ _m('Throttles excessive registration from a single IP.'));
+ return true;
+ }
+
+ /**
+ * Gets the current IP address.
+ *
+ * @return string IP address or null if not found.
+ */
+
+ private function _getIpAddress()
+ {
+ $keys = array('HTTP_X_FORWARDED_FOR',
+ 'CLIENT-IP',
+ 'REMOTE_ADDR');
+
+ foreach ($keys as $k) {
+ if (!empty($_SERVER[$k])) {
+ return $_SERVER[$k];
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Gets the Nth registration with the given IP address.
+ *
+ * @param string $ipaddress Address to key on
+ * @param integer $n Nth address
+ *
+ * @return Registration_ip nth registration or null if not found.
+ */
+
+ private function _getNthReg($ipaddress, $n)
+ {
+ $reg = new Registration_ip();
+
+ $reg->ipaddress = $ipaddress;
+
+ $reg->orderBy('created DESC');
+ $reg->limit($n - 1, 1);
+
+ if ($reg->find(true)) {
+ return $reg;
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/plugins/RegisterThrottle/Registration_ip.php b/plugins/RegisterThrottle/Registration_ip.php
new file mode 100644
index 000000000..7e61d089e
--- /dev/null
+++ b/plugins/RegisterThrottle/Registration_ip.php
@@ -0,0 +1,124 @@
+<?php
+/**
+ * Data class for storing IP addresses of new registrants.
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
+
+/**
+ * Data class for storing IP addresses of new registrants.
+ *
+ * @category Spam
+ * @package StatusNet
+ * @author Evan Prodromou <evan@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+
+class Registration_ip extends Memcached_DataObject
+{
+ public $__table = 'registration_ip'; // table name
+ public $user_id; // int(4) primary_key not_null
+ public $ipaddress; // varchar(15)
+ public $created; // timestamp
+
+ /**
+ * Get an instance by key
+ *
+ * @param string $k Key to use to lookup (usually 'user_id' for this class)
+ * @param mixed $v Value to lookup
+ *
+ * @return User_greeting_count object found, or null for no hits
+ *
+ */
+
+ function staticGet($k, $v=null)
+ {
+ return Memcached_DataObject::staticGet('Registration_ip', $k, $v);
+ }
+
+ /**
+ * return table definition for DB_DataObject
+ *
+ * @return array array of column definitions
+ */
+
+ function table()
+ {
+ return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ 'ipaddress' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
+ 'created' => DB_DATAOBJECT_MYSQLTIMESTAMP + DB_DATAOBJECT_NOTNULL);
+ }
+
+ /**
+ * return key definitions for DB_DataObject
+ *
+ * DB_DataObject needs to know about keys that the table has; this function
+ * defines them.
+ *
+ * @return array key definitions
+ */
+
+ function keys()
+ {
+ return array('user_id' => 'K');
+ }
+
+ /**
+ * return key definitions for Memcached_DataObject
+ *
+ * Our caching system uses the same key definitions, but uses a different
+ * method to get them.
+ *
+ * @return array key definitions
+ */
+
+ function keyTypes()
+ {
+ return $this->keys();
+ }
+
+ /**
+ * Magic formula for non-autoincrementing integer primary keys
+ *
+ * If a table has a single integer column as its primary key, DB_DataObject
+ * assumes that the column is auto-incrementing and makes a sequence table
+ * to do this incrementation. Since we don't need this for our class, we
+ * overload this method and return the magic formula that DB_DataObject needs.
+ *
+ * @return array magic three-false array that stops auto-incrementing.
+ */
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+}
diff --git a/plugins/ReverseUsernameAuthentication/README b/plugins/ReverseUsernameAuthentication/README
index e9160ed9b..57b53219e 100644
--- a/plugins/ReverseUsernameAuthentication/README
+++ b/plugins/ReverseUsernameAuthentication/README
@@ -8,7 +8,10 @@ add "addPlugin('reverseUsernameAuthentication', array('setting'=>'value', 'setti
Settings
========
-provider_name*: a unique name for this authentication provider.
+provider_name*: This is a identifier designated to the connection.
+ It's how StatusNet will refer to the authentication source.
+ For the most part, any name can be used, so long as each authentication source has a different identifier.
+ In most cases there will be only one authentication source used.
password_changeable*: must be set to false. This plugin does not support changing passwords.
authoritative (false): Set to true if this plugin's responses are authoritative (meaning if this fails, do check any other plugins or the internal password database).
autoregistration (false): Set to true if users should be automatically created when they attempt to login.
diff --git a/plugins/Sample/locale/Sample.po b/plugins/Sample/locale/Sample.po
index e0d2aa853..a52c4ec01 100644
--- a/plugins/Sample/locale/Sample.po
+++ b/plugins/Sample/locale/Sample.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-02-24 16:33-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\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"
diff --git a/plugins/SphinxSearch/sphinxsearch.php b/plugins/SphinxSearch/sphinxsearch.php
index 71f330828..654b9c9d5 100644
--- a/plugins/SphinxSearch/sphinxsearch.php
+++ b/plugins/SphinxSearch/sphinxsearch.php
@@ -75,7 +75,7 @@ class SphinxSearch extends SearchEngine
{
if ('chron' === $mode) {
$this->sphinx->SetSortMode(SPH_SORT_ATTR_DESC, 'created_ts');
- return $this->target->orderBy('created desc');
+ return $this->target->orderBy('id desc');
}
}
diff --git a/plugins/TabFocus/TabFocusPlugin.php b/plugins/TabFocus/TabFocusPlugin.php
new file mode 100644
index 000000000..bf89c478c
--- /dev/null
+++ b/plugins/TabFocus/TabFocusPlugin.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to enable Twitter-like "tab-space" pattern for a user to submit a notice
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @author Paul Irish <paul.irish@isobar.net>
+ * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+class TabFocusPlugin extends Plugin
+{
+ function __construct()
+ {
+ parent::__construct();
+ }
+
+ function onEndShowScripts($action)
+ {
+ $action->script('plugins/TabFocus/tabfocus.js');
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'TabFocus',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Craig Andrews and Paul Irish',
+ 'homepage' => 'http://status.net/wiki/Plugin:TabFocus',
+ 'rawdescription' =>
+ _m('TabFocus changes the notice form behavior so that, while in the text area, pressing the tab key focuses the "Send" button, matching the behavor of Twitter.'));
+ return true;
+ }
+}
diff --git a/plugins/TabFocus/tabfocus.js b/plugins/TabFocus/tabfocus.js
new file mode 100644
index 000000000..e2c1c6521
--- /dev/null
+++ b/plugins/TabFocus/tabfocus.js
@@ -0,0 +1,7 @@
+jQuery(function($){
+ $('#notice_data-text').bind('keydown',function(e){
+ if (e.which==9) {
+ setTimeout(function(){ $('#notice_action-submit').focus(); },15);
+ }
+ });
+});
diff --git a/plugins/TwitterBridge/README b/plugins/TwitterBridge/README
index d3bcda598..d0d34b7ef 100644
--- a/plugins/TwitterBridge/README
+++ b/plugins/TwitterBridge/README
@@ -1,47 +1,104 @@
+Twitter Bridge Plugin
+=====================
+
This Twitter "bridge" plugin allows you to integrate your StatusNet
instance with Twitter. Installing it will allow your users to:
- - automatically post notices to thier Twitter accounts
+ - automatically post notices to their Twitter accounts
- automatically subscribe to other Twitter users who are also using
your StatusNet install, if possible (requires running a daemon)
- import their Twitter friends' tweets (requires running a daemon)
+ - allow users to authenticate using Twitter ('Sign in with Twitter')
Installation
------------
-To enable the plugin, add the following to your config.php:
-
- addPlugin("TwitterBridge");
-
-OAuth is used to to access protected resources on Twitter (as opposed to
-HTTP Basic Auth)*. To use Twitter bridging you will need to register
-your instance of StatusNet as an application on Twitter
-(http://twitter.com/apps), and update the following variables in your
-config.php with the consumer key and secret Twitter generates for you:
-
- $config['twitter']['consumer_key'] = 'YOURKEY';
- $config['twitter']['consumer_secret'] = 'YOURSECRET';
+OAuth 1.0a (http://oauth.net) is used to to access protected resources
+on Twitter (as opposed to HTTP Basic Auth)*. To use Twitter bridging
+you will need to register your instance of StatusNet as an application
+on Twitter (http://twitter.com/apps). During the application
+registration process your application will be assigned a "consumer" key
+and secret, which the plugin will use to make OAuth requests to Twitter.
+You can either pass the consumer key and secret in when you enable the
+plugin, or set it using the Twitter administration panel**.
When registering your application with Twitter set the type to "Browser"
and your Callback URL to:
http://example.org/mublog/twitter/authorization
-The default access type should be, "Read & Write".
+(Change "example.org" to your site domain and "mublog" to your site
+path.)
+
+The default access type should be "Read & Write".
+
+To enable the plugin, add the following to your config.php:
+
+ addPlugin(
+ 'TwitterBridge',
+ array(
+ 'consumer_key' => 'YOUR_CONSUMER_KEY',
+ 'consumer_secret' => 'YOUR_CONSUMER_SECRET'
+ )
+ );
+
+or just:
+
+ addPlugin('TwitterBridge');
+
+if you want to set the consumer key and secret from the Twitter bridge
+administration panel. (The Twitter bridge wont work at all
+unless you configure it with a consumer key and secret.)
* Note: The plugin will still push notices to Twitter for users who
- have previously setup the Twitter bridge using their Twitter name and
- password under an older versions of StatusNet, but all new Twitter
+ have previously set up the Twitter bridge using their Twitter name and
+ password under an older version of StatusNet, but all new Twitter
bridge connections will use OAuth.
-Deamons
+** For multi-site setups you can also set a global consumer key and
+ secret. The Twitter bridge will fall back on the global key pair if
+ it can't find a local pair, e.g.:
+
+ $config['twitter']['global_consumer_key'] = 'YOUR_CONSUMER_KEY'
+ $config['twitter']['global_consumer_secret'] = 'YOUR_CONSUMER_SECRET'
+
+Administration panel
+--------------------
+
+As of StatusNet 0.9.0 there is a new administration panel that allows
+you to configure Twitter bridge settings within StatusNet itself,
+instead of having to specify them manually in your config.php. To enable
+the administration panel, you will need to add it to the list of active
+administration panels. You can do this via your config.php. E.g.:
+
+ $config['admin']['panels'][] = 'twitter';
+
+And to access it, you'll need to use a user with the "administrator"
+role (see: scripts/userrole.php).
+
+Sign in with Twitter
+--------------------
+
+With 0.9.0, StatusNet optionally allows users to register and
+authenticate using their Twitter credentials via the "Sign in with
+Twitter" pattern described here:
+
+ http://apiwiki.twitter.com/Sign-in-with-Twitter
+
+The option is _on_ by default when you install the plugin, but it can
+disabled via the Twitter bridge administration panel, or by adding the
+following line to your config.php:
+
+ $config['twitter']['signin'] = false;
+
+Daemons
-------
-For friend syncing and importing notices running two additional daemon
-scripts is necessary (synctwitterfriends.php and
-twitterstatusfetcher.php).
+For friend syncing and importing Twitter tweets, running two
+additional daemon scripts is necessary: synctwitterfriends.php and
+twitterstatusfetcher.php.
-In the daemons subidrectory of the plugin are three scripts:
+In the daemons subdirectory of the plugin are three scripts:
* Twitter Friends Syncing (daemons/synctwitterfriends.php)
@@ -51,13 +108,13 @@ subscribe to "friends" (people they "follow") on Twitter who also have
accounts on your StatusNet system, and who have previously set up a link
for automatically posting notices to Twitter.
-The plugin will try to start this daemon when you run
-scripts/startdaemons.sh.
+The plugin will start this daemon when you run scripts/startdaemons.sh.
* Importing statuses from Twitter (daemons/twitterstatusfetcher.php)
-To allow your users to import their friends' Twitter statuses, you will
-need to enable the bidirectional Twitter bridge in your config.php:
+You can allow uses to enable importing of your friends' Twitter
+timelines either in the Twitter bridge administration panel or in your
+config.php using the following configuration line:
$config['twitterimport']['enabled'] = true;
@@ -66,8 +123,9 @@ other daemons when you run scripts/startdaemons.sh.
Additionally, you will want to set the integration source variable,
which will keep notices posted to Twitter via StatusNet from looping
-back. The integration source should be set to the name of your
-application, exactly as you specified it on the settings page for your
+back. You can do this in the Twitter bridge administration panel, or
+via config.php. The integration source should be set to the name of your
+application _exactly_ as you specified it on the settings page for your
StatusNet application on Twitter, e.g.:
$config['integration']['source'] = 'YourApp';
@@ -79,7 +137,9 @@ set up Twitter bridging.
It's not strictly necessary to run this queue handler, and sites that
haven't enabled queuing are still able to push notices to Twitter, but
-for larger sites and sites that wish to improve performance, this
-script allows notices to be sent "offline" via a separate process.
+for larger sites and sites that wish to improve performance the script
+allows notices to be sent "offline" via a separate process.
-The plugin will start this script when you run scripts/startdaemons.sh.
+StatusNet will automatically use the TwitterQueueHandler if you have
+enabled the queuing subsystem. See the "Queues and daemons" section of
+the main README file for more information about how to do that.
diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php
index c7f57ffc7..1a0a69682 100644
--- a/plugins/TwitterBridge/TwitterBridgePlugin.php
+++ b/plugins/TwitterBridge/TwitterBridgePlugin.php
@@ -23,7 +23,7 @@
* @author Julien C <chaumond@gmail.com>
* @copyright 2009-2010 Control Yourself, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://laconi.ca/
+ * @link http://status.net/
*/
if (!defined('STATUSNET')) {
@@ -32,8 +32,6 @@ if (!defined('STATUSNET')) {
require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
-define('TWITTERBRIDGEPLUGIN_VERSION', '0.9');
-
/**
* Plugin for sending and importing Twitter statuses
*
@@ -44,19 +42,65 @@ define('TWITTERBRIDGEPLUGIN_VERSION', '0.9');
* @author Zach Copley <zach@status.net>
* @author Julien C <chaumond@gmail.com>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://laconi.ca/
+ * @link http://status.net/
* @link http://twitter.com/
*/
class TwitterBridgePlugin extends Plugin
{
+
+ const VERSION = STATUSNET_VERSION;
+
/**
* Initializer for the plugin.
*/
- function __construct()
+ function initialize()
{
- parent::__construct();
+ // Allow the key and secret to be passed in
+ // Control panel will override
+
+ if (isset($this->consumer_key)) {
+ $key = common_config('twitter', 'consumer_key');
+ if (empty($key)) {
+ Config::save('twitter', 'consumer_key', $this->consumer_key);
+ }
+ }
+
+ if (isset($this->consumer_secret)) {
+ $secret = common_config('twitter', 'consumer_secret');
+ if (empty($secret)) {
+ Config::save(
+ 'twitter',
+ 'consumer_secret',
+ $this->consumer_secret
+ );
+ }
+ }
+ }
+
+ /**
+ * Check to see if there is a consumer key and secret defined
+ * for Twitter integration.
+ *
+ * @return boolean result
+ */
+
+ static function hasKeys()
+ {
+ $ckey = common_config('twitter', 'consumer_key');
+ $csecret = common_config('twitter', 'consumer_secret');
+
+ if (empty($ckey) && empty($csecret)) {
+ $ckey = common_config('twitter', 'global_consumer_key');
+ $csecret = common_config('twitter', 'global_consumer_secret');
+ }
+
+ if (!empty($ckey) && !empty($csecret)) {
+ return true;
+ }
+
+ return false;
}
/**
@@ -71,10 +115,25 @@ class TwitterBridgePlugin extends Plugin
function onRouterInitialized($m)
{
- $m->connect('twitter/authorization',
- array('action' => 'twitterauthorization'));
- $m->connect('settings/twitter', array('action' => 'twittersettings'));
- $m->connect('main/twitterlogin', array('action' => 'twitterlogin'));
+ $m->connect('admin/twitter', array('action' => 'twitteradminpanel'));
+
+ if (self::hasKeys()) {
+ $m->connect(
+ 'twitter/authorization',
+ array('action' => 'twitterauthorization')
+ );
+ $m->connect(
+ 'settings/twitter', array(
+ 'action' => 'twittersettings'
+ )
+ );
+ if (common_config('twitter', 'signin')) {
+ $m->connect(
+ 'main/twitterlogin',
+ array('action' => 'twitterlogin')
+ );
+ }
+ }
return true;
}
@@ -88,13 +147,16 @@ class TwitterBridgePlugin extends Plugin
*/
function onEndLoginGroupNav(&$action)
{
-
$action_name = $action->trimmed('action');
- $action->menuItem(common_local_url('twitterlogin'),
- _('Twitter'),
- _('Login or register using Twitter'),
- 'twitterlogin' === $action_name);
+ if (self::hasKeys() && common_config('twitter', 'signin')) {
+ $action->menuItem(
+ common_local_url('twitterlogin'),
+ _m('Twitter'),
+ _m('Login or register using Twitter'),
+ 'twitterlogin' === $action_name
+ );
+ }
return true;
}
@@ -108,13 +170,16 @@ class TwitterBridgePlugin extends Plugin
*/
function onEndConnectSettingsNav(&$action)
{
- $action_name = $action->trimmed('action');
-
- $action->menuItem(common_local_url('twittersettings'),
- _m('Twitter'),
- _m('Twitter integration options'),
- $action_name === 'twittersettings');
+ if (self::hasKeys()) {
+ $action_name = $action->trimmed('action');
+ $action->menuItem(
+ common_local_url('twittersettings'),
+ _m('Twitter'),
+ _m('Twitter integration options'),
+ $action_name === 'twittersettings'
+ );
+ }
return true;
}
@@ -132,6 +197,7 @@ class TwitterBridgePlugin extends Plugin
case 'TwittersettingsAction':
case 'TwitterauthorizationAction':
case 'TwitterloginAction':
+ case 'TwitteradminpanelAction':
include_once INSTALLDIR . '/plugins/TwitterBridge/' .
strtolower(mb_substr($cls, 0, -6)) . '.php';
return false;
@@ -155,12 +221,12 @@ class TwitterBridgePlugin extends Plugin
*/
function onStartEnqueueNotice($notice, &$transports)
{
- // Avoid a possible loop
-
- if ($notice->source != 'twitter') {
- array_push($transports, 'twitter');
+ if (self::hasKeys()) {
+ // Avoid a possible loop
+ if ($notice->source != 'twitter') {
+ array_push($transports, 'twitter');
+ }
}
-
return true;
}
@@ -173,12 +239,19 @@ class TwitterBridgePlugin extends Plugin
*/
function onGetValidDaemons($daemons)
{
- array_push($daemons, INSTALLDIR .
- '/plugins/TwitterBridge/daemons/synctwitterfriends.php');
-
- if (common_config('twitterimport', 'enabled')) {
- array_push($daemons, INSTALLDIR
- . '/plugins/TwitterBridge/daemons/twitterstatusfetcher.php');
+ if (self::hasKeys()) {
+ array_push(
+ $daemons,
+ INSTALLDIR
+ . '/plugins/TwitterBridge/daemons/synctwitterfriends.php'
+ );
+ if (common_config('twitterimport', 'enabled')) {
+ array_push(
+ $daemons,
+ INSTALLDIR
+ . '/plugins/TwitterBridge/daemons/twitterstatusfetcher.php'
+ );
+ }
}
return true;
@@ -193,21 +266,61 @@ class TwitterBridgePlugin extends Plugin
*/
function onEndInitializeQueueManager($manager)
{
- $manager->connect('twitter', 'TwitterQueueHandler');
+ if (self::hasKeys()) {
+ $manager->connect('twitter', 'TwitterQueueHandler');
+ }
return true;
}
+ /**
+ * Add a Twitter tab to the admin panel
+ *
+ * @param Widget $nav Admin panel nav
+ *
+ * @return boolean hook value
+ */
+
+ function onEndAdminPanelNav($nav)
+ {
+ if (AdminPanelAction::canAdmin('twitter')) {
+
+ $action_name = $nav->action->trimmed('action');
+
+ $nav->out->menuItem(
+ common_local_url('twitteradminpanel'),
+ _m('Twitter'),
+ _m('Twitter bridge configuration'),
+ $action_name == 'twitteradminpanel',
+ 'nav_twitter_admin_panel'
+ );
+ }
+
+ return true;
+ }
+
+ /**
+ * Plugin version data
+ *
+ * @param array &$versions array of version blocks
+ *
+ * @return boolean hook value
+ */
+
function onPluginVersion(&$versions)
{
- $versions[] = array('name' => 'TwitterBridge',
- 'version' => TWITTERBRIDGEPLUGIN_VERSION,
- 'author' => 'Zach Copley',
- 'homepage' => 'http://status.net/wiki/Plugin:TwitterBridge',
- 'rawdescription' =>
- _m('The Twitter "bridge" plugin allows you to integrate ' .
- 'your StatusNet instance with ' .
- '<a href="http://twitter.com/">Twitter</a>.'));
+ $versions[] = array(
+ 'name' => 'TwitterBridge',
+ 'version' => self::VERSION,
+ 'author' => 'Zach Copley, Julien C',
+ 'homepage' => 'http://status.net/wiki/Plugin:TwitterBridge',
+ 'rawdescription' => _m(
+ 'The Twitter "bridge" plugin allows you to integrate ' .
+ 'your StatusNet instance with ' .
+ '<a href="http://twitter.com/">Twitter</a>.'
+ )
+ );
return true;
}
}
+
diff --git a/plugins/TwitterBridge/daemons/synctwitterfriends.php b/plugins/TwitterBridge/daemons/synctwitterfriends.php
index 671e3c7af..df7da0943 100755
--- a/plugins/TwitterBridge/daemons/synctwitterfriends.php
+++ b/plugins/TwitterBridge/daemons/synctwitterfriends.php
@@ -221,7 +221,7 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
// Twitter friend
if (!save_twitter_user($friend_id, $friend_name)) {
- common_log(LOG_WARNING, $this-name() .
+ common_log(LOG_WARNING, $this->name() .
" - Couldn't save $screen_name's friend, $friend_name.");
continue;
}
diff --git a/plugins/TwitterBridge/locale/TwitterBridge.po b/plugins/TwitterBridge/locale/TwitterBridge.po
index 14c30f1c9..eff125579 100644
--- a/plugins/TwitterBridge/locale/TwitterBridge.po
+++ b/plugins/TwitterBridge/locale/TwitterBridge.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-07 20:38-0800\n"
+"POT-Creation-Date: 2010-03-01 14:58-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,23 +16,48 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: twitterauthorization.php:81
-msgid "Not logged in."
+#: twitter.php:320
+msgid "Your Twitter bridge has been disabled."
msgstr ""
-#: twitterauthorization.php:131 twitterauthorization.php:150
-#: twitterauthorization.php:170 twitterauthorization.php:217
+#: twitter.php:324
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. (Did you revoke %3$s's access?)\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s\n"
+msgstr ""
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
msgid "Couldn't link your Twitter account."
msgstr ""
-#: TwitterBridgePlugin.php:89
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr ""
+
+#: TwitterBridgePlugin.php:114
msgid "Twitter"
msgstr ""
-#: TwitterBridgePlugin.php:90
+#: TwitterBridgePlugin.php:115
msgid "Twitter integration options"
msgstr ""
+#: TwitterBridgePlugin.php:207
+msgid ""
+"The Twitter \"bridge\" plugin allows you to integrate your StatusNet "
+"instance with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+
#: twittersettings.php:59
msgid "Twitter settings"
msgstr ""
@@ -51,78 +76,81 @@ msgstr ""
msgid "Connected Twitter account"
msgstr ""
-#: twittersettings.php:125
-msgid "Remove"
+#: twittersettings.php:128
+msgid "Disconnect my account from Twitter"
+msgstr ""
+
+#: twittersettings.php:133
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+
+#: twittersettings.php:137
+msgid "set a password"
msgstr ""
-#: twittersettings.php:131
+#: twittersettings.php:139
+msgid " first."
+msgstr ""
+
+#: twittersettings.php:143
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+
+#: twittersettings.php:151
+msgid "Disconnect"
+msgstr ""
+
+#: twittersettings.php:158
msgid "Preferences"
msgstr ""
-#: twittersettings.php:135
+#: twittersettings.php:162
msgid "Automatically send my notices to Twitter."
msgstr ""
-#: twittersettings.php:142
+#: twittersettings.php:169
msgid "Send local \"@\" replies to Twitter."
msgstr ""
-#: twittersettings.php:149
+#: twittersettings.php:176
msgid "Subscribe to my Twitter friends here."
msgstr ""
-#: twittersettings.php:158
+#: twittersettings.php:185
msgid "Import my Friends Timeline."
msgstr ""
-#: twittersettings.php:174
+#: twittersettings.php:201
msgid "Save"
msgstr ""
-#: twittersettings.php:176
+#: twittersettings.php:203
msgid "Add"
msgstr ""
-#: twittersettings.php:201
+#: twittersettings.php:228
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: twittersettings.php:211
+#: twittersettings.php:238
msgid "Unexpected form submission."
msgstr ""
-#: twittersettings.php:230
+#: twittersettings.php:257
msgid "Couldn't remove Twitter user."
msgstr ""
-#: twittersettings.php:234
-msgid "Twitter account removed."
+#: twittersettings.php:261
+msgid "Twitter account disconnected."
msgstr ""
-#: twittersettings.php:255 twittersettings.php:265
+#: twittersettings.php:282 twittersettings.php:292
msgid "Couldn't save Twitter preferences."
msgstr ""
-#: twittersettings.php:269
+#: twittersettings.php:296
msgid "Twitter preferences saved."
msgstr ""
-
-#: twitter.php:333
-msgid "Your Twitter bridge has been disabled."
-msgstr ""
-
-#: twitter.php:337
-#, php-format
-msgid ""
-"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
-"disabled. We no longer seem to have permission to update your Twitter "
-"status. (Did you revoke %3$s's access?)\n"
-"\n"
-"You can re-enable your Twitter bridge by visiting your Twitter settings "
-"page:\n"
-"\n"
-"\t%2$s\n"
-"\n"
-"Regards,\n"
-"%3$s\n"
-msgstr ""
diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php
index 13e499d65..2805b3ab5 100644
--- a/plugins/TwitterBridge/twitter.php
+++ b/plugins/TwitterBridge/twitter.php
@@ -273,7 +273,7 @@ function remove_twitter_link($flink)
common_log(LOG_INFO, 'Removing Twitter bridge Foreign link for ' .
"user $user->nickname (user id: $user->id).");
- $result = $flink->delete();
+ $result = $flink->safeDelete();
if (empty($result)) {
common_log(LOG_ERR, 'Could not remove Twitter bridge ' .
diff --git a/plugins/TwitterBridge/twitteradminpanel.php b/plugins/TwitterBridge/twitteradminpanel.php
new file mode 100644
index 000000000..a78a92c66
--- /dev/null
+++ b/plugins/TwitterBridge/twitteradminpanel.php
@@ -0,0 +1,289 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Twitter bridge 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);
+}
+
+/**
+ * Administer global Twitter bridge settings
+ *
+ * @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 TwitteradminpanelAction extends AdminPanelAction
+{
+ /**
+ * Returns the page title
+ *
+ * @return string page title
+ */
+
+ function title()
+ {
+ return _m('Twitter');
+ }
+
+ /**
+ * Instructions for using this form.
+ *
+ * @return string instructions
+ */
+
+ function getInstructions()
+ {
+ return _m('Twitter bridge settings');
+ }
+
+ /**
+ * Show the Twitter admin panel form
+ *
+ * @return void
+ */
+
+ function showForm()
+ {
+ $form = new TwitterAdminPanelForm($this);
+ $form->show();
+ return;
+ }
+
+ /**
+ * Save settings from the form
+ *
+ * @return void
+ */
+
+ function saveSettings()
+ {
+ static $settings = array(
+ 'twitter' => array('consumer_key', 'consumer_secret'),
+ 'integration' => array('source')
+ );
+
+ static $booleans = array(
+ 'twitter' => array('signin'),
+ 'twitterimport' => array('enabled')
+ );
+
+ $values = array();
+
+ foreach ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ $values[$section][$setting]
+ = $this->trimmed($setting);
+ }
+ }
+
+ 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 ($settings as $section => $parts) {
+ foreach ($parts as $setting) {
+ Config::save($section, $setting, $values[$section][$setting]);
+ }
+ }
+
+ foreach ($booleans as $section => $parts) {
+ foreach ($parts as $setting) {
+ Config::save($section, $setting, $values[$section][$setting]);
+ }
+ }
+
+ $config->query('COMMIT');
+
+ return;
+ }
+
+ function validate(&$values)
+ {
+ // Validate consumer key and secret (can't be too long)
+
+ if (mb_strlen($values['twitter']['consumer_key']) > 255) {
+ $this->clientError(
+ _m("Invalid consumer key. Max length is 255 characters.")
+ );
+ }
+
+ if (mb_strlen($values['twitter']['consumer_secret']) > 255) {
+ $this->clientError(
+ _m("Invalid consumer secret. Max length is 255 characters.")
+ );
+ }
+ }
+}
+
+class TwitterAdminPanelForm extends AdminForm
+{
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'twitteradminpanel';
+ }
+
+ /**
+ * 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('twitteradminpanel');
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->elementStart(
+ 'fieldset',
+ array('id' => 'settings_twitter-application')
+ );
+ $this->out->element('legend', null, _m('Twitter application settings'));
+ $this->out->elementStart('ul', 'form_data');
+
+ $this->li();
+ $this->input(
+ 'consumer_key',
+ _m('Consumer key'),
+ _m('Consumer key assigned by Twitter'),
+ 'twitter'
+ );
+ $this->unli();
+
+ $this->li();
+ $this->input(
+ 'consumer_secret',
+ _m('Consumer secret'),
+ _m('Consumer secret assigned by Twitter'),
+ 'twitter'
+ );
+ $this->unli();
+
+ $globalConsumerKey = common_config('twitter', 'global_consumer_key');
+ $globalConsumerSec = common_config('twitter', 'global_consumer_secret');
+
+ if (!empty($globalConsumerKey) && !empty($globalConsumerSec)) {
+ $this->li();
+ $this->out->element('p', 'form_guide', _('Note: a global consumer key and secret are set.'));
+ $this->unli();
+ }
+
+ $this->li();
+ $this->input(
+ 'source',
+ _m('Integration source'),
+ _m('Name of your Twitter application'),
+ 'integration'
+ );
+ $this->unli();
+
+ $this->out->elementEnd('ul');
+ $this->out->elementEnd('fieldset');
+
+ $this->out->elementStart(
+ 'fieldset',
+ array('id' => 'settings_twitter-options')
+ );
+ $this->out->element('legend', null, _m('Options'));
+
+ $this->out->elementStart('ul', 'form_data');
+
+ $this->li();
+
+ $this->out->checkbox(
+ 'signin', _m('Enable "Sign-in with Twitter"'),
+ (bool) $this->value('signin', 'twitter'),
+ _m('Allow users to login with their Twitter credentials')
+ );
+ $this->unli();
+
+ $this->li();
+ $this->out->checkbox(
+ 'enabled', _m('Enable Twitter import'),
+ (bool) $this->value('enabled', 'twitterimport'),
+ _m('Allow users to import their Twitter friends\' timelines')
+ );
+ $this->unli();
+
+ $this->out->elementEnd('ul');
+
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ $this->out->submit('submit', _('Save'), 'submit', null, _('Save Twitter settings'));
+ }
+}
diff --git a/plugins/TwitterBridge/twitterauthorization.php b/plugins/TwitterBridge/twitterauthorization.php
index cabf69d7a..bc004cb95 100644
--- a/plugins/TwitterBridge/twitterauthorization.php
+++ b/plugins/TwitterBridge/twitterauthorization.php
@@ -47,7 +47,7 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
* @author Zach Copley <zach@status.net>
* @author Julien C <chaumond@gmail.com>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://laconi.ca/
+ * @link http://status.net/
*
*/
class TwitterauthorizationAction extends Action
@@ -273,7 +273,13 @@ class TwitterauthorizationAction extends Action
$flink->user_id = $user_id;
$flink->service = TWITTER_SERVICE;
- $flink->delete(); // delete stale flink, if any
+
+ // delete stale flink, if any
+ $result = $flink->find(true);
+
+ if (!empty($result)) {
+ $flink->safeDelete();
+ }
$flink->user_id = $user_id;
$flink->foreign_id = $twuid;
@@ -455,6 +461,11 @@ class TwitterauthorizationAction extends Action
$user = User::register($args);
+ if (empty($user)) {
+ $this->serverError(_('Error registering user.'));
+ return;
+ }
+
$result = $this->saveForeignLink($user->id,
$this->twuid,
$this->access_token);
diff --git a/plugins/TwitterBridge/twitteroauthclient.php b/plugins/TwitterBridge/twitteroauthclient.php
index ba45b533d..93f6aadd1 100644
--- a/plugins/TwitterBridge/twitteroauthclient.php
+++ b/plugins/TwitterBridge/twitteroauthclient.php
@@ -22,7 +22,7 @@
* @category Integration
* @package StatusNet
* @author Zach Copley <zach@status.net>
- * @copyright 2009 StatusNet, Inc.
+ * @copyright 2009-2010 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
@@ -61,8 +61,23 @@ class TwitterOAuthClient extends OAuthClient
$consumer_key = common_config('twitter', 'consumer_key');
$consumer_secret = common_config('twitter', 'consumer_secret');
- parent::__construct($consumer_key, $consumer_secret,
- $oauth_token, $oauth_token_secret);
+ if (empty($consumer_key) && empty($consumer_secret)) {
+ $consumer_key = common_config(
+ 'twitter',
+ 'global_consumer_key'
+ );
+ $consumer_secret = common_config(
+ 'twitter',
+ 'global_consumer_secret'
+ );
+ }
+
+ parent::__construct(
+ $consumer_key,
+ $consumer_secret,
+ $oauth_token,
+ $oauth_token_secret
+ );
}
// XXX: the following two functions are to support the horrible hack
diff --git a/plugins/TwitterBridge/twittersettings.php b/plugins/TwitterBridge/twittersettings.php
index 0137060e9..631b29f52 100644
--- a/plugins/TwitterBridge/twittersettings.php
+++ b/plugins/TwitterBridge/twittersettings.php
@@ -250,7 +250,7 @@ class TwittersettingsAction extends ConnectSettingsAction
$user = common_current_user();
$flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE);
- $result = $flink->delete();
+ $result = $flink->safeDelete();
if (empty($result)) {
common_log_db_error($flink, 'DELETE', __FILE__);
diff --git a/plugins/Xmpp/Fake_XMPP.php b/plugins/Xmpp/Fake_XMPP.php
index a0f329ca0..0f7cfd3b4 100644
--- a/plugins/Xmpp/Fake_XMPP.php
+++ b/plugins/Xmpp/Fake_XMPP.php
@@ -49,10 +49,20 @@ class Fake_XMPP extends XMPPHP_XMPP
*/
public function __construct($host, $port, $user, $password, $resource, $server = null, $printlog = false, $loglevel = null)
{
- parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel);
- // Normally the fulljid isn't filled out until resource binding time;
- // we need to save it here since we're not talking to a real server.
- $this->fulljid = "{$this->basejid}/{$this->resource}";
+ parent::__construct($host, $port, $user, $password, $resource, $server, $printlog, $loglevel);
+
+ // We use $host to connect, but $server to build JIDs if specified.
+ // This seems to fix an upstream bug where $host was used to build
+ // $this->basejid, never seen since it isn't actually used in the base
+ // classes.
+ if (!$server) {
+ $server = $this->host;
+ }
+ $this->basejid = $this->user . '@' . $server;
+
+ // Normally the fulljid is filled out by the server at resource binding
+ // time, but we need to do it since we're not talking to a real server.
+ $this->fulljid = "{$this->basejid}/{$this->resource}";
}
/**
diff --git a/scripts/createsim.php b/scripts/createsim.php
index 882d74456..e0b5fc906 100644
--- a/scripts/createsim.php
+++ b/scripts/createsim.php
@@ -119,6 +119,9 @@ function newSub($i)
function main($usercount, $noticeavg, $subsavg, $tagmax)
{
+ global $config;
+ $config['site']['dupelimit'] = -1;
+
$n = 1;
newUser(0);
diff --git a/scripts/fixup_utf8.php b/scripts/fixup_utf8.php
index 30befadfd..2af6f9cb0 100755
--- a/scripts/fixup_utf8.php
+++ b/scripts/fixup_utf8.php
@@ -249,7 +249,7 @@ class UTF8FixerUpper
$sql = 'SELECT id, fullname, location, description FROM user_group ' .
'WHERE LENGTH(fullname) != CHAR_LENGTH(fullname) '.
'OR LENGTH(location) != CHAR_LENGTH(location) '.
- 'OR LENGTH(description) != CHAR_LENGTH(description) ';
+ 'OR LENGTH(description) != CHAR_LENGTH(description) '.
'AND modified < "'.$this->max_date.'" '.
'ORDER BY modified DESC';
diff --git a/scripts/init_conversation.php b/scripts/init_conversation.php
new file mode 100755
index 000000000..675e7cabd
--- /dev/null
+++ b/scripts/init_conversation.php
@@ -0,0 +1,49 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+common_log(LOG_INFO, 'Initializing conversation table...');
+
+$notice = new Notice();
+$notice->query('select distinct conversation from notice');
+
+while ($notice->fetch()) {
+ $id = $notice->conversation;
+
+ if ($id) {
+ $uri = common_local_url('conversation', array('id' => $id));
+
+ // @fixme db_dataobject won't save our value for an autoincrement
+ // so we're bypassing the insert wrappers
+ $conv = new Conversation();
+ $sql = "insert into conversation (id,uri,created) values(%d,'%s','%s')";
+ $sql = sprintf($sql,
+ $id,
+ $conv->escape($uri),
+ $conv->escape(common_sql_now()));
+ echo "$id ";
+ $conv->query($sql);
+ print "... ";
+ }
+}
+print "done.\n";
diff --git a/scripts/setup_status_network.sh b/scripts/setup_status_network.sh
index 89d15415f..4ebb696c7 100755
--- a/scripts/setup_status_network.sh
+++ b/scripts/setup_status_network.sh
@@ -54,6 +54,8 @@ for top in $AVATARBASE $FILEBASE $BACKGROUNDBASE; do
chmod a+w $top/$nickname
done
+php $PHPBASE/scripts/checkschema.php -s"$server"
+
php $PHPBASE/scripts/registeruser.php \
-s"$server" \
-n"$nickname" \
diff --git a/scripts/update_po_templates.php b/scripts/update_po_templates.php
index 61a6ac783..0bfa62a22 100755
--- a/scripts/update_po_templates.php
+++ b/scripts/update_po_templates.php
@@ -36,7 +36,11 @@ xgettext \
--default-domain=$domain \
--output=locale/$domain.po \
--language=PHP \
- --keyword="_m:1" \
+ --add-comments=TRANS \
+ --keyword="_m:1,1t" \
+ --keyword="_m:1c,2,2t" \
+ --keyword="_m:1,2,3t" \
+ --keyword="_m:1c,2,3,4t" \
--keyword="pgettext:1c,2" \
--keyword="npgettext:1c,2,3" \
actions/*.php \
@@ -62,6 +66,7 @@ xgettext \
--default-domain=$domain \
--output=locale/$domain.po \
--language=PHP \
+ --add-comments=TRANS \
--keyword='' \
--keyword="_m:1,1t" \
--keyword="_m:1c,2,2t" \
diff --git a/scripts/updateavatarurl.php b/scripts/updateavatarurl.php
index 617c2e24c..3b6681bae 100644
--- a/scripts/updateavatarurl.php
+++ b/scripts/updateavatarurl.php
@@ -94,11 +94,11 @@ function updateAvatars($user)
}
}
- $orig = clone($avatar);
+ $orig_url = $avatar->url;
$avatar->url = Avatar::url($avatar->filename);
- if ($avatar->url != $orig->url) {
+ if ($avatar->url != $orig_url) {
$sql =
"UPDATE avatar SET url = '" . $avatar->url . "' ".
"WHERE profile_id = " . $avatar->profile_id . " ".
diff --git a/scripts/updateavatarurl_group.php b/scripts/updateavatarurl_group.php
new file mode 100644
index 000000000..ada42de20
--- /dev/null
+++ b/scripts/updateavatarurl_group.php
@@ -0,0 +1,99 @@
+#!/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:a';
+$longoptions = array('id=', 'nickname=', 'all');
+
+$helptext = <<<END_OF_UPDATEAVATARURL_HELP
+updateavatarurl_group.php [options]
+update the URLs of all group avatars in the system
+
+ -i --id ID of group to update
+ -n --nickname nickname of the group to update
+ -a --all update all
+
+END_OF_UPDATEAVATARURL_HELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+try {
+ $user = null;
+
+ if (have_option('i', 'id')) {
+ $id = get_option_value('i', 'id');
+ $group = User_group::staticGet('id', $id);
+ if (empty($group)) {
+ throw new Exception("Can't find group with id '$id'.");
+ }
+ updateGroupAvatars($group);
+ } else if (have_option('n', 'nickname')) {
+ $nickname = get_option_value('n', 'nickname');
+ $group = User_group::staticGet('nickname', $nickname);
+ if (empty($group)) {
+ throw new Exception("Can't find group with nickname '$nickname'");
+ }
+ updateGroupAvatars($group);
+ } else if (have_option('a', 'all')) {
+ $group = new User_group();
+ if ($group->find()) {
+ while ($group->fetch()) {
+ updateGroupAvatars($group);
+ }
+ }
+ } else {
+ show_help();
+ exit(1);
+ }
+} catch (Exception $e) {
+ print $e->getMessage()."\n";
+ exit(1);
+}
+
+function updateGroupAvatars($group)
+{
+ if (!have_option('q', 'quiet')) {
+ print "Updating avatars for group '".$group->nickname."' (".$group->id.")...";
+ }
+
+ if (empty($group->original_logo)) {
+ print "(none found)...";
+ } else {
+ // Using clone here was screwing up the group->find() iteration
+ $orig = User_group::staticGet('id', $group->id);
+
+ $group->original_logo = Avatar::url(basename($group->original_logo));
+ $group->homepage_logo = Avatar::url(basename($group->homepage_logo));
+ $group->stream_logo = Avatar::url(basename($group->stream_logo));
+ $group->mini_logo = Avatar::url(basename($group->mini_logo));
+
+ if (!$group->update($orig)) {
+ throw new Exception("Can't update avatars for group " . $group->nickname . ".");
+ }
+ }
+
+ if (have_option('v', 'verbose')) {
+ print "DONE.";
+ }
+ if (!have_option('q', 'quiet') || have_option('v', 'verbose')) {
+ print "\n";
+ }
+}
diff --git a/tests/ActivityParseTests.php b/tests/ActivityParseTests.php
index 5de97d2e2..7bf9cec7c 100644
--- a/tests/ActivityParseTests.php
+++ b/tests/ActivityParseTests.php
@@ -121,10 +121,14 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase
$this->assertEquals($act->actor->title, 'Test User');
$this->assertEquals($act->actor->id, 'http://example.net/mysite/user/3');
$this->assertEquals($act->actor->link, 'http://example.net/mysite/testuser');
+
+ $avatars = $act->actor->avatarLinks;
+
$this->assertEquals(
- $act->actor->avatar,
- 'http://example.net/mysite/avatar/3-96-20100224004207.jpeg'
+ $avatars[0]->url,
+ 'http://example.net/mysite/avatar/3-96-20100224004207.jpeg'
);
+
$this->assertEquals($act->actor->displayName, 'Test User');
$poco = $act->actor->poco;
@@ -133,6 +137,8 @@ class ActivityParseTests extends PHPUnit_Framework_TestCase
$this->assertEquals($poco->urls[0]->type, 'homepage');
$this->assertEquals($poco->urls[0]->value, 'http://example.com/blog.html');
$this->assertEquals($poco->urls[0]->primary, 'true');
+ $this->assertEquals($act->actor->geopoint, '37.7749295 -122.4194155');
+
}
}
diff --git a/tests/UserFeedParseTest.php b/tests/UserFeedParseTest.php
new file mode 100644
index 000000000..b3f9a6417
--- /dev/null
+++ b/tests/UserFeedParseTest.php
@@ -0,0 +1,131 @@
+<?php
+
+if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
+ print "This script must be run from the command line\n";
+ exit();
+}
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+define('STATUSNET', true);
+
+require_once INSTALLDIR . '/lib/common.php';
+
+class UserFeedParseTests extends PHPUnit_Framework_TestCase
+{
+ public function testFeed1()
+ {
+ global $_testfeed1;
+ $dom = DOMDocument::loadXML($_testfeed1);
+ $this->assertFalse(empty($dom));
+
+ $entries = $dom->getElementsByTagName('entry');
+
+ $entry1 = $entries->item(0);
+ $this->assertFalse(empty($entry1));
+
+ $feedEl = $dom->getElementsByTagName('feed')->item(0);
+ $this->assertFalse(empty($feedEl));
+
+ // Test actor (from activity:subject)
+
+ $act1 = new Activity($entry1, $feedEl);
+ $this->assertFalse(empty($act1));
+ $this->assertFalse(empty($act1->actor));
+ $this->assertEquals($act1->actor->type, ActivityObject::PERSON);
+ $this->assertEquals($act1->actor->title, 'Zach Copley');
+ $this->assertEquals($act1->actor->id, 'http://localhost/statusnet/user/1');
+ $this->assertEquals($act1->actor->link, 'http://localhost/statusnet/zach');
+
+ $avatars = $act1->actor->avatarLinks;
+
+ $this->assertEquals(
+ $avatars[0]->url,
+ 'http://localhost/statusnet/theme/default/default-avatar-profile.png'
+ );
+
+ $this->assertEquals(
+ $avatars[1]->url,
+ 'http://localhost/statusnet/theme/default/default-avatar-stream.png'
+ );
+
+ $this->assertEquals(
+ $avatars[2]->url,
+ 'http://localhost/statusnet/theme/default/default-avatar-mini.png'
+ );
+
+ $this->assertEquals($act1->actor->displayName, 'Zach Copley');
+
+ $poco = $act1->actor->poco;
+ $this->assertEquals($poco->preferredUsername, 'zach');
+ $this->assertEquals($poco->address->formatted, 'El Cerrito, CA');
+ $this->assertEquals($poco->urls[0]->type, 'homepage');
+ $this->assertEquals($poco->urls[0]->value, 'http://zach.copley.name');
+ $this->assertEquals($poco->urls[0]->primary, 'true');
+ $this->assertEquals($poco->note, 'Zach Hack Attack');
+
+ // test the post
+
+ //var_export($act1);
+ $this->assertEquals($act1->object->type, 'http://activitystrea.ms/schema/1.0/note');
+ $this->assertEquals($act1->object->title, 'And now for something completely insane...');
+
+ $this->assertEquals($act1->object->content, 'And now for something completely insane...');
+ $this->assertEquals($act1->object->id, 'http://localhost/statusnet/notice/3');
+
+ }
+
+}
+
+$_testfeed1 = <<<TESTFEED1
+<?xml version="1.0" encoding="UTF-8"?>
+<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0">
+ <id>http://localhost/statusnet/api/statuses/user_timeline/1.atom</id>
+ <title>zach timeline</title>
+ <subtitle>Updates from zach on Zach Dev!</subtitle>
+ <logo>http://localhost/statusnet/theme/default/default-avatar-profile.png</logo>
+ <updated>2010-03-04T01:41:14+00:00</updated>
+<author>
+ <name>zach</name>
+ <uri>http://localhost/statusnet/user/1</uri>
+
+</author>
+ <link href="http://localhost/statusnet/zach" rel="alternate" type="text/html"/>
+ <link href="http://localhost/statusnet/main/sup#1" rel="http://api.friendfeed.com/2008/03#sup" type="application/json"/>
+ <link href="http://localhost/statusnet/main/push/hub" rel="hub"/>
+ <link href="http://localhost/statusnet/main/salmon/user/1" rel="http://salmon-protocol.org/ns/salmon-replies"/>
+ <link href="http://localhost/statusnet/main/salmon/user/1" rel="http://salmon-protocol.org/ns/salmon-mention"/>
+ <link href="http://localhost/statusnet/api/statuses/user_timeline/1.atom" rel="self" type="application/atom+xml"/>
+<activity:subject>
+ <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
+ <id>http://localhost/statusnet/user/1</id>
+ <title>Zach Copley</title>
+ <link rel="alternate" type="text/html" href="http://localhost/statusnet/zach"/>
+ <link rel="avatar" type="image/png" media:width="96" media:height="96" href="http://localhost/statusnet/theme/default/default-avatar-profile.png"/>
+ <link rel="avatar" type="image/png" media:width="48" media:height="48" href="http://localhost/statusnet/theme/default/default-avatar-stream.png"/>
+ <link rel="avatar" type="image/png" media:width="24" media:height="24" href="http://localhost/statusnet/theme/default/default-avatar-mini.png"/>
+
+<poco:preferredUsername>zach</poco:preferredUsername>
+<poco:displayName>Zach Copley</poco:displayName>
+<poco:note>Zach Hack Attack</poco:note>
+<poco:address>
+ <poco:formatted>El Cerrito, CA</poco:formatted>
+</poco:address>
+<poco:urls>
+ <poco:type>homepage</poco:type>
+ <poco:value>http://zach.copley.name</poco:value>
+ <poco:primary>true</poco:primary>
+
+</poco:urls>
+</activity:subject>
+<entry>
+ <title>And now for something completely insane...</title>
+ <link rel="alternate" type="text/html" href="http://localhost/statusnet/notice/3"/>
+ <id>http://localhost/statusnet/notice/3</id>
+ <published>2010-03-04T01:41:07+00:00</published>
+ <updated>2010-03-04T01:41:07+00:00</updated>
+ <link rel="ostatus:conversation" href="http://localhost/statusnet/conversation/3"/>
+ <content type="html">And now for something completely insane...</content>
+</entry>
+
+</feed>
+TESTFEED1;
diff --git a/theme/base/css/display.css b/theme/base/css/display.css
index 52f97f6b1..0246065a7 100644
--- a/theme/base/css/display.css
+++ b/theme/base/css/display.css
@@ -345,10 +345,14 @@ list-style-type:none;
float:left;
text-decoration:none;
padding:4px 11px;
+border-radius-topleft:4px;
+border-radius-topright:4px;
-moz-border-radius-topleft:4px;
-moz-border-radius-topright:4px;
-webkit-border-top-left-radius:4px;
-webkit-border-top-right-radius:4px;
+border-radius-topleft:0;
+border-radius-topright:0;
border-width:1px;
border-style:solid;
border-bottom:0;
@@ -359,6 +363,54 @@ float:left;
width:100%;
}
+body[id$=adminpanel] #site_nav_local_views {
+position:relative;
+z-index:9;
+float:right;
+margin-right:10.65%;
+width:22.25%;
+}
+body[id$=adminpanel] #site_nav_local_views li {
+width:100%;
+margin-right:0;
+margin-bottom:7px;
+}
+body[id$=adminpanel] #site_nav_local_views a {
+display:block;
+width:80%;
+padding-right:10%;
+padding-left:10%;
+border-radius-toprleft:0;
+-moz-border-radius-topleft:0;
+-webkit-border-top-left-radius:0;
+border-radius-topright:4px;
+-moz-border-radius-topright:4px;
+-webkit-border-top-right-radius:4px;
+border-radius-bottomright:4px;
+-moz-border-radius-bottomright:4px;
+-webkit-border-bottom-right-radius:4px;
+}
+body[id$=adminpanel] #site_nav_local_views li.current {
+box-shadow:none;
+-moz-box-shadow:none;
+-webkit-box-shadow:none;
+}
+
+body[id$=adminpanel] #content {
+border-radius-topleft:7px;
+border-radius-topright:7px;
+-moz-border-radius-topleft:7px;
+-moz-border-radius-topright:7px;
+-webkit-border-top-left-radius:7px;
+-webkit-border-top-right-radius:7px;
+border-radius-topright:0;
+-moz-border-radius-topright:0;
+-webkit-border-top-right-radius:0;
+}
+body[id$=adminpanel] #aside_primary {
+display:none;
+}
+
#site_nav_global_primary dt,
#site_nav_global_secondary dt {
display:none;
@@ -764,10 +816,12 @@ display:none;
text-align:center;
}
-.entity_moderation {
+.entity_moderation,
+.entity_role {
position:relative;
}
-.entity_moderation p {
+.entity_moderation p,
+.entity_role p {
border-radius:4px;
-moz-border-radius:4px;
-webkit-border-radius:4px;
@@ -775,13 +829,14 @@ font-weight:bold;
padding-bottom:2px;
margin-bottom:7px;
}
-.entity_moderation ul {
+.entity_moderation ul,
+.entity_role ul {
display:none;
}
-.entity_moderation:hover ul {
+.entity_moderation:hover ul,
+.entity_role:hover ul {
display:block;
-min-width:21%;
-width:100%;
+width:110%;
padding:11px;
position:absolute;
top:-1px;
@@ -799,8 +854,8 @@ list-style-type:none;
display:inline;
}
.entity_tags li {
-float:left;
-margin-right:11px;
+display:inline;
+margin-right:7px;
}
.aside .section {
diff --git a/theme/base/css/ie.css b/theme/base/css/ie.css
index 70a6fd11a..41d053ac4 100644
--- a/theme/base/css/ie.css
+++ b/theme/base/css/ie.css
@@ -47,3 +47,7 @@ z-index:9999;
.notice .thumbnail img {
z-index:9999;
}
+
+.form_settings fieldset fieldset legend {
+line-height:auto;
+}
diff --git a/theme/base/css/ie6.css b/theme/base/css/ie6.css
index edc49478f..6df5e01ce 100644
--- a/theme/base/css/ie6.css
+++ b/theme/base/css/ie6.css
@@ -12,11 +12,11 @@ margin:0 auto;
}
#content {
-width:69%;
+width:66%;
}
#aside_primary {
-padding:5%;
-width:29.5%;
+padding:1.8%;
+width:24%;
}
.entity_profile .entity_nickname,
.entity_profile .entity_location,
@@ -32,9 +32,9 @@ margin-bottom:123px;
width:20%;
}
.notice div.entry-content {
-width:50%;
+width:65%;
margin-left:30px;
}
.notice-options a {
width:16px;
-} \ No newline at end of file
+}
diff --git a/theme/base/images/icons/README b/theme/base/images/icons/README
new file mode 100644
index 000000000..f701959ca
--- /dev/null
+++ b/theme/base/images/icons/README
@@ -0,0 +1,59 @@
+/**
+ * @author Paul Jarvis http://code.google.com/p/twotiny/
+ * @license http://dev.perl.org/licenses/ Artistic License/GPL
+ * @note
+ White left arrow with green background
+ White right arrow with green background
+ White clip with green background
+ White heart with green background
+ White reply with green background
+ White garbage with green background
+ White pencil with green background
+ White envelope with green background
+ White speech bubble with green background
+ White shield with green background
+ White asterisk with green background
+ White x with green background
+ White plus with green background
+ White minus with green background
+ White skull with green background
+ White recycle with green background
+ White external with green background
+ White key with green background
+ White flag with green background
+ White checkmark with green background
+ White reject with green background
+ White play with green background
+ White pause with green background
+ */
+
+
+/**
+ * @author Sarven Capadisli <csarven@status.net>
+ * @copyright 2008-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/
+ * @note
+ Green clip with transparent background
+ Green heart with white background
+ White person with tie with green background
+ White sherif badge with green background
+ White boxes with green background
+ White speech bubble broken with green background
+ Green recycle with transparent background
+ Green pin with white background
+ White pin with green background
+ White underscore with green background
+ White C with green background
+ White magic wand with green background
+ Green badge with white background
+ Green sandbox with white background
+ Green speech bubble broken with white background
+ Green person with tie with white background
+ */
+
+Created by various authors
+* FOAF icon from http://iandavis.com/2006/foaf-icons/ with Public Domain license
+* Atom feed icon from http://intertwingly.net/wiki/pie/Icon with Public Domain license
+* RSS feed icon from http://www.feedicons.com/ (Mozilla, Microsoft, Matt Brett) with MPL/GPL/LGPL tri-license
+* Processing icon from/by Unknown with Unknown license //FIXME
diff --git a/theme/base/images/icons/icon_geo.png b/theme/base/images/icons/icon_geo.png
deleted file mode 100644
index 8df245699..000000000
--- a/theme/base/images/icons/icon_geo.png
+++ /dev/null
Binary files differ
diff --git a/theme/base/images/icons/icons-01.gif b/theme/base/images/icons/icons-01.gif
index 6f284f023..bf0f1230e 100644
--- a/theme/base/images/icons/icons-01.gif
+++ b/theme/base/images/icons/icons-01.gif
Binary files differ
diff --git a/theme/cloudy/css/display.css b/theme/cloudy/css/display.css
index 726062e47..285c2ad83 100644
--- a/theme/cloudy/css/display.css
+++ b/theme/cloudy/css/display.css
@@ -1628,15 +1628,23 @@ button.close,
.form_user_unsubscribe input.submit,
.form_group_join input.submit,
.form_user_subscribe input.submit,
+.form_remote_authorize input.submit,
.entity_subscribe a,
.entity_moderation p,
.entity_sandbox input.submit,
.entity_silence input.submit,
.entity_delete input.submit,
.notice-options .repeated,
-.form_notice a#notice_data-geo_name,
.form_notice label[for=notice_data-geo],
-button.minimize {
+button.minimize,
+.form_reset_key input.submit,
+.entity_clear input.submit,
+.entity_flag input.submit,
+.entity_flag p,
+.entity_subscribe input.submit,
+#realtime_play,
+#realtime_pause,
+#realtime_popup {
background-image:url(../../base/images/icons/icons-01.gif);
background-repeat:no-repeat;
background-color:transparent;
@@ -1899,6 +1907,31 @@ background-position: 5px -1445px;
.entity_delete input.submit {
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;
+}
+.entity_subscribe input.accept {
+background-position: 5px -2171px;
+}
+.entity_subscribe input.reject {
+background-position: 5px -2237px;
+}
+#realtime_play {
+background-position: 0 -2308px;
+}
+#realtime_pause {
+background-position: 0 -2374px;
+}
+#realtime_popup {
+background-position: 0 -1714px;
+}
/* NOTICES */
diff --git a/theme/default/css/display.css b/theme/default/css/display.css
index deb985909..be341813a 100644
--- a/theme/default/css/display.css
+++ b/theme/default/css/display.css
@@ -49,6 +49,7 @@ box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3);
.pagination .nav_next a,
.form_settings fieldset fieldset,
.entity_moderation:hover ul,
+.entity_role:hover ul,
.dialogbox {
border-color:#DDDDDD;
}
@@ -67,6 +68,7 @@ input.submit,
.entity_actions a,
.entity_actions input,
.entity_moderation p,
+.entity_role p,
button {
box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
@@ -127,7 +129,8 @@ a,
.notice-options input,
.entity_actions a,
.entity_actions input,
-.entity_moderation p {
+.entity_moderation p,
+.entity_role p {
color:#002FA7;
}
@@ -190,6 +193,9 @@ button.close,
.entity_sandbox input.submit,
.entity_silence input.submit,
.entity_delete input.submit,
+.entity_role p,
+.entity_role_administrator input.submit,
+.entity_role_moderator input.submit,
.notice-options .repeated,
.form_notice label[for=notice_data-geo],
button.minimize,
@@ -197,7 +203,10 @@ button.minimize,
.entity_clear input.submit,
.entity_flag input.submit,
.entity_flag p,
-.entity_subscribe input.submit {
+.entity_subscribe input.submit,
+#realtime_play,
+#realtime_pause,
+#realtime_popup {
background-image:url(../../base/images/icons/icons-01.gif);
background-repeat:no-repeat;
background-color:transparent;
@@ -226,6 +235,7 @@ border-color:transparent;
#site_nav_local_views .current a,
.entity_send-a-message .form_notice,
.entity_moderation:hover ul,
+.entity_role:hover ul,
.dialogbox {
background-color:#FFFFFF;
}
@@ -316,6 +326,7 @@ background-position: 5px -852px;
}
.entity_send-a-message .form_notice,
.entity_moderation:hover ul,
+.entity_role:hover ul,
.dialogbox {
box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
@@ -347,6 +358,27 @@ background-position: 5px -1445px;
.entity_delete input.submit {
background-position: 5px -1511px;
}
+.entity_sandbox .form_user_unsandbox input.submit {
+background-position: 5px -2568px;
+}
+.entity_silence .form_user_unsilence input.submit {
+background-position: 5px -2633px;
+}
+.entity_role p {
+background-position: 5px -2436px;
+}
+.entity_role_administrator .form_user_grantrole input.submit {
+background-position: 5px -983px;
+}
+.entity_role_moderator .form_user_grantrole input.submit {
+background-position: 5px -1313px;
+}
+.entity_role_administrator .form_user_revokerole input.submit {
+background-position: 5px -2699px;
+}
+.entity_role_moderator .form_user_revokerole input.submit {
+background-position: 5px -2501px;
+}
.form_reset_key input.submit {
background-position: 5px -1973px;
}
@@ -363,6 +395,16 @@ background-position: 5px -2171px;
.entity_subscribe input.reject {
background-position: 5px -2237px;
}
+#realtime_play {
+background-position: 0 -2308px;
+}
+#realtime_pause {
+background-position: 0 -2374px;
+}
+#realtime_popup {
+background-position: 0 -1714px;
+}
+
/* NOTICES */
.notice .attachment {
diff --git a/theme/identica/css/display.css b/theme/identica/css/display.css
index 0e54d82e2..db85408eb 100644
--- a/theme/identica/css/display.css
+++ b/theme/identica/css/display.css
@@ -49,6 +49,7 @@ box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3);
.pagination .nav_next a,
.form_settings fieldset fieldset,
.entity_moderation:hover ul,
+.entity_role:hover ul,
.dialogbox {
border-color:#DDDDDD;
}
@@ -67,6 +68,7 @@ input.submit,
.entity_actions a,
.entity_actions input,
.entity_moderation p,
+.entity_role p,
button {
box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
@@ -81,7 +83,8 @@ background-color:transparent;
input:focus, textarea:focus, select:focus,
.form_notice.warning #notice_data-text,
.form_notice.warning #notice_text-count,
-.form_settings .form_note {
+.form_settings .form_note,
+.entity_actions .dialogbox .form_data input:focus {
border-color:#9BB43E;
}
input.submit {
@@ -127,7 +130,8 @@ a,
.notice-options input,
.entity_actions a,
.entity_actions input,
-.entity_moderation p {
+.entity_moderation p,
+.entity_role p {
color:#002FA7;
}
@@ -190,6 +194,9 @@ button.close,
.entity_sandbox input.submit,
.entity_silence input.submit,
.entity_delete input.submit,
+.entity_role p,
+.entity_role_administrator input.submit,
+.entity_role_moderator input.submit,
.notice-options .repeated,
.form_notice label[for=notice_data-geo],
button.minimize,
@@ -197,7 +204,10 @@ button.minimize,
.entity_clear input.submit,
.entity_flag input.submit,
.entity_flag p,
-.entity_subscribe input.submit {
+.entity_subscribe input.submit,
+#realtime_play,
+#realtime_pause,
+#realtime_popup {
background-image:url(../../base/images/icons/icons-01.gif);
background-repeat:no-repeat;
background-color:transparent;
@@ -226,6 +236,7 @@ border-color:transparent;
#site_nav_local_views .current a,
.entity_send-a-message .form_notice,
.entity_moderation:hover ul,
+.entity_role:hover ul,
.dialogbox {
background-color:#FFFFFF;
}
@@ -315,6 +326,7 @@ background-position: 5px -852px;
}
.entity_send-a-message .form_notice,
.entity_moderation:hover ul,
+.entity_role:hover ul,
.dialogbox {
box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
@@ -346,6 +358,27 @@ background-position: 5px -1445px;
.entity_delete input.submit {
background-position: 5px -1511px;
}
+.entity_sandbox .form_user_unsandbox input.submit {
+background-position: 5px -2568px;
+}
+.entity_silence .form_user_unsilence input.submit {
+background-position: 5px -2633px;
+}
+.entity_role p {
+background-position: 5px -2436px;
+}
+.entity_role_administrator .form_user_grantrole input.submit {
+background-position: 5px -983px;
+}
+.entity_role_moderator .form_user_grantrole input.submit {
+background-position: 5px -1313px;
+}
+.entity_role_administrator .form_user_revokerole input.submit {
+background-position: 5px -2699px;
+}
+.entity_role_moderator .form_user_revokerole input.submit {
+background-position: 5px -2501px;
+}
.form_reset_key input.submit {
background-position: 5px -1973px;
}
@@ -362,6 +395,15 @@ background-position: 5px -2171px;
.entity_subscribe input.reject {
background-position: 5px -2237px;
}
+#realtime_play {
+background-position: 0 -2308px;
+}
+#realtime_pause {
+background-position: 0 -2374px;
+}
+#realtime_popup {
+background-position: 0 -1714px;
+}
/* NOTICES */
.notice .attachment {
diff --git a/theme/otalk/css/base.css b/theme/otalk/css/base.css
deleted file mode 100644
index 8af86f9db..000000000
--- a/theme/otalk/css/base.css
+++ /dev/null
@@ -1,1211 +0,0 @@
-/** theme: otalk base
- *
- * @package StatusNet
- * @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/
- */
-
-* { margin:0; padding:0; }
-img { display:block; border:0; }
-a abbr { cursor: pointer; border-bottom:0; }
-table { border-collapse:collapse; }
-ol { list-style-position:inside; }
-html { font-size: 87.5%; background-color:#fff; }
-body {
-background-color:#fff;
-color:#000;
-font-family:sans-serif;
-font-size:1em;
-line-height:1.65;
-position:relative;
-}
-h1,h2,h3,h4,h5,h6 {
-margin-bottom:7px;
-overflow:hidden;
-}
-h1 {
-font-size:1.4em;
-margin-bottom:18px;
-}
-#showstream h1 { display:none; }
-h2 { font-size:1.3em; }
-h3 { font-size:1.2em; }
-h4 { font-size:1.1em; }
-h5 { font-size:1em; }
-h6 { font-size:0.9em; }
-
-caption {
-font-weight:bold;
-}
-legend {
-font-weight:bold;
-font-size:1.3em;
-}
-input, textarea, select, option {
-padding:4px;
-font-family:sans-serif;
-font-size:1em;
-}
-input, textarea, select {
-border-width:2px;
-border-style: solid;
-border-radius:4px;
--moz-border-radius:4px;
--webkit-border-radius:4px;
-}
-
-input.submit {
-font-weight:bold;
-cursor:pointer;
-}
-textarea {
-overflow:auto;
-}
-option {
-padding-bottom:0;
-}
-fieldset {
-padding:0;
-border:0;
-}
-form ul li {
-list-style-type:none;
-margin:0 0 18px 0;
-}
-form label {
-font-weight:bold;
-}
-input.checkbox {
-position:relative;
-top:2px;
-left:0;
-border:0;
-}
-
-.error,
-.success {
-padding:4px 7px;
-border-radius:4px;
--moz-border-radius:4px;
--webkit-border-radius:4px;
-margin-bottom:18px;
-}
-form label.submit {
-display:none;
-}
-
-.form_settings {
-clear:both;
-}
-
-.form_settings fieldset {
-margin-bottom:29px;
-}
-.form_settings input.remove {
-margin-left:11px;
-}
-.form_settings .form_data li {
-width:100%;
-float:left;
-}
-.form_settings .form_data label {
-float:left;
-}
-.form_settings .form_data textarea,
-.form_settings .form_data select,
-.form_settings .form_data input {
-margin-left:11px;
-float:left;
-}
-.form_settings .form_data input.submit {
-margin-left:0;
-}
-
-.form_settings label {
-margin-top:2px;
-width:152px;
-}
-
-.form_actions label {
-display:none;
-}
-.form_guide {
-font-style:italic;
-}
-
-.form_settings #settings_autosubscribe label {
-display:inline;
-font-weight:bold;
-}
-
-#form_settings_profile legend,
-#form_login legend,
-#form_register legend,
-#form_password legend,
-#form_settings_avatar legend,
-#newgroup legend,
-#editgroup legend,
-#form_tag_user legend,
-#form_remote_subscribe legend,
-#form_openid_login legend,
-#form_search legend,
-#form_invite legend,
-#form_notice_delete legend,
-#form_password_recover legend,
-#form_password_change legend {
-display:none;
-}
-
-.form_settings .form_data p.form_guide {
-clear:both;
-margin-left:163px;
-margin-bottom:0;
-}
-
-.form_settings p {
-margin-bottom:11px;
-}
-
-.form_settings input.checkbox {
-margin-top:3px;
-margin-left:0;
-}
-.form_settings label.checkbox {
-font-weight:normal;
-margin-top:0;
-margin-right:0;
-margin-left:11px;
-float:left;
-width:90%;
-}
-
-
-#form_login p.form_guide,
-#form_register #settings_rememberme p.form_guide,
-#form_openid_login #settings_rememberme p.form_guide,
-#settings_twitter_remove p.form_guide,
-#form_search ul.form_data #q {
-margin-left:0;
-}
-
-.form_settings .form_note {
-border-radius:4px;
--moz-border-radius:4px;
--webkit-border-radius:4px;
-padding:0 7px;
-}
-
-
-.form_settings input.form_action-primary {
-padding:0;
-}
-.form_settings input.form_action-secondary {
-margin-left:29px;
-}
-
-#form_search .submit {
-margin-left:11px;
-}
-
-address {
-float:left;
-margin-bottom:18px;
-margin-left:18px;
-}
-address.vcard img.logo {
-margin-right:0;
-}
-address .fn {
-font-weight:bold;
-}
-address img + .fn {
-display:none;
-}
-
-#header {
-width:100%;
-position:relative;
-float:left;
-padding-top:18px;
-margin-bottom:29px;
-}
-
-#site_nav_global_primary {
-float:right;
-margin-right:18px;
-margin-bottom:11px;
-margin-left:18px;
-}
-#site_nav_global_primary ul li {
-display:inline;
-margin-left:11px;
-}
-
-.system_notice dt {
-font-weight:bold;
-text-transform:uppercase;
-display:none;
-}
-
-#site_notice {
-position:absolute;
-top:65px;
-right:18px;
-width:250px;
-width:24%;
-}
-#page_notice {
-clear:both;
-margin-bottom:18px;
-}
-
-
-#anon_notice {
-float:left;
-width:43.2%;
-padding:1.1%;
-border-radius:7px;
--moz-border-radius:7px;
--webkit-border-radius:7px;
-border-width:2px;
-border-style:solid;
-line-height:1.5;
-font-size:1.1em;
-font-weight:bold;
-}
-
-
-#footer {
-float:left;
-width:64%;
-padding:18px;
-}
-
-#site_nav_local_views {
-float:left;
-}
-#site_nav_local_views dt {
-display:none;
-}
-#site_nav_local_views li {
-float:left;
-margin-right:18px;
-list-style-type:none;
-}
-#site_nav_local_views a {
-float:left;
-text-decoration:none;
-padding:4px 11px;
--moz-border-radius-topleft:4px;
--moz-border-radius-topright:4px;
--webkit-border-top-left-radius:4px;
--webkit-border-top-right-radius:4px;
-border-width:0;
-border-style:solid;
-border-bottom:0;
-text-shadow: 2px 2px 2px #ddd;
-font-weight:bold;
-}
-#site_nav_local_views .nav {
-float:left;
-width:100%;
-border-bottom-width:1px;
-border-bottom-style:solid;
-}
-
-#site_nav_global_primary dt,
-#site_nav_global_secondary dt {
-display:none;
-}
-
-#site_nav_global_secondary {
-margin-bottom:11px;
-}
-
-#site_nav_global_secondary ul li {
-display:inline;
-margin-right:11px;
-}
-#export_data li a {
-padding-left:20px;
-}
-#export_data li a.foaf {
-padding-left:30px;
-}
-#export_data li a.export_vcard {
-padding-left:28px;
-}
-
-#export_data ul {
-display:inline;
-}
-#export_data li {
-list-style-type:none;
-display:inline;
-margin-left:11px;
-}
-#export_data li:first-child {
-margin-left:0;
-}
-
-#licenses {
-font-size:0.9em;
-}
-
-#licenses dt {
-font-weight:bold;
-display:none;
-}
-#licenses dd {
-margin-bottom:11px;
-line-height:1.5;
-}
-
-#site_content_license_cc {
-margin-bottom:0;
-}
-#site_content_license_cc img {
-display:inline;
-vertical-align:top;
-margin-right:4px;
-}
-
-#wrap {
-margin:0 auto;
-width:100%;
-min-width:760px;
-max-width:1003px;
-overflow:hidden;
-}
-
-#core {
-position:relative;
-width:100%;
-float:left;
-margin-bottom:1em;
-}
-
-#content {
-width:67.9%;
-min-height:259px;
-padding-top:1.795%;
-padding-bottom:1.795%;
-float:left;
-clear:left;
-border-radius:7px;
--moz-border-radius:7px;
--moz-border-radius-topleft:0;
--webkit-border-radius:7px;
--webkit-border-top-left-radius:0;
-border-style:solid;
-border-width:0;
-margin-bottom:18px;
-}
-
-#content_inner {
-position:relative;
-width:100%;
-float:left;
-}
-
-#aside_primary {
-width:27.917%;
-min-height:259px;
-float:left;
-padding:1.795%;
-margin-left:0.385%;
-border-radius:7px;
--moz-border-radius:7px;
--webkit-border-radius:7px;
-border-width:1px;
-border-style:solid;
-}
-
-#form_notice {
-width:45.664%;
-float:left;
-position:relative;
-line-height:1;
-}
-#form_notice fieldset {
-border:0;
-padding:0;
-}
-#form_notice legend {
-display:none;
-}
-#form_notice textarea {
-float:left;
-border-radius:7px;
--moz-border-radius:7px;
--webkit-border-radius:7px;
-width:80.789%;
-height:67px;
-line-height:1.5;
-padding:7px 7px 16px 7px;
-}
-#form_notice label {
-display:block;
-float:left;
-font-size:1.3em;
-margin-bottom:7px;
-}
-#form_notice #notice_submit label {
-display:none;
-}
-#form_notice .form_note {
-position:absolute;
-top:99px;
-right:98px;
-z-index:9;
-}
-#form_notice .form_note dt {
-font-weight:bold;
-display:none;
-}
-#notice_text-count {
-font-weight:bold;
-line-height:1.15;
-padding:1px 2px;
-}
-#form_notice #notice_action-submit {
-width:14%;
-height:47px;
-padding:0;
-position:absolute;
-bottom:0;
-right:0;
-}
-#form_notice label[for=to] {
-margin-top:7px;
-}
-#form_notice select[id=to] {
-margin-bottom:7px;
-margin-left:18px;
-float:left;
-}
-
-
-/* entity_profile */
-.entity_profile {
-position:relative;
-width:521px;
-min-height:123px;
-float:left;
-margin-bottom:18px;
-margin-left:0;
-overflow:hidden;
-}
-.entity_profile dt,
-#entity_statistics dt {
-font-weight:bold;
-}
-.entity_profile dd {
-display:inline;
-}
-
-.entity_profile .entity_depiction {
-float:left;
-width:96px;
-margin-right:18px;
-margin-bottom:18px;
-}
-
-.entity_profile .entity_fn,
-.entity_profile .entity_nickname,
-.entity_profile .entity_location,
-.entity_profile .entity_url,
-.entity_profile .entity_note,
-.entity_profile .entity_tags {
-margin-left:113px;
-margin-bottom:4px;
-}
-
-.entity_profile .entity_fn,
-.entity_profile .entity_nickname {
-margin-left:11px;
-display:inline;
-font-weight:bold;
-}
-.entity_profile .entity_nickname {
-margin-left:0;
-}
-
-.entity_profile .entity_fn dd:before {
-content: "(";
-font-weight:normal;
-}
-.entity_profile .entity_fn dd:after {
-content: ")";
-font-weight:normal;
-}
-
-.entity_profile dt {
-display:none;
-}
-.entity_profile h2 {
-display:none;
-}
-/* entity_profile */
-
-
-/*entity_actions*/
-.entity_actions {
-float:left;
-margin-left:4.35%;
-max-width:25%;
-}
-.entity_actions h2 {
-display:none;
-}
-.entity_actions ul {
-list-style-type:none;
-}
-.entity_actions li {
-margin-bottom:4px;
-}
-.entity_actions li:first-child {
-border-top:0;
-}
-.entity_actions fieldset {
-border:0;
-padding:0;
-}
-.entity_actions legend {
-display:none;
-}
-
-.entity_actions input.submit {
-display:block;
-text-align:left;
-width:100%;
-}
-.entity_actions a,
-.entity_nudge p,
-.entity_remote_subscribe {
-text-decoration:none;
-font-weight:bold;
-display:block;
-}
-
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_send-a-message a,
-.entity_edit a,
-.form_user_nudge input.submit,
-.entity_nudge p {
-border:0;
-padding-left:20px;
-}
-
-.entity_edit a,
-.entity_send-a-message a,
-.entity_nudge p {
-padding:4px 4px 4px 23px;
-}
-
-.entity_remote_subscribe {
-padding:4px;
-border-width:2px;
-border-style:solid;
-border-radius:4px;
--moz-border-radius:4px;
--webkit-border-radius:4px;
-}
-.entity_actions .accept {
-margin-bottom:18px;
-}
-
-.entity_tags ul {
-list-style-type:none;
-display:inline;
-}
-.entity_tags li {
-display:inline;
-margin-right:4px;
-}
-
-.aside .section {
-margin-bottom:29px;
-clear:both;
-float:left;
-width:100%;
-}
-.aside .section h2 {
-text-transform:uppercase;
-font-size:1em;
-}
-
-#entity_statistics dt,
-#entity_statistics dd {
-display:inline;
-}
-#entity_statistics dt:after {
-content: ":";
-}
-
-.section ul.entities {
-float:left;
-width:100%;
-}
-.section .entities li {
-list-style-type:none;
-float:left;
-margin-right:7px;
-margin-bottom:7px;
-}
-.section .entities li .photo {
-margin-right:0;
-margin-bottom:0;
-}
-.section .entities li .fn {
-display:none;
-}
-
-.aside .section p,
-.aside .section .more {
-clear:both;
-}
-
-.profile .entity_profile {
-margin-bottom:0;
-min-height:60px;
-}
-
-
-.profile .form_group_join legend,
-.profile .form_group_leave legend,
-.profile .form_user_subscribe legend,
-.profile .form_user_unsubscribe legend {
-display:none;
-}
-
-.profiles {
-list-style-type:none;
-}
-.profile .entity_profile .entity_location {
-width:auto;
-clear:none;
-margin-left:11px;
-}
-.profile .entity_profile dl,
-.profile .entity_profile dd {
-display:inline;
-float:none;
-}
-.profile .entity_profile .entity_note,
-.profile .entity_profile .entity_url,
-.profile .entity_profile .entity_tags,
-.profile .entity_profile .form_subscription_edit {
-margin-left:59px;
-clear:none;
-display:block;
-width:auto;
-}
-.profile .entity_profile .entity_tags dt {
-display:inline;
-margin-right:11px;
-}
-
-
-.profile .entity_profile .form_subscription_edit label {
-font-weight:normal;
-margin-right:11px;
-}
-
-
-/* NOTICE */
-.notice,
-.profile {
-position:relative;
-clear:both;
-float:left;
-width:100%;
-border-width:0;
-border-style:solid;
-margin-bottom:29px;
-}
-.notices li {
-list-style-type:none;
-}
-
-#content .notice {
-width:37%;
-margin-left:17px;
-margin-bottom:47px;
-clear:none;
-overflow:hidden;
-padding: 0 0 0 65px;
-min-height:235px;
-}
-
-#aside_primary .notice {
-margin-bottom:18px;
-}
-
-#shownotice #content .notice {
-width:96%;
-}
-
-
-/* NOTICES */
-#notices_primary {
-float:left;
-width:100%;
-border-radius:7px;
--moz-border-radius:7px;
--webkit-border-radius:7px;
-}
-#notices_primary h2 {
-display:none;
-}
-.notice-data a span {
-display:block;
-padding-left:28px;
-}
-
-.notice .author {
-margin-right:11px;
-}
-
-#content .notice .author {
-/*overflow:hidden;*/
-}
-
-.fn {
-overflow:hidden;
-}
-
-.notice .author .fn {
-font-weight:bold;
-}
-
-.notice .author .photo {
-margin-bottom:0;
-}
-
-#content .notice .author .photo {
-margin-left:-83px;
-padding-right:17px;
-}
-
-
-.vcard .photo {
-display:inline;
-margin-right:11px;
-margin-bottom:11px;
-float:left;
-}
-.vcard .url {
-text-decoration:none;
-}
-.vcard .url:hover {
-text-decoration:underline;
-}
-
-.notice .entry-title {
-float:left;
-width:100%;
-overflow:hidden;
-}
-#content .notice .entry-title {
-overflow:visible;
-margin-bottom:11px;
-padding:18px;
-width:85%;
-border-radius:7px;
--moz-border-radius:7px;
--webkit-border-radius:7px;
-min-height:161px;
-}
-
-#shownotice .notice .entry-title {
-font-size:2.2em;
-}
-
-.notice p.entry-content {
-display:inline;
-}
-
-#content .notice p.entry-content
-overflow:hidden;
-}
-
-.notice p.entry-content .vcard a {
-border-radius:4px;
--moz-border-radius:4px;
--webkit-border-radius:4px;
-}
-
-.notice div.entry-content {
-clear:left;
-float:left;
-font-size:0.95em;
-}
-#showstream .notice div.entry-content {
-margin-left:0;
-}
-
-.notice .notice-options a,
-.notice .notice-options input {
-float:left;
-font-size:1.025em;
-}
-
-.notice div.entry-content dl,
-.notice div.entry-content dt,
-.notice div.entry-content dd {
-display:inline;
-}
-
-.notice div.entry-content .timestamp dt,
-.notice div.entry-content .response dt {
-display:none;
-}
-.notice div.entry-content .timestamp a {
-display:inline-block;
-}
-.notice div.entry-content .device dt {
-text-transform:lowercase;
-}
-
-
-
-.notice-data {
-position:absolute;
-top:18px;
-right:0;
-min-height:50px;
-margin-bottom:4px;
-}
-.notice .entry-content .notice-data dt {
-display:none;
-}
-
-.notice-data a {
-display:block;
-outline:none;
-}
-
-.notice-options {
-position:absolute;
-top:120px;
-left:30px;
-font-size:0.95em;
-}
-
-.notice-options a {
-float:left;
-}
-.notice-options .notice_delete,
-.notice-options .notice_reply,
-.notice-options .form_favor,
-.notice-options .form_disfavor {
-position:absolute;
-left:0;
-}
-.notice-options .form_favor,
-.notice-options .form_disfavor {
-top:0;
-}
-.notice-options .notice_reply {
-top:29px;
-}
-.notice-options .notice_delete {
-top:58px;
-}
-.notice-options .notice_reply dt {
-display:none;
-}
-
-.notice-options input,
-.notice-options a {
-text-indent:-9999px;
-outline:none;
-}
-
-.notice-options .notice_reply a,
-.notice-options input.submit {
-display:block;
-border:0;
-}
-.notice-options .notice_reply a,
-.notice-options .notice_delete a {
-text-decoration:none;
-padding-left:16px;
-}
-
-.notice-options form input.submit {
-width:16px;
-padding:2px 0;
-}
-
-.notice-options .notice_delete dt,
-.notice-options .form_favor legend,
-.notice-options .form_disfavor legend {
-display:none;
-}
-.notice-options .notice_delete fieldset,
-.notice-options .form_favor fieldset,
-.notice-options .form_disfavor fieldset {
-border:0;
-padding:0;
-}
-
-
-#usergroups #new_group {
-float: left;
-margin-right: 2em;
-}
-#new_group, #group_search {
-margin-bottom:18px;
-}
-#new_group a {
-padding-left:20px;
-}
-
-
-#filter_tags {
-margin-bottom:11px;
-float:left;
-}
-#filter_tags dt {
-display:none;
-}
-#filter_tags ul {
-list-style-type:none;
-}
-#filter_tags ul li {
-float:left;
-margin-left:7px;
-padding-left:7px;
-border-left-width:1px;
-border-left-style:solid;
-}
-#filter_tags ul li.child_1 {
-margin-left:0;
-border-left:0;
-padding-left:0;
-}
-#filter_tags ul li#filter_tags_all a {
-font-weight:bold;
-margin-top:7px;
-float:left;
-}
-
-#filter_tags ul li#filter_tags_item label {
-margin-right:7px;
-}
-#filter_tags ul li#filter_tags_item label,
-#filter_tags ul li#filter_tags_item select {
-display:inline;
-}
-#filter_tags ul li#filter_tags_item p {
-float:left;
-margin-left:38px;
-}
-#filter_tags ul li#filter_tags_item input {
-position:relative;
-top:3px;
-left:3px;
-}
-
-
-
-.pagination {
-float:left;
-clear:both;
-width:100%;
-margin-top:18px;
-}
-
-.pagination dt {
-font-weight:bold;
-display:none;
-}
-
-.pagination .nav {
-float:left;
-width:100%;
-list-style-type:none;
-}
-
-.pagination .nav_prev {
-float:left;
-}
-.pagination .nav_next {
-float:right;
-}
-
-.pagination a {
-display:block;
-text-decoration:none;
-font-weight:bold;
-padding:7px;
-border-width:1px;
-border-style:solid;
--moz-border-radius:7px;
--webkit-border-radius:7px;
-border-radius:7px;
-}
-
-.pagination .nav_prev a {
-padding-left:30px;
-}
-.pagination .nav_next a {
-padding-right:30px;
-}
-/* END: NOTICE */
-
-
-.hentry .entry-content p {
-margin-bottom:18px;
-}
-.hentry entry-content ol,
-.hentry .entry-content ul {
-list-style-position:inside;
-}
-.hentry .entry-content li {
-margin-bottom:18px;
-}
-.hentry .entry-content li li {
-margin-left:18px;
-}
-
-
-
-
-/* TOP_POSTERS */
-.section tbody td {
-padding-right:11px;
-padding-bottom:11px;
-}
-.section .vcard .photo {
-margin-right:7px;
-margin-bottom:0;
-}
-
-.section .notice {
-padding-top:7px;
-padding-bottom:7px;
-border-top:0;
-}
-
-.section .notice:first-child {
-padding-top:0;
-}
-
-.section .notice .author {
-margin-right:0;
-}
-.section .notice .author .fn {
-display:none;
-}
-
-
-/* tagcloud */
-.tag-cloud {
-list-style-type:none;
-text-align:center;
-}
-.aside .tag-cloud {
-font-size:0.8em;
-}
-.tag-cloud li {
-display:inline;
-margin-right:7px;
-line-height:1.25;
-}
-.aside .tag-cloud li {
-line-height:1.5;
-}
-.tag-cloud li a {
-text-decoration:none;
-}
-#tagcloud.section dt {
-text-transform:uppercase;
-font-weight:bold;
-}
-.tag-cloud-1 {
-font-size:1em;
-}
-.tag-cloud-2 {
-font-size:1.25em;
-}
-.tag-cloud-3 {
-font-size:1.75em;
-}
-.tag-cloud-4 {
-font-size:2em;
-}
-.tag-cloud-5 {
-font-size:2.25em;
-}
-.tag-cloud-6 {
-font-size:2.75em;
-}
-.tag-cloud-7 {
-font-size:3.25em;
-}
-
-#publictagcloud #tagcloud.section dt {
-display:none;
-}
-
-#form_settings_photo .form_data {
-clear:both;
-}
-
-#form_settings_avatar li {
-width:auto;
-}
-#form_settings_avatar input {
-margin-left:0;
-}
-#avatar_original,
-#avatar_preview {
-float:left;
-}
-#avatar_preview {
-margin-left:29px;
-}
-#avatar_preview_view {
-height:96px;
-width:96px;
-margin-bottom:18px;
-overflow:hidden;
-}
-
-#settings_attach,
-#form_settings_avatar .form_actions {
-clear:both;
-}
-
-#form_settings_avatar .form_actions {
-margin-bottom:0;
-}
-
-#form_settings_design #settings_design_color .form_data,
-#form_settings_design #color-picker {
-float:left;
-}
-#form_settings_design #settings_design_color .form_data {
-width:400px;
-margin-right:28px;
-}
-
-.instructions ul {
-list-style-position:inside;
-}
-.instructions p,
-.instructions ul {
-margin-bottom:18px;
-}
-.help dt {
-display:none;
-}
-.guide {
-clear:both;
-}
diff --git a/theme/otalk/css/display.css b/theme/otalk/css/display.css
deleted file mode 100644
index bdfaea749..000000000
--- a/theme/otalk/css/display.css
+++ /dev/null
@@ -1,292 +0,0 @@
-/** theme: otalk
- *
- * @package StatusNet
- * @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/
- */
-
-@import url(base.css);
-
-html {
-}
-
-html,
-body,
-a:active {
-}
-body {
-font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
-font-size:1em;
-background:#ddd url(../images/illustrations/illu_pattern-01.png) repeat 0 0;
-background-color:rgba(127, 127, 127, 0.1);
-}
-address {
-margin-right:7.18%;
-}
-
-input, textarea, select, option {
-font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
-}
-input, textarea, select,
-.entity_remote_subscribe {
-border-color:#aaa;
-}
-#filter_tags ul li {
-border-color:#ddd;
-}
-
-.form_settings input.form_action-primary {
-background:none;
-}
-
-input.submit,
-#form_notice.warning #notice_text-count,
-.form_settings .form_note,
-.entity_remote_subscribe {
-background-color:#9BB43E;
-}
-
-input:focus, textarea:focus, select:focus,
-#form_notice.warning #notice_data-text {
-border-color:#9BB43E;
-}
-input.submit,
-.entity_remote_subscribe {
-color:#fff;
-}
-
-a,
-div.notice-options input,
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_send-a-message a,
-.form_user_nudge input.submit,
-.entity_nudge p,
-.form_settings input.form_action-primary {
-color:#8F0000;
-}
-
-.notice,
-.profile {
-border-color:#CEE1E9;
-}
-#content .notice .entry-title,
-input, textarea, select, option,
-.pagination .nav_prev a,
-.pagination .nav_next a {
-background-color:rgba(255,255,255,0.8);
-}
-
-#content .notices li.hover .entry-title {
-background-color:rgba(255,255,255,0.9);
-}
-
-#content .notice:nth-child(1) .entry-title {
-background-color:rgba(255,255,255,0.95);
-}
-#content .notice:nth-child(2) .entry-title {
-background-color:rgba(255,255,255,0.9);
-}
-#content .notice:nth-child(3) .entry-title {
-background-color:rgba(255,255,255,0.8);
-}
-#content .notice:nth-child(4) .entry-title {
-background-color:rgba(255,255,255,0.7);
-}
-#content .notice:nth-child(5) .entry-title {
-background-color:rgba(255,255,255,0.6);
-}
-#content .notice:nth-child(6) .entry-title {
-background-color:rgba(255,255,255,0.5);
-}
-#content .notice:nth-child(7) .entry-title {
-background-color:rgba(255,255,255,0.4);
-}
-#content .notice:nth-child(8) .entry-title {
-background-color:rgba(255,255,255,0.3);
-}
-#content .notice:nth-child(9) .entry-title {
-background-color:rgba(255,255,255,0.2);
-}
-#content .notice:nth-child(10) {
-background-color:rgba(255,255,255,0.1);
-}
-
-
-#content .notice .author .photo {
-background:url(../images/illustrations/illu_arrow-left-01.gif) no-repeat 100% 0;
-}
-
-.section .profile {
-border-top-color:#87B4C8;
-}
-
-#aside_primary {
-background-color:rgba(206, 225, 233,0.5);
-}
-
-#notice_text-count {
-color:#333;
-}
-#form_notice.warning #notice_text-count {
-color:#000;
-}
-#form_notice.processing #notice_action-submit {
-background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
-cursor:wait;
-text-indent:-9999px;
-}
-
-#content,
-#site_nav_local_views .nav,
-#site_nav_local_views a,
-#aside_primary {
-border-color:#fff;
-}
-#content,
-#site_nav_local_views .current a {
-background-color:transparent;
-/*background-color:red;*/
-}
-
-#site_nav_local_views .current a {
-background-color:transparent;
-}
-
-#site_nav_local_views a {
-background-color:rgba(127, 127, 127, 0.2);
-}
-#site_nav_local_views a:hover {
-background-color:rgba(255, 255, 255, 0.8);
-}
-
-.error {
-background-color:#F7E8E8;
-}
-.success {
-background-color:#EFF3DC;
-}
-
-#anon_notice {
-background-color:rgba(206, 225, 233, 0.7);
-color:#fff;
-border-color:#fff;
-}
-
-#showstream #anon_notice {
-background-color:rgba(155, 180, 62, 0.7);
-}
-
-#export_data li a {
-background-repeat:no-repeat;
-background-position:0 45%;
-}
-#export_data li a.rss {
-background-image:url(../../base/images/icons/icon_rss.png);
-}
-#export_data li a.atom {
-background-image:url(../../base/images/icons/icon_atom.png);
-}
-#export_data li a.foaf {
-background-image:url(../../base/images/icons/icon_foaf.gif);
-}
-
-.entity_edit a,
-.entity_send-a-message a,
-.form_user_nudge input.submit,
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.entity_nudge p {
-background-position: 0 40%;
-background-repeat: no-repeat;
-background-color:transparent;
-}
-.form_group_join input.submit,
-.form_group_leave input.submit
-.form_user_subscribe input.submit,
-.form_user_unsubscribe input.submit {
-background-color:#9BB43E;
-color:#fff;
-}
-.form_user_unsubscribe input.submit,
-.form_group_leave input.submit,
-.form_user_authorization input.reject {
-background-color:#87B4C8;
-}
-
-.entity_edit a {
-background-image:url(../../base/images/icons/twotone/green/edit.gif);
-}
-.entity_send-a-message a {
-background-image:url(../../base/images/icons/twotone/green/quote.gif);
-}
-.entity_nudge p,
-.form_user_nudge input.submit {
-background-image:url(../../base/images/icons/twotone/green/mail.gif);
-}
-.form_user_block input.submit,
-.form_user_unblock input.submit {
-background-image:url(../../base/images/icons/twotone/green/shield.gif);
-}
-
-/* NOTICES */
-.notices li.over {
-background-color:#fcfcfc;
-}
-
-.notice-options .notice_reply a,
-.notice-options form input.submit {
-background-color:transparent;
-}
-.notice-options .notice_reply a {
-background:transparent url(../../base/images/icons/twotone/green/reply.gif) no-repeat 0 45%;
-}
-.notice-options form.form_favor input.submit {
-background:transparent url(../../base/images/icons/twotone/green/favourite.gif) no-repeat 0 45%;
-}
-.notice-options form.form_disfavor input.submit {
-background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
-}
-.notice-options .notice_delete a {
-background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
-}
-
-.notices div.entry-content,
-.notices div.notice-options {
-opacity:0.4;
-}
-.notices li.hover div.entry-content,
-.notices li.hover div.notice-options {
-opacity:1;
-}
-div.entry-content {
-color:#333;
-}
-div.notice-options a,
-div.notice-options input {
-font-family:sans-serif;
-}
-.notices li.hover {
-/*background-color:#fcfcfc;*/
-}
-/*END: NOTICES */
-
-#new_group a {
-background:transparent url(../../base/images/icons/twotone/green/news.gif) no-repeat 0 45%;
-}
-
-.pagination .nav_prev a,
-.pagination .nav_next a {
-background-repeat:no-repeat;
-border-color:#CEE1E9;
-}
-.pagination .nav_prev a {
-background-image:url(../../base/images/icons/twotone/green/arrow-left.gif);
-background-position:10% 45%;
-}
-.pagination .nav_next a {
-background-image:url(../../base/images/icons/twotone/green/arrow-right.gif);
-background-position:90% 45%;
-}
diff --git a/theme/otalk/css/ie.css b/theme/otalk/css/ie.css
deleted file mode 100644
index 2f463bb44..000000000
--- a/theme/otalk/css/ie.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/* IE specific styles */
-
-.notice-options input.submit {
-color:#fff;
-}
-
-#site_nav_local_views a {
-background-color:#D0DFE7;
-}
diff --git a/theme/otalk/default-avatar-mini.png b/theme/otalk/default-avatar-mini.png
deleted file mode 100644
index 38b8692b4..000000000
--- a/theme/otalk/default-avatar-mini.png
+++ /dev/null
Binary files differ
diff --git a/theme/otalk/default-avatar-profile.png b/theme/otalk/default-avatar-profile.png
deleted file mode 100644
index f8357d4fc..000000000
--- a/theme/otalk/default-avatar-profile.png
+++ /dev/null
Binary files differ
diff --git a/theme/otalk/default-avatar-stream.png b/theme/otalk/default-avatar-stream.png
deleted file mode 100644
index 6b63baa70..000000000
--- a/theme/otalk/default-avatar-stream.png
+++ /dev/null
Binary files differ
diff --git a/theme/otalk/images/illustrations/illu_arrow-left-01.gif b/theme/otalk/images/illustrations/illu_arrow-left-01.gif
deleted file mode 100644
index 197775976..000000000
--- a/theme/otalk/images/illustrations/illu_arrow-left-01.gif
+++ /dev/null
Binary files differ
diff --git a/theme/otalk/images/illustrations/illu_pattern-01.png b/theme/otalk/images/illustrations/illu_pattern-01.png
deleted file mode 100644
index 5a72eafcb..000000000
--- a/theme/otalk/images/illustrations/illu_pattern-01.png
+++ /dev/null
Binary files differ
diff --git a/theme/otalk/logo.png b/theme/otalk/logo.png
deleted file mode 100644
index fdead6c4a..000000000
--- a/theme/otalk/logo.png
+++ /dev/null
Binary files differ
diff --git a/theme/pigeonthoughts/css/base.css b/theme/pigeonthoughts/css/base.css
index 4b30710fb..2814260bd 100644
--- a/theme/pigeonthoughts/css/base.css
+++ b/theme/pigeonthoughts/css/base.css
@@ -232,6 +232,17 @@ font-weight:bold;
address img + .fn {
display:none;
}
+address a {
+text-decoration:none;
+}
+address .poweredby {
+float:left;
+clear:left;
+display:block;
+position:relative;
+top:7px;
+margin-right:-47px;
+}
#header {
width:98.5%;
@@ -486,13 +497,59 @@ margin-bottom:7px;
margin-left:18px;
float:left;
}
-#form_notice .error {
+.form_notice .error,
+.form_notice .success {
float:left;
clear:both;
-width:96.9%;
+width:81.5%;
margin-bottom:0;
line-height:1.618;
}
+.form_notice #notice_data-attach_selected code {
+float:left;
+width:80%;
+display:block;
+overflow:auto;
+margin-right:2.5%;
+font-size:1.1em;
+}
+.form_notice #notice_data-attach_selected button.close {
+float:right;
+font-size:0.8em;
+}
+
+.form_notice #notice_data-geo_wrap label,
+.form_notice #notice_data-geo_wrap input {
+position:absolute;
+top:25px;
+right:4px;
+left:auto;
+cursor:pointer;
+width:16px;
+height:16px;
+display:block;
+}
+.form_notice #notice_data-geo_wrap input {
+visibility:hidden;
+}
+.form_notice #notice_data-geo_wrap label {
+font-weight:normal;
+font-size:1em;
+margin-bottom:0;
+text-indent:-9999px;
+}
+
+button.close,
+button.minimize {
+width:16px;
+height:16px;
+text-indent:-9999px;
+padding:0;
+border:0;
+text-align:center;
+font-weight:bold;
+cursor:pointer;
+}
/* entity_profile */
.entity_profile {
@@ -850,6 +907,67 @@ font-size:1.025em;
.notice div.entry-content .timestamp {
display:inline-block;
}
+.entry-content .repeat {
+display:block;
+}
+.entry-content .repeat .photo {
+float:none;
+margin-right:1px;
+position:relative;
+top:4px;
+left:0;
+}
+
+.dialogbox {
+position:absolute;
+top:-1px;
+right:-1px;
+z-index:9;
+float:none;
+padding:11px;
+border-radius:7px;
+-moz-border-radius:7px;
+-webkit-border-radius:7px;
+border-style:solid;
+border-width:1px;
+}
+
+.dialogbox legend {
+display:block !important;
+margin-right:18px;
+margin-bottom:18px;
+}
+
+.dialogbox button.close {
+position:absolute;
+right:3px;
+top:3px;
+}
+
+.dialogbox .form_guide {
+font-weight:normal;
+padding:0;
+}
+
+.dialogbox .submit_dialogbox {
+font-weight:bold;
+text-indent:0;
+min-width:46px;
+}
+.dialogbox input {
+padding-left:4px;
+}
+.dialogbox fieldset {
+margin-bottom:0;
+}
+
+#wrap form.processing input.submit,
+.entity_actions a.processing,
+.dialogbox.processing .submit_dialogbox {
+cursor:wait;
+outline:none;
+text-indent:-9999px;
+}
.notice-options {
position:relative;
diff --git a/theme/pigeonthoughts/css/display.css b/theme/pigeonthoughts/css/display.css
index 2b9174182..dfeb01b48 100644
--- a/theme/pigeonthoughts/css/display.css
+++ b/theme/pigeonthoughts/css/display.css
@@ -60,6 +60,36 @@ input.submit,
color:#FFFFFF;
}
+.dialogbox .submit_dialogbox,
+input.submit,
+.form_notice input.submit {
+background:#AAAAAA url(../../base/images/illustrations/illu_pattern-01.png) 0 0 repeat-x;
+text-shadow:0 1px 0 #FFFFFF;
+color:#000000;
+border-color:#AAAAAA;
+border-top-color:#CCCCCC;
+border-left-color:#CCCCCC;
+}
+.dialogbox .submit_dialogbox:hover,
+input.submit:hover {
+background-position:0 -5px;
+}
+.dialogbox .submit_dialogbox:focus,
+input.submit:focus {
+background-position:0 -15px;
+box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
+-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
+-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.1);
+text-shadow:none;
+}
+
+.form_notice label[for=notice_data-geo] {
+background-position:0 -1780px;
+}
+.form_notice label[for=notice_data-geo].checked {
+background-position:0 -1846px;
+}
+
a,
div.notice-options input,
.form_user_block input.submit,
@@ -158,16 +188,69 @@ color:#333333;
color:#000000;
}
#form_notice label[for=notice_data-attach] {
-background:transparent url(../../base/images/icons/twotone/green/clip-01.gif) no-repeat 0 45%;
+background-position:0 -328px;
}
#form_notice #notice_data-attach {
opacity:0;
}
-#form_notice.processing #notice_action-submit {
+.form_notice label[for=notice_data-attach],
+#export_data li a.rss,
+#export_data li a.atom,
+#export_data li a.foaf,
+.entity_edit a,
+.entity_send-a-message a,
+.entity_nudge p,
+.form_user_nudge input.submit,
+.form_user_block input.submit,
+.form_user_unblock input.submit,
+.form_group_block input.submit,
+.form_group_unblock input.submit,
+.form_make_admin input.submit,
+.notice .attachment,
+.notice-options .notice_reply,
+.notice-options form.form_favor input.submit,
+.notice-options form.form_disfavor input.submit,
+.notice-options .notice_delete,
+.notice-options form.form_repeat input.submit,
+#new_group a,
+.pagination .nav_prev a,
+.pagination .nav_next a,
+button.close,
+.form_group_leave input.submit,
+.form_user_unsubscribe input.submit,
+.form_group_join input.submit,
+.form_user_subscribe input.submit,
+.form_remote_authorize input.submit,
+.entity_subscribe a,
+.entity_moderation p,
+.entity_sandbox input.submit,
+.entity_silence input.submit,
+.entity_delete input.submit,
+.notice-options .repeated,
+.form_notice label[for=notice_data-geo],
+button.minimize,
+.form_reset_key input.submit,
+.entity_clear input.submit,
+.entity_flag input.submit,
+.entity_flag p,
+.entity_subscribe input.submit,
+#realtime_play,
+#realtime_pause,
+#realtime_popup {
+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,
+.dialogbox.processing .submit_dialogbox {
background:#FFFFFF url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
-cursor:wait;
-text-indent:-9999px;
+}
+.notice-options .form_repeat.processing {
+background-image:none;
}
#content,
@@ -190,6 +273,12 @@ color:#8F0000;
text-shadow: rgba(194,194,194,0.5) 1px 1px 1px;
}
+.processing {
+background-image:url(../../base/images/icons/icon_processing.gif);
+background-repeat:no-repeat;
+background-position:47% 47%;
+}
+
.error {
background-color:#F7E8E8;
}
@@ -197,6 +286,14 @@ background-color:#F7E8E8;
background-color:#EFF3DC;
}
+button.close {
+background-position:0 -1120px;
+}
+button.minimize {
+background-position:0 -1912px;
+}
+
+
#anon_notice {
color:#000000;
}
@@ -207,81 +304,138 @@ background-repeat:no-repeat;
background-position:0 45%;
}
#export_data li a.rss {
-background-image:url(../../base/images/icons/icon_rss.png);
+background-position:0 -130px;
}
#export_data li a.atom {
-background-image:url(../../base/images/icons/icon_atom.png);
+background-position:0 -64px;
}
#export_data li a.foaf {
-background-image:url(../../base/images/icons/icon_foaf.gif);
+background-position:0 1px;
}
-.entity_edit a,
-.entity_send-a-message a,
-.form_user_nudge input.submit,
-.form_user_block input.submit,
-.form_user_unblock input.submit,
-.form_group_block input.submit,
-.form_group_unblock input.submit,
-.entity_nudge p,
-.form_make_admin input.submit {
-background-position: 0 40%;
-background-repeat: no-repeat;
-background-color:transparent;
+#export_data li a.rss {
+background-position:0 -130px;
+}
+#export_data li a.atom {
+background-position:0 -64px;
}
+#export_data li a.foaf {
+background-position:0 1px;
+}
+
.form_group_join input.submit,
-.form_group_leave input.submit
+.form_group_leave input.submit,
.form_user_subscribe input.submit,
-.form_user_unsubscribe input.submit {
+.form_user_unsubscribe input.submit,
+.form_remote_authorize input.submit,
+.entity_subscribe a {
background-color:#8F0000;
color:#FFFFFF;
}
-.form_user_unsubscribe input.submit,
.form_group_leave input.submit,
-.form_user_authorization input.reject {
+.form_user_unsubscribe input.submit {
+background-position:5px -1246px;
background-color:#87B4C8;
}
+.form_group_join input.submit,
+.form_user_subscribe input.submit,
+.form_remote_authorize input.submit,
+.entity_subscribe a {
+background-position:5px -1181px;
+}
.entity_edit a {
-background-image:url(../../base/images/icons/twotone/green/edit.gif);
+background-position: 5px -719px;
}
.entity_send-a-message a {
-background-image:url(../../base/images/icons/twotone/green/quote.gif);
+background-position: 5px -852px;
}
+.entity_send-a-message .form_notice,
+.entity_moderation:hover ul,
+.dialogbox {
+box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+-moz-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+-webkit-box-shadow:3px 7px 5px rgba(194, 194, 194, 0.7);
+}
+
.entity_nudge p,
.form_user_nudge input.submit {
-background-image:url(../../base/images/icons/twotone/green/mail.gif);
+background-position: 5px -785px;
}
.form_user_block input.submit,
.form_user_unblock input.submit,
.form_group_block input.submit,
.form_group_unblock input.submit {
-background-image:url(../../base/images/icons/twotone/green/shield.gif);
+background-position: 5px -918px;
}
.form_make_admin input.submit {
-background-image:url(../../base/images/icons/twotone/green/admin.gif);
+background-position: 5px -983px;
+}
+.entity_moderation p {
+background-position: 5px -1313px;
+}
+.entity_sandbox input.submit {
+background-position: 5px -1380px;
+}
+.entity_silence input.submit {
+background-position: 5px -1445px;
+}
+.entity_delete input.submit {
+background-position: 5px -1511px;
+}
+.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;
+}
+.entity_subscribe input.accept {
+background-position: 5px -2171px;
+}
+.entity_subscribe input.reject {
+background-position: 5px -2237px;
+}
+#realtime_play {
+background-position: 0 -2308px;
+}
+#realtime_pause {
+background-position: 0 -2374px;
+}
+#realtime_popup {
+background-position: 0 -1714px;
}
/* NOTICES */
.notice .attachment {
-background:transparent url(../../base/images/icons/twotone/green/clip-02.gif) no-repeat 0 45%;
+background-position:0 -394px;
}
#attachments .attachment {
background:none;
}
.notice-options .notice_reply {
-background:transparent url(../../base/images/icons/twotone/green/reply.gif) no-repeat 0 45%;
+background-position:0 -592px;
}
.notice-options form.form_favor input.submit {
-background:transparent url(../../base/images/icons/twotone/green/favourite.gif) no-repeat 0 45%;
+background-position:0 -460px;
}
.notice-options form.form_disfavor input.submit {
-background:transparent url(../../base/images/icons/twotone/green/disfavourite.gif) no-repeat 0 45%;
+background-position:0 -526px;
}
.notice-options .notice_delete {
-background:transparent url(../../base/images/icons/twotone/green/trash.gif) no-repeat 0 45%;
+background-position:0 -658px;
+}
+.notice-options form.form_repeat input.submit {
+background-position:0 -1582px;
+}
+.notice-options .repeated {
+background-position:0 -1648px;
}
+
.notices div.entry-content,
.notices div.notice-options {
opacity:0.4;
@@ -319,19 +473,26 @@ background-color:rgba(200, 200, 200, 0.300);
/*END: NOTICES */
#new_group a {
-background:transparent url(../../base/images/icons/twotone/green/news.gif) no-repeat 0 45%;
+background-position:0 -1054px;
}
-.pagination .nav_prev a,
-.pagination .nav_next a {
-background-repeat:no-repeat;
-border-color:#000000;
-}
.pagination .nav_prev a {
-background-image:url(../../base/images/icons/twotone/green/arrow-left.gif);
-background-position:10% 45%;
+background-position:10% -187px;
}
.pagination .nav_next a {
-background-image:url(../../base/images/icons/twotone/green/arrow-right.gif);
-background-position:90% 45%;
+background-position:105% -252px;
+}
+.pagination .nav .processing {
+background-image:url(../../base/images/icons/icon_processing.gif);
+box-shadow:none;
+-moz-box-shadow:none;
+-webkit-box-shadow:none;
+outline:none;
+}
+.pagination .nav_next a.processing {
+background-position:90% 47%;
}
+.pagination .nav_prev a.processing {
+background-position:10% 47%;
+}
+
diff --git a/theme/pigeonthoughts/logo.png b/theme/pigeonthoughts/logo.png
index 550d373fe..cf1839194 100644
--- a/theme/pigeonthoughts/logo.png
+++ b/theme/pigeonthoughts/logo.png
Binary files differ