summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EVENTS.txt2
-rw-r--r--actions/allrss.php2
-rw-r--r--actions/apigrouplist.php9
-rw-r--r--actions/apigrouplistall.php1
-rw-r--r--actions/apistatusesupdate.php91
-rw-r--r--actions/apitimelinefriends.php98
-rw-r--r--actions/apitimelinehome.php1
-rw-r--r--actions/apitimelinepublic.php89
-rw-r--r--actions/block.php16
-rw-r--r--actions/confirmaddress.php2
-rw-r--r--actions/deleteapplication.php10
-rw-r--r--actions/deletenotice.php16
-rw-r--r--actions/deleteuser.php16
-rw-r--r--actions/designadminpanel.php3
-rw-r--r--actions/emailsettings.php75
-rw-r--r--actions/groupblock.php16
-rw-r--r--actions/grouprss.php2
-rw-r--r--actions/imsettings.php59
-rw-r--r--actions/invite.php2
-rw-r--r--actions/register.php2
-rw-r--r--actions/shownotice.php2
-rw-r--r--actions/smssettings.php74
-rw-r--r--actions/snapshotadminpanel.php2
-rw-r--r--actions/tag.php13
-rw-r--r--actions/usergroups.php2
-rw-r--r--actions/userrss.php4
-rw-r--r--classes/File.php4
-rw-r--r--classes/Notice.php5
-rw-r--r--classes/Safe_DataObject.php24
-rw-r--r--classes/Subscription.php8
-rw-r--r--config.php.sample2
-rw-r--r--db/statusnet_pg.sql71
-rw-r--r--index.php2
-rw-r--r--lib/accountsettingsaction.php30
-rw-r--r--lib/action.php54
-rw-r--r--lib/activity.php3
-rw-r--r--lib/adminpanelaction.php11
-rw-r--r--lib/apiaction.php65
-rw-r--r--lib/apiauth.php23
-rw-r--r--lib/applicationeditform.php41
-rw-r--r--lib/applicationlist.php17
-rw-r--r--lib/atomgroupnoticefeed.php3
-rw-r--r--lib/atomusernoticefeed.php3
-rw-r--r--lib/attachmentlist.php3
-rw-r--r--lib/authorizationplugin.php4
-rw-r--r--lib/command.php36
-rw-r--r--lib/htmloutputter.php1
-rw-r--r--lib/language.php19
-rw-r--r--lib/mailhandler.php4
-rw-r--r--lib/mediafile.php2
-rw-r--r--lib/noticeform.php4
-rw-r--r--lib/noticelist.php12
-rw-r--r--lib/pgsqlschema.php55
-rw-r--r--lib/popularnoticesection.php2
-rw-r--r--lib/profileaction.php12
-rw-r--r--lib/util.php20
-rw-r--r--locale/af/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/ar/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/arz/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/bg/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/br/LC_MESSAGES/statusnet.po101
-rw-r--r--locale/ca/LC_MESSAGES/statusnet.po1171
-rw-r--r--locale/cs/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/de/LC_MESSAGES/statusnet.po94
-rw-r--r--locale/el/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/en_GB/LC_MESSAGES/statusnet.po160
-rw-r--r--locale/es/LC_MESSAGES/statusnet.po88
-rw-r--r--locale/fa/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/fi/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/fr/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/ga/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/gl/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/he/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/hsb/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/ia/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/is/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/it/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/ja/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/ko/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/mk/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/nb/LC_MESSAGES/statusnet.po89
-rw-r--r--locale/nl/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/nn/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/pl/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/pt/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/pt_BR/LC_MESSAGES/statusnet.po165
-rw-r--r--locale/ru/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/statusnet.pot82
-rw-r--r--locale/sv/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/te/LC_MESSAGES/statusnet.po134
-rw-r--r--locale/tr/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/uk/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/vi/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/zh_CN/LC_MESSAGES/statusnet.po86
-rw-r--r--locale/zh_TW/LC_MESSAGES/statusnet.po86
-rw-r--r--plugins/AutoSandbox/AutoSandboxPlugin.php96
-rw-r--r--plugins/AutoSandbox/LICENSE21
-rw-r--r--plugins/AutoSandbox/README39
-rw-r--r--plugins/Autocomplete/AutocompletePlugin.php12
-rw-r--r--plugins/ClientSideShorten/ClientSideShortenPlugin.php79
-rw-r--r--plugins/ClientSideShorten/README6
-rw-r--r--plugins/ClientSideShorten/shorten.js66
-rw-r--r--plugins/ClientSideShorten/shorten.php68
-rw-r--r--plugins/DirectionDetector/DirectionDetectorPlugin.php32
-rw-r--r--plugins/DirectionDetector/locale/DirectionDetector.pot6
-rw-r--r--plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po22
-rw-r--r--plugins/FirePHP/FirePHPPlugin.php4
-rw-r--r--plugins/LdapAuthentication/LdapAuthenticationPlugin.php286
-rw-r--r--plugins/LdapAuthorization/LdapAuthorizationPlugin.php133
-rw-r--r--plugins/LdapCommon/LdapCommon.php369
-rw-r--r--plugins/LdapCommon/MemcacheSchemaCache.php (renamed from plugins/LdapAuthentication/MemcacheSchemaCache.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2.php (renamed from extlib/Net/LDAP2.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/Entry.php (renamed from extlib/Net/LDAP2/Entry.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/Filter.php (renamed from extlib/Net/LDAP2/Filter.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/LDIF.php (renamed from extlib/Net/LDAP2/LDIF.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/RootDSE.php (renamed from extlib/Net/LDAP2/RootDSE.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/Schema.php (renamed from extlib/Net/LDAP2/Schema.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php (renamed from extlib/Net/LDAP2/SchemaCache.interface.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/Search.php (renamed from extlib/Net/LDAP2/Search.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/SimpleFileSchemaCache.php (renamed from extlib/Net/LDAP2/SimpleFileSchemaCache.php)0
-rw-r--r--plugins/LdapCommon/extlib/Net/LDAP2/Util.php (renamed from extlib/Net/LDAP2/Util.php)0
-rw-r--r--plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po109
-rw-r--r--plugins/OpenID/OpenIDPlugin.php15
-rw-r--r--plugins/OpenID/finishaddopenid.php10
-rw-r--r--plugins/OpenID/finishopenidlogin.php35
-rw-r--r--plugins/OpenID/openid.php15
-rw-r--r--plugins/OpenID/openidlogin.php15
-rw-r--r--plugins/OpenID/openidserver.php6
-rw-r--r--plugins/SpotifyPlugin.php113
-rw-r--r--scripts/apidocs.config1551
-rwxr-xr-xscripts/docgen.php114
-rw-r--r--scripts/doxygen.tmpl1516
-rwxr-xr-xscripts/update_translations.php4
133 files changed, 8063 insertions, 2492 deletions
diff --git a/EVENTS.txt b/EVENTS.txt
index 2da6f3da6..cf9c6123f 100644
--- a/EVENTS.txt
+++ b/EVENTS.txt
@@ -141,7 +141,7 @@ StartLogout: Before logging out
EndLogout: After logging out
- $action: the logout action
-ArgsInitialized: After the argument array has been initialized
+ArgsInitialize: After the argument array has been initialized
- $args: associative array of arguments, can be modified
StartAddressData: Allows the site owner to provide additional information about themselves for contact (e.g., tagline, email, location)
diff --git a/actions/allrss.php b/actions/allrss.php
index 01e737ad7..7df0b1ef7 100644
--- a/actions/allrss.php
+++ b/actions/allrss.php
@@ -112,10 +112,12 @@ class AllrssAction extends Rss10Action
$c = array('url' => common_local_url('allrss',
array('nickname' =>
$user->nickname)),
+ // TRANS: Message is used as link title. %s is a user nickname.
'title' => sprintf(_('%s and friends'), $user->nickname),
'link' => common_local_url('all',
array('nickname' =>
$user->nickname)),
+ // TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
'description' => sprintf(_('Updates from %1$s and friends on %2$s!'),
$user->nickname, common_config('site', 'name')));
return $c;
diff --git a/actions/apigrouplist.php b/actions/apigrouplist.php
index dd2a68c66..3ea2c30cb 100644
--- a/actions/apigrouplist.php
+++ b/actions/apigrouplist.php
@@ -93,6 +93,7 @@ class ApiGroupListAction extends ApiBareAuthAction
parent::handle($args);
$sitename = common_config('site', 'name');
+ // TRANS: %s is a user name
$title = sprintf(_("%s's groups"), $this->user->nickname);
$taguribase = TagURI::base();
$id = "tag:$taguribase:Groups";
@@ -100,10 +101,12 @@ class ApiGroupListAction extends ApiBareAuthAction
'usergroups',
array('nickname' => $this->user->nickname)
);
+
$subtitle = sprintf(
- _("Groups %1\$s is a member of on %2\$s."),
- $this->user->nickname,
- $sitename
+ // TRANS: Meant to convey the user %2$s is a member of each of the groups listed on site %1$s
+ _("%1\$s groups %2\$s is a member of."),
+ $sitename,
+ $this->user->nickname
);
switch($this->format) {
diff --git a/actions/apigrouplistall.php b/actions/apigrouplistall.php
index f7677970f..bd05fa3ea 100644
--- a/actions/apigrouplistall.php
+++ b/actions/apigrouplistall.php
@@ -87,6 +87,7 @@ class ApiGroupListAllAction extends ApiPrivateAuthAction
parent::handle($args);
$sitename = common_config('site', 'name');
+ // TRANS: Message is used as a title. %s is a site name.
$title = sprintf(_("%s groups"), $sitename);
$taguribase = TagURI::base();
$id = "tag:$taguribase:Groups";
diff --git a/actions/apistatusesupdate.php b/actions/apistatusesupdate.php
index e3e579b0d..a0a81f336 100644
--- a/actions/apistatusesupdate.php
+++ b/actions/apistatusesupdate.php
@@ -33,6 +33,97 @@
* @link http://status.net/
*/
+/* External API usage documentation. Please update when you change how this method works. */
+
+/*! @page statusesupdate statuses/update
+
+ @section Description
+ Updates the authenticating user's status. Requires the status parameter specified below.
+ Request must be a POST.
+
+ @par URL pattern
+ /api/statuses/update.:format
+
+ @par Formats (:format)
+ xml, json
+
+ @par HTTP Method(s)
+ POST
+
+ @par Requires Authentication
+ Yes
+
+ @param status (Required) The URL-encoded text of the status update.
+ @param source (Optional) The source of the status.
+ @param in_reply_to_status_id (Optional) The ID of an existing status that the update is in reply to.
+ @param lat (Optional) The latitude the status refers to.
+ @param long (Optional) The longitude the status refers to.
+ @param media (Optional) a media upload, such as an image or movie file.
+
+ @sa @ref authentication
+ @sa @ref apiroot
+
+ @subsection usagenotes Usage notes
+
+ @li The URL pattern is relative to the @ref apiroot.
+ @li If the @e source parameter is not supplied the source of the status will default to 'api'.
+ @li The XML response uses <a href="http://georss.org/Main_Page">GeoRSS</a>
+ to encode the latitude and longitude (see example response below <georss:point>).
+ @li Data uploaded via the @e media parameter should be multipart/form-data encoded.
+
+ @subsection exampleusage Example usage
+
+ @verbatim
+ curl -u username:password http://example.com/api/statuses/update.xml -d status='Howdy!' -d lat='30.468' -d long='-94.743'
+ @endverbatim
+
+ @subsection exampleresponse Example response
+
+ @verbatim
+ <?xml version="1.0" encoding="UTF-8"?>
+ <status>
+ <text>Howdy!</text>
+ <truncated>false</truncated>
+ <created_at>Tue Mar 30 23:28:05 +0000 2010</created_at>
+ <in_reply_to_status_id/>
+ <source>api</source>
+ <id>26668724</id>
+ <in_reply_to_user_id/>
+ <in_reply_to_screen_name/>
+ <geo xmlns:georss="http://www.georss.org/georss">
+ <georss:point>30.468 -94.743</georss:point>
+ </geo>
+ <favorited>false</favorited>
+ <user>
+ <id>25803</id>
+ <name>Jed Sanders</name>
+ <screen_name>jedsanders</screen_name>
+ <location>Hoop and Holler, Texas</location>
+ <description>I like to think of myself as America's Favorite.</description>
+ <profile_image_url>http://avatar.example.com/25803-48-20080924200604.png</profile_image_url>
+ <url>http://jedsanders.net</url>
+ <protected>false</protected>
+ <followers_count>5</followers_count>
+ <profile_background_color/>
+ <profile_text_color/>
+ <profile_link_color/>
+ <profile_sidebar_fill_color/>
+ <profile_sidebar_border_color/>
+ <friends_count>2</friends_count>
+ <created_at>Wed Sep 24 20:04:00 +0000 2008</created_at>
+ <favourites_count>0</favourites_count>
+ <utc_offset>0</utc_offset>
+ <time_zone>UTC</time_zone>
+ <profile_background_image_url/>
+ <profile_background_tile>false</profile_background_tile>
+ <statuses_count>70</statuses_count>
+ <following>true</following>
+ <notifications>true</notifications>
+ </user>
+ </status>
+ @endverbatim
+*/
+
if (!defined('STATUSNET')) {
exit(1);
}
diff --git a/actions/apitimelinefriends.php b/actions/apitimelinefriends.php
index ac350ab1b..3c25c049e 100644
--- a/actions/apitimelinefriends.php
+++ b/actions/apitimelinefriends.php
@@ -28,11 +28,106 @@
* @author Mike Cochrane <mikec@mikenz.geek.nz>
* @author Robin Millette <robin@millette.info>
* @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/
*/
+/* External API usage documentation. Please update when you change how this method works. */
+
+/*! @page friendstimeline statuses/friends_timeline
+
+ @section Description
+ Returns the 20 most recent statuses posted by the authenticating
+ user and that user's friends. This is the equivalent of "You and
+ friends" page in the web interface.
+
+ @par URL patterns
+ @li /api/statuses/friends_timeline.:format
+ @li /api/statuses/friends_timeline/:id.:format
+
+ @par Formats (:format)
+ xml, json, rss, atom
+
+ @par ID (:id)
+ username, user id
+
+ @par HTTP Method(s)
+ GET
+
+ @par Requires Authentication
+ Sometimes (see: @ref authentication)
+
+ @param user_id (Optional) Specifies a user by ID
+ @param screen_name (Optional) Specifies a user by screename (nickname)
+ @param since_id (Optional) Returns only statuses with an ID greater
+ than (that is, more recent than) the specified ID.
+ @param max_id (Optional) Returns only statuses with an ID less than
+ (that is, older than) or equal to the specified ID.
+ @param count (Optional) Specifies the number of statuses to retrieve.
+ @param page (Optional) Specifies the page of results to retrieve.
+
+ @sa @ref authentication
+ @sa @ref apiroot
+
+ @subsection usagenotes Usage notes
+ @li The URL pattern is relative to the @ref apiroot.
+ @li The XML response uses <a href="http://georss.org/Main_Page">GeoRSS</a>
+ to encode the latitude and longitude (see example response below <georss:point>).
+
+ @subsection exampleusage Example usage
+
+ @verbatim
+ curl http://identi.ca/api/statuses/friends_timeline/evan.xml?count=1&page=2
+ @endverbatim
+
+ @subsection exampleresponse Example response
+
+ @verbatim
+ <?xml version="1.0"?>
+ <statuses type="array">
+ <status>
+ <text>back from the !yul !drupal meet with Evolving Web folk, @anarcat, @webchick and others, and an interesting refresher on SQL indexing</text>
+ <truncated>false</truncated>
+ <created_at>Wed Mar 31 01:33:02 +0000 2010</created_at>
+ <in_reply_to_status_id/>
+ <source>&lt;a href="http://code.google.com/p/microblog-purple/"&gt;mbpidgin&lt;/a&gt;</source>
+ <id>26674201</id>
+ <in_reply_to_user_id/>
+ <in_reply_to_screen_name/>
+ <geo/>
+ <favorited>false</favorited>
+ <user>
+ <id>246</id>
+ <name>Mark</name>
+ <screen_name>lambic</screen_name>
+ <location>Montreal, Canada</location>
+ <description>Geek</description>
+ <profile_image_url>http://avatar.identi.ca/246-48-20080702141545.png</profile_image_url>
+ <url>http://lambic.co.uk</url>
+ <protected>false</protected>
+ <followers_count>73</followers_count>
+ <profile_background_color>#F0F2F5</profile_background_color>
+ <profile_text_color/>
+ <profile_link_color>#002E6E</profile_link_color>
+ <profile_sidebar_fill_color>#CEE1E9</profile_sidebar_fill_color>
+ <profile_sidebar_border_color/>
+ <friends_count>58</friends_count>
+ <created_at>Wed Jul 02 14:12:15 +0000 2008</created_at>
+ <favourites_count>2</favourites_count>
+ <utc_offset>-14400</utc_offset>
+ <time_zone>US/Eastern</time_zone>
+ <profile_background_image_url/>
+ <profile_background_tile>false</profile_background_tile>
+ <statuses_count>933</statuses_count>
+ <following>false</following>
+ <notifications>false</notifications>
+ </user>
+ </status>
+ </statuses>
+ @endverbatim
+*/
+
if (!defined('STATUSNET')) {
exit(1);
}
@@ -116,6 +211,7 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction
$id = "tag:$taguribase:FriendsTimeline:" . $this->user->id;
$subtitle = sprintf(
+ // TRANS: Message is used as a subtitle. %1$s is a user nickname, %2$s is a site name.
_('Updates from %1$s and friends on %2$s!'),
$this->user->nickname,
$sitename
diff --git a/actions/apitimelinehome.php b/actions/apitimelinehome.php
index 1618c9923..43a13dcda 100644
--- a/actions/apitimelinehome.php
+++ b/actions/apitimelinehome.php
@@ -117,6 +117,7 @@ class ApiTimelineHomeAction extends ApiBareAuthAction
$id = "tag:$taguribase:HomeTimeline:" . $this->user->id;
$subtitle = sprintf(
+ // TRANS: Message is used as a subtitle. %1$s is a user nickname, %2$s is a site name.
_('Updates from %1$s and friends on %2$s!'),
$this->user->nickname, $sitename
);
diff --git a/actions/apitimelinepublic.php b/actions/apitimelinepublic.php
index 903461425..30f9f4cda 100644
--- a/actions/apitimelinepublic.php
+++ b/actions/apitimelinepublic.php
@@ -55,6 +55,95 @@ require_once INSTALLDIR . '/lib/apiprivateauth.php';
* @link http://status.net/
*/
+/* External API usage documentation. Please update when you change how this method works. */
+
+/*! @page publictimeline statuses/public_timeline
+
+ @section Description
+ Returns the 20 most recent notices from users throughout the system who have
+ uploaded their own avatars. Depending on configuration, it may or may not
+ not include notices from automatic posting services.
+
+ @par URL patterns
+ @li /api/statuses/public_timeline.:format
+
+ @par Formats (:format)
+ xml, json, rss, atom
+
+ @par HTTP Method(s)
+ GET
+
+ @par Requires Authentication
+ No
+
+ @param since_id (Optional) Returns only statuses with an ID greater
+ than (that is, more recent than) the specified ID.
+ @param max_id (Optional) Returns only statuses with an ID less than
+ (that is, older than) or equal to the specified ID.
+ @param count (Optional) Specifies the number of statuses to retrieve.
+ @param page (Optional) Specifies the page of results to retrieve.
+
+ @sa @ref apiroot
+
+ @subsection usagenotes Usage notes
+ @li The URL pattern is relative to the @ref apiroot.
+ @li The XML response uses <a href="http://georss.org/Main_Page">GeoRSS</a>
+ to encode the latitude and longitude (see example response below <georss:point>).
+
+ @subsection exampleusage Example usage
+
+ @verbatim
+ curl http://identi.ca/api/statuses/friends_timeline/evan.xml?count=1&page=2
+ @endverbatim
+
+ @subsection exampleresponse Example response
+
+ @verbatim
+ <?xml version="1.0" encoding="UTF-8"?>
+ <statuses type="array">
+ <status>
+ <text>@skwashd oh, commbank reenabled me super quick both times. but disconcerting when you don't expect it though</text>
+ <truncated>false</truncated>
+ <created_at>Sat Apr 17 00:49:12 +0000 2010</created_at>
+ <in_reply_to_status_id>28838393</in_reply_to_status_id>
+ <source>xmpp</source>
+ <id>28838456</id>
+ <in_reply_to_user_id>39303</in_reply_to_user_id>
+ <in_reply_to_screen_name>skwashd</in_reply_to_screen_name>
+ <geo></geo>
+ <favorited>false</favorited>
+ <user>
+ <id>44517</id>
+ <name>joshua may</name>
+ <screen_name>notjosh</screen_name>
+ <location></location>
+ <description></description>
+ <profile_image_url>http://avatar.identi.ca/44517-48-20090321004106.jpeg</profile_image_url>
+ <url></url>
+ <protected>false</protected>
+ <followers_count>17</followers_count>
+ <profile_background_color></profile_background_color>
+ <profile_text_color></profile_text_color>
+ <profile_link_color></profile_link_color>
+ <profile_sidebar_fill_color></profile_sidebar_fill_color>
+ <profile_sidebar_border_color></profile_sidebar_border_color>
+ <friends_count>20</friends_count>
+ <created_at>Sat Mar 21 00:40:25 +0000 2009</created_at>
+ <favourites_count>0</favourites_count>
+ <utc_offset>0</utc_offset>
+ <time_zone>UTC</time_zone>
+ <profile_background_image_url></profile_background_image_url>
+ <profile_background_tile>false</profile_background_tile>
+ <statuses_count>100</statuses_count>
+ <following>false</following>
+ <notifications>false</notifications>
+ </user>
+ </status>
+ [....]
+ </statuses>
+@endverbatim
+*/
+
class ApiTimelinePublicAction extends ApiPrivateAuthAction
{
diff --git a/actions/block.php b/actions/block.php
index 7f609c253..11565e20c 100644
--- a/actions/block.php
+++ b/actions/block.php
@@ -140,8 +140,20 @@ class BlockAction extends ProfileFormAction
$this->hidden($k, $v);
}
}
- $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', _('Block this user'));
+ $this->submit('form_action-no',
+ // TRANS: Button label on the user block form.
+ _m('BUTTON','No'),
+ 'submit form_action-primary',
+ 'no',
+ // TRANS: Submit button title for 'No' when blocking a user.
+ _('Do not block this user'));
+ $this->submit('form_action-yes',
+ // TRANS: Button label on the user block form.
+ _m('BUTTON','Yes'),
+ 'submit form_action-secondary',
+ 'yes',
+ // TRANS: Submit button title for 'Yes' when blocking a user.
+ _('Block this user'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
diff --git a/actions/confirmaddress.php b/actions/confirmaddress.php
index dc17499f5..8bf8c8c4d 100644
--- a/actions/confirmaddress.php
+++ b/actions/confirmaddress.php
@@ -87,10 +87,12 @@ class ConfirmaddressAction extends Action
}
$type = $confirm->address_type;
if (!in_array($type, array('email', 'jabber', 'sms'))) {
+ // TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
$this->serverError(sprintf(_('Unrecognized address type %s.'), $type));
return;
}
if ($cur->$type == $confirm->address) {
+ // TRANS: Client error for an already confirmed email/jabbel/sms address.
$this->clientError(_('That address has already been confirmed.'));
return;
}
diff --git a/actions/deleteapplication.php b/actions/deleteapplication.php
index 17526e111..806de0be6 100644
--- a/actions/deleteapplication.php
+++ b/actions/deleteapplication.php
@@ -150,13 +150,17 @@ class DeleteapplicationAction extends Action
'This will clear all data about the application from the '.
'database, including all existing user connections.'));
$this->submit('form_action-no',
- _('No'),
+ // TRANS: Button label on the delete application form.
+ _m('BUTTON','No'),
'submit form_action-primary',
'no',
- _("Do not delete this application"));
+ // TRANS: Submit button title for 'No' when deleting an application.
+ _('Do not delete this application'));
$this->submit('form_action-yes',
- _('Yes'),
+ // TRANS: Button label on the delete application form.
+ _m('BUTTON','Yes'),
'submit form_action-secondary',
+ // TRANS: Submit button title for 'Yes' when deleting an application.
'yes', _('Delete this application'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
diff --git a/actions/deletenotice.php b/actions/deletenotice.php
index 69cb1ebe8..f8010a814 100644
--- a/actions/deletenotice.php
+++ b/actions/deletenotice.php
@@ -142,8 +142,20 @@ class DeletenoticeAction extends Action
$this->hidden('token', common_session_token());
$this->hidden('notice', $this->trimmed('notice'));
$this->element('p', null, _('Are you sure you want to delete this notice?'));
- $this->submit('form_action-no', _('No'), 'submit form_action-primary', 'no', _("Do not delete this notice"));
- $this->submit('form_action-yes', _('Yes'), 'submit form_action-secondary', 'yes', _('Delete this notice'));
+ $this->submit('form_action-no',
+ // TRANS: Button label on the delete notice form.
+ _m('BUTTON','No'),
+ 'submit form_action-primary',
+ 'no',
+ // TRANS: Submit button title for 'No' when deleting a notice.
+ _("Do not delete this notice"));
+ $this->submit('form_action-yes',
+ // TRANS: Button label on the delete notice form.
+ _m('BUTTON','Yes'),
+ 'submit form_action-secondary',
+ 'yes',
+ // TRANS: Submit button title for 'Yes' when deleting a notice.
+ _('Delete this notice'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
diff --git a/actions/deleteuser.php b/actions/deleteuser.php
index 42ef4b9f5..1c1f19b0e 100644
--- a/actions/deleteuser.php
+++ b/actions/deleteuser.php
@@ -147,8 +147,20 @@ class DeleteuserAction extends ProfileFormAction
}
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'));
+ $this->submit('form_action-no',
+ // TRANS: Button label on the delete user form.
+ _m('BUTTON','No'),
+ 'submit form_action-primary',
+ 'no',
+ // TRANS: Submit button title for 'No' when deleting a user.
+ _('Do not block this user'));
+ $this->submit('form_action-yes',
+ // TRANS: Button label on the delete user form.
+ _m('BUTTON','Yes'),
+ 'submit form_action-secondary',
+ 'yes',
+ // TRANS: Submit button title for 'Yes' when deleting a user.
+ _('Delete this user'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
diff --git a/actions/designadminpanel.php b/actions/designadminpanel.php
index 41d917e3c..8c08581b5 100644
--- a/actions/designadminpanel.php
+++ b/actions/designadminpanel.php
@@ -59,6 +59,7 @@ class DesignadminpanelAction extends AdminPanelAction
function title()
{
+ // TRANS: Message used as title for design settings for the site.
return _('Design');
}
@@ -454,6 +455,7 @@ class DesignAdminPanelForm extends AdminForm
$this->out->element('label', array('for' => 'design_background-image_on',
'class' => 'radio'),
+ // TRANS: Used as radio button label to add a background image.
_('On'));
$attrs = array('name' => 'design_background-image_onoff',
@@ -470,6 +472,7 @@ class DesignAdminPanelForm extends AdminForm
$this->out->element('label', array('for' => 'design_background-image_off',
'class' => 'radio'),
+ // TRANS: Used as radio button label to not add a background image.
_('Off'));
$this->out->element('p', 'form_guide', _('Turn background image on or off.'));
$this->unli();
diff --git a/actions/emailsettings.php b/actions/emailsettings.php
index 08608348c..6138a88f9 100644
--- a/actions/emailsettings.php
+++ b/actions/emailsettings.php
@@ -57,6 +57,7 @@ class EmailsettingsAction extends AccountSettingsAction
function title()
{
+ // TRANS: Title for e-mail settings.
return _('Email settings');
}
@@ -68,6 +69,10 @@ class EmailsettingsAction extends AccountSettingsAction
function getInstructions()
{
+ // XXX: For consistency of parameters in messages, this should be a
+ // regular parameters, replaced with sprintf().
+ // TRANS: E-mail settings page instructions.
+ // TRANS: %%site.name%% is the name of the site.
return _('Manage how you get email from %%site.name%%.');
}
@@ -97,102 +102,126 @@ class EmailsettingsAction extends AccountSettingsAction
common_local_url('emailsettings')));
$this->elementStart('fieldset');
$this->elementStart('fieldset', array('id' => 'settings_email_address'));
- $this->element('legend', null, _('Address'));
+ // TRANS: Form legend for e-mail settings form.
+ $this->element('legend', null, _('Email address'));
$this->hidden('token', common_session_token());
if ($user->email) {
$this->element('p', array('id' => 'form_confirmed'), $user->email);
+ // TRANS: Form note in e-mail settings form.
$this->element('p', array('class' => 'form_note'), _('Current confirmed email address.'));
$this->hidden('email', $user->email);
- $this->submit('remove', _('Remove'));
+ // TRANS: Button label to remove a confirmed e-mail address.
+ $this->submit('remove', _m('BUTTON','Remove'));
} else {
$confirm = $this->getConfirmation();
if ($confirm) {
$this->element('p', array('id' => 'form_unconfirmed'), $confirm->address);
+ // TRANS: Form note in e-mail settings form.
$this->element('p', array('class' => 'form_note'),
_('Awaiting confirmation on this address. '.
'Check your inbox (and spam box!) for a message '.
'with further instructions.'));
$this->hidden('email', $confirm->address);
- $this->submit('cancel', _('Cancel'));
+ // TRANS: Button label to cancel an e-mail address confirmation procedure.
+ $this->submit('cancel', _m('BUTTON','Cancel'));
} else {
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label for e-mail address input in e-mail settings form.
$this->input('email', _('Email address'),
($this->arg('email')) ? $this->arg('email') : null,
+ // TRANS: Instructions for e-mail address input form.
_('Email address, like "UserName@example.org"'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('add', _('Add'));
+ // TRANS: Button label for adding an e-mail address in e-mail settings form.
+ $this->submit('add', _m('BUTTON','Add'));
}
}
$this->elementEnd('fieldset');
if (common_config('emailpost', 'enabled') && $user->email) {
$this->elementStart('fieldset', array('id' => 'settings_email_incoming'));
+ // TRANS: Form legend for incoming e-mail settings form.
$this->element('legend', null, _('Incoming email'));
if ($user->incomingemail) {
$this->elementStart('p');
$this->element('span', 'address', $user->incomingemail);
+ // XXX: Looks a little awkward in the UI.
+ // Something like "xxxx@identi.ca Send email ..". Needs improvement.
$this->element('span', 'input_instructions',
+ // TRANS: Form instructions for incoming e-mail form in e-mail settings.
_('Send email to this address to post new notices.'));
$this->elementEnd('p');
- $this->submit('removeincoming', _('Remove'));
+ // TRANS: Button label for removing a set sender e-mail address to post notices from.
+ $this->submit('removeincoming', _m('BUTTON','Remove'));
}
$this->elementStart('p');
$this->element('span', 'input_instructions',
+ // TRANS: Instructions for incoming e-mail address input form.
_('Make a new email address for posting to; '.
'cancels the old one.'));
$this->elementEnd('p');
- $this->submit('newincoming', _('New'));
+ // TRANS: Button label for adding an e-mail address to send notices from.
+ $this->submit('newincoming', _m('BUTTON','New'));
$this->elementEnd('fieldset');
}
$this->elementStart('fieldset', array('id' => 'settings_email_preferences'));
- $this->element('legend', null, _('Preferences'));
+ // TRANS: Form legend for e-mail preferences form.
+ $this->element('legend', null, _('Email preferences'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->checkbox('emailnotifysub',
+ // TRANS: Checkbox label in e-mail preferences form.
_('Send me notices of new subscriptions through email.'),
$user->emailnotifysub);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('emailnotifyfav',
+ // TRANS: Checkbox label in e-mail preferences form.
_('Send me email when someone '.
'adds my notice as a favorite.'),
$user->emailnotifyfav);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('emailnotifymsg',
+ // TRANS: Checkbox label in e-mail preferences form.
_('Send me email when someone sends me a private message.'),
$user->emailnotifymsg);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('emailnotifyattn',
+ // TRANS: Checkbox label in e-mail preferences form.
_('Send me email when someone sends me an "@-reply".'),
$user->emailnotifyattn);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('emailnotifynudge',
+ // TRANS: Checkbox label in e-mail preferences form.
_('Allow friends to nudge me and send me an email.'),
$user->emailnotifynudge);
$this->elementEnd('li');
if (common_config('emailpost', 'enabled')) {
$this->elementStart('li');
$this->checkbox('emailpost',
+ // TRANS: Checkbox label in e-mail preferences form.
_('I want to post notices by email.'),
$user->emailpost);
$this->elementEnd('li');
}
$this->elementStart('li');
$this->checkbox('emailmicroid',
+ // TRANS: Checkbox label in e-mail preferences form.
_('Publish a MicroID for my email address.'),
$user->emailmicroid);
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('save', _('Save'));
+ // TRANS: Button label to save e-mail preferences.
+ $this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('fieldset');
$this->elementEnd('fieldset');
$this->elementEnd('form');
@@ -253,6 +282,7 @@ class EmailsettingsAction extends AccountSettingsAction
} else if ($this->arg('newincoming')) {
$this->newIncoming();
} else {
+ // TRANS: Message given submitting a form with an unknown action in e-mail settings.
$this->showForm(_('Unexpected form submission.'));
}
}
@@ -293,13 +323,15 @@ class EmailsettingsAction extends AccountSettingsAction
if ($result === false) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error updating e-mail preferences.
$this->serverError(_('Couldn\'t update user.'));
return;
}
$user->query('COMMIT');
- $this->showForm(_('Preferences saved.'), true);
+ // TRANS: Confirmation message for successful e-mail preferences save.
+ $this->showForm(_('Email preferences saved.'), true);
}
/**
@@ -317,6 +349,7 @@ class EmailsettingsAction extends AccountSettingsAction
// Some validation
if (!$email) {
+ // TRANS: Message given saving e-mail address without having provided one.
$this->showForm(_('No email address.'));
return;
}
@@ -324,16 +357,20 @@ class EmailsettingsAction extends AccountSettingsAction
$email = common_canonical_email($email);
if (!$email) {
+ // TRANS: Message given saving e-mail address that cannot be normalised.
$this->showForm(_('Cannot normalize that email address'));
return;
}
if (!Validate::email($email, common_config('email', 'check_domain'))) {
+ // TRANS: Message given saving e-mail address that not valid.
$this->showForm(_('Not a valid email address.'));
return;
} else if ($user->email == $email) {
+ // TRANS: Message given saving e-mail address that is already set.
$this->showForm(_('That is already your email address.'));
return;
} else if ($this->emailExists($email)) {
+ // TRANS: Message given saving e-mail address that is already set for another user.
$this->showForm(_('That email address already belongs '.
'to another user.'));
return;
@@ -350,12 +387,14 @@ class EmailsettingsAction extends AccountSettingsAction
if ($result === false) {
common_log_db_error($confirm, 'INSERT', __FILE__);
+ // TRANS: Server error thrown on database error adding e-mail confirmation code.
$this->serverError(_('Couldn\'t insert confirmation code.'));
return;
}
mail_confirm_address($user, $confirm->code, $user->nickname, $email);
+ // TRANS: Message given saving valid e-mail address that is to be confirmed.
$msg = _('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.');
@@ -376,11 +415,13 @@ class EmailsettingsAction extends AccountSettingsAction
$confirm = $this->getConfirmation();
if (!$confirm) {
+ // TRANS: Message given canceling e-mail address confirmation that is not pending.
$this->showForm(_('No pending confirmation to cancel.'));
return;
}
if ($confirm->address != $email) {
- $this->showForm(_('That is the wrong IM address.'));
+ // TRANS: Message given canceling e-mail address confirmation for the wrong e-mail address.
+ $this->showForm(_('That is the wrong email address.'));
return;
}
@@ -388,11 +429,13 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$result) {
common_log_db_error($confirm, 'DELETE', __FILE__);
+ // TRANS: Server error thrown on database error canceling e-mail address confirmation.
$this->serverError(_('Couldn\'t delete email confirmation.'));
return;
}
- $this->showForm(_('Confirmation cancelled.'), true);
+ // TRANS: Message given after successfully canceling e-mail address confirmation.
+ $this->showForm(_('Email confirmation cancelled.'), true);
}
/**
@@ -410,6 +453,8 @@ class EmailsettingsAction extends AccountSettingsAction
// Maybe an old tab open...?
if ($user->email != $email) {
+ // TRANS: Message given trying to remove an e-mail address that is not
+ // TRANS: registered for the active user.
$this->showForm(_('That is not your email address.'));
return;
}
@@ -424,12 +469,14 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$result) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error removing a registered e-mail address.
$this->serverError(_('Couldn\'t update user.'));
return;
}
$user->query('COMMIT');
- $this->showForm(_('The address was removed.'), true);
+ // TRANS: Message given after successfully removing a registered e-mail address.
+ $this->showForm(_('The email address was removed.'), true);
}
/**
@@ -453,9 +500,11 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error removing incoming e-mail address.
$this->serverError(_("Couldn't update user record."));
}
+ // TRANS: Message given after successfully removing an incoming e-mail address.
$this->showForm(_('Incoming email address removed.'), true);
}
@@ -475,9 +524,11 @@ class EmailsettingsAction extends AccountSettingsAction
if (!$user->updateKeys($orig)) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error adding incoming e-mail address.
$this->serverError(_("Couldn't update user record."));
}
+ // TRANS: Message given after successfully adding an incoming e-mail address.
$this->showForm(_('New incoming email address added.'), true);
}
diff --git a/actions/groupblock.php b/actions/groupblock.php
index fc95c0e66..e52db6e11 100644
--- a/actions/groupblock.php
+++ b/actions/groupblock.php
@@ -173,8 +173,20 @@ class GroupblockAction extends RedirectingAction
$this->hidden($k, $v);
}
}
- $this->submit('form_action-no', _('No'), 'submit form_action-primary', 'no', _("Do not block this user from this group"));
- $this->submit('form_action-yes', _('Yes'), 'submit form_action-secondary', 'yes', _('Block this user from this group'));
+ $this->submit('form_action-no',
+ // TRANS: Button label on the form to block a user from a group.
+ _m('BUTTON','No'),
+ 'submit form_action-primary',
+ 'no',
+ // TRANS: Submit button title for 'No' when blocking a user from a group.
+ _('Do not block this user from this group'));
+ $this->submit('form_action-yes',
+ // TRANS: Button label on the form to block a user from a group.
+ _m('BUTTON','Yes'),
+ 'submit form_action-secondary',
+ 'yes',
+ // TRANS: Submit button title for 'Yes' when blocking a user from a group.
+ _('Block this user from this group'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
diff --git a/actions/grouprss.php b/actions/grouprss.php
index 490f6f945..98fdea38d 100644
--- a/actions/grouprss.php
+++ b/actions/grouprss.php
@@ -135,8 +135,10 @@ class groupRssAction extends Rss10Action
$c = array('url' => common_local_url('grouprss',
array('nickname' =>
$group->nickname)),
+ // TRANS: Message is used as link title. %s is a user nickname.
'title' => sprintf(_('%s timeline'), $group->nickname),
'link' => common_local_url('showgroup', array('nickname' => $group->nickname)),
+ // TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
'description' => sprintf(_('Updates from members of %1$s on %2$s!'),
$group->nickname, common_config('site', 'name')));
return $c;
diff --git a/actions/imsettings.php b/actions/imsettings.php
index c3360fb12..6691c8dad 100644
--- a/actions/imsettings.php
+++ b/actions/imsettings.php
@@ -56,6 +56,7 @@ class ImsettingsAction extends ConnectSettingsAction
function title()
{
+ // TRANS: Title for instance messaging settings.
return _('IM settings');
}
@@ -67,6 +68,9 @@ class ImsettingsAction extends ConnectSettingsAction
function getInstructions()
{
+ // TRANS: Instant messaging settings page instructions.
+ // TRANS: [instant messages] is link text, "(%%doc.im%%)" is the link.
+ // TRANS: the order and formatting of link text and link should remain unchanged.
return _('You can send and receive notices through '.
'Jabber/GTalk [instant messages](%%doc.im%%). '.
'Configure your address and settings below.');
@@ -86,6 +90,7 @@ class ImsettingsAction extends ConnectSettingsAction
{
if (!common_config('xmpp', 'enabled')) {
$this->element('div', array('class' => 'error'),
+ // TRANS: Message given in the IM settings if XMPP is not enabled on the site.
_('IM is not available.'));
return;
}
@@ -97,32 +102,41 @@ class ImsettingsAction extends ConnectSettingsAction
'action' =>
common_local_url('imsettings')));
$this->elementStart('fieldset', array('id' => 'settings_im_address'));
- $this->element('legend', null, _('Address'));
+ // TRANS: Form legend for IM settings form.
+ $this->element('legend', null, _('IM address'));
$this->hidden('token', common_session_token());
if ($user->jabber) {
$this->element('p', 'form_confirmed', $user->jabber);
+ // TRANS: Form note in IM settings form.
$this->element('p', 'form_note',
_('Current confirmed Jabber/GTalk address.'));
$this->hidden('jabber', $user->jabber);
- $this->submit('remove', _('Remove'));
+ // TRANS: Button label to remove a confirmed IM address.
+ $this->submit('remove', _m('BUTTON','Remove'));
} else {
$confirm = $this->getConfirmation();
if ($confirm) {
$this->element('p', 'form_unconfirmed', $confirm->address);
$this->element('p', 'form_note',
+ // TRANS: Form note in IM settings form.
+ // TRANS: %s is the IM address set for the site.
sprintf(_('Awaiting confirmation on this address. '.
'Check your Jabber/GTalk account for a '.
'message with further instructions. '.
'(Did you add %s to your buddy list?)'),
jabber_daemon_address()));
$this->hidden('jabber', $confirm->address);
- $this->submit('cancel', _('Cancel'));
+ // TRANS: Button label to cancel an IM address confirmation procedure.
+ $this->submit('cancel', _m('BUTTON','Cancel'));
} else {
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label for IM address input in IM settings form.
$this->input('jabber', _('IM address'),
($this->arg('jabber')) ? $this->arg('jabber') : null,
+ // TRANS: IM address input field instructions in IM settings form.
+ // TRANS: %s is the IM address set for the site.
sprintf(_('Jabber or GTalk address, '.
'like "UserName@example.org". '.
'First, make sure to add %s to your '.
@@ -130,37 +144,44 @@ class ImsettingsAction extends ConnectSettingsAction
jabber_daemon_address()));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('add', _('Add'));
+ // TRANS: Button label for adding an IM address in IM settings form.
+ $this->submit('add', _m('BUTTON','Add'));
}
}
$this->elementEnd('fieldset');
$this->elementStart('fieldset', array('id' => 'settings_im_preferences'));
- $this->element('legend', null, _('Preferences'));
+ // TRANS: Form legend for IM preferences form.
+ $this->element('legend', null, _('IM preferences'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->checkbox('jabbernotify',
+ // TRANS: Checkbox label in IM preferences form.
_('Send me notices through Jabber/GTalk.'),
$user->jabbernotify);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('updatefrompresence',
+ // TRANS: Checkbox label in IM preferences form.
_('Post a notice when my Jabber/GTalk status changes.'),
$user->updatefrompresence);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('jabberreplies',
+ // TRANS: Checkbox label in IM preferences form.
_('Send me replies through Jabber/GTalk '.
'from people I\'m not subscribed to.'),
$user->jabberreplies);
$this->elementEnd('li');
$this->elementStart('li');
$this->checkbox('jabbermicroid',
+ // TRANS: Checkbox label in IM preferences form.
_('Publish a MicroID for my Jabber/GTalk address.'),
$user->jabbermicroid);
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('save', _('Save'));
+ // TRANS: Button label to save IM preferences.
+ $this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
@@ -217,6 +238,7 @@ class ImsettingsAction extends ConnectSettingsAction
} else if ($this->arg('remove')) {
$this->removeAddress();
} else {
+ // TRANS: Message given submitting a form with an unknown action in IM settings.
$this->showForm(_('Unexpected form submission.'));
}
}
@@ -232,7 +254,6 @@ class ImsettingsAction extends ConnectSettingsAction
function savePreferences()
{
-
$jabbernotify = $this->boolean('jabbernotify');
$updatefrompresence = $this->boolean('updatefrompresence');
$jabberreplies = $this->boolean('jabberreplies');
@@ -255,12 +276,14 @@ class ImsettingsAction extends ConnectSettingsAction
if ($result === false) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error updating IM preferences.
$this->serverError(_('Couldn\'t update user.'));
return;
}
$user->query('COMMIT');
+ // TRANS: Confirmation message for successful IM preferences save.
$this->showForm(_('Preferences saved.'), true);
}
@@ -282,6 +305,7 @@ class ImsettingsAction extends ConnectSettingsAction
// Some validation
if (!$jabber) {
+ // TRANS: Message given saving IM address without having provided one.
$this->showForm(_('No Jabber ID.'));
return;
}
@@ -289,16 +313,20 @@ class ImsettingsAction extends ConnectSettingsAction
$jabber = jabber_normalize_jid($jabber);
if (!$jabber) {
+ // TRANS: Message given saving IM address that cannot be normalised.
$this->showForm(_('Cannot normalize that Jabber ID'));
return;
}
if (!jabber_valid_base_jid($jabber, common_config('email', 'domain_check'))) {
+ // TRANS: Message given saving IM address that not valid.
$this->showForm(_('Not a valid Jabber ID'));
return;
} else if ($user->jabber == $jabber) {
+ // TRANS: Message given saving IM address that is already set.
$this->showForm(_('That is already your Jabber ID.'));
return;
} else if ($this->jabberExists($jabber)) {
+ // TRANS: Message given saving IM address that is already set for another user.
$this->showForm(_('Jabber ID already belongs to another user.'));
return;
}
@@ -316,6 +344,7 @@ class ImsettingsAction extends ConnectSettingsAction
if ($result === false) {
common_log_db_error($confirm, 'INSERT', __FILE__);
+ // TRANS: Server error thrown on database error adding IM confirmation code.
$this->serverError(_('Couldn\'t insert confirmation code.'));
return;
}
@@ -324,6 +353,8 @@ class ImsettingsAction extends ConnectSettingsAction
$user->nickname,
$jabber);
+ // TRANS: Message given saving valid IM address that is to be confirmed.
+ // TRANS: %s is the IM address set for the site.
$msg = sprintf(_('A confirmation code was sent '.
'to the IM address you added. '.
'You must approve %s for '.
@@ -348,10 +379,12 @@ class ImsettingsAction extends ConnectSettingsAction
$confirm = $this->getConfirmation();
if (!$confirm) {
+ // TRANS: Message given canceling IM address confirmation that is not pending.
$this->showForm(_('No pending confirmation to cancel.'));
return;
}
if ($confirm->address != $jabber) {
+ // TRANS: Message given canceling IM address confirmation for the wrong IM address.
$this->showForm(_('That is the wrong IM address.'));
return;
}
@@ -360,11 +393,13 @@ class ImsettingsAction extends ConnectSettingsAction
if (!$result) {
common_log_db_error($confirm, 'DELETE', __FILE__);
- $this->serverError(_('Couldn\'t delete email confirmation.'));
+ // TRANS: Server error thrown on database error canceling IM address confirmation.
+ $this->serverError(_('Couldn\'t delete IM confirmation.'));
return;
}
- $this->showForm(_('Confirmation cancelled.'), true);
+ // TRANS: Message given after successfully canceling IM address confirmation.
+ $this->showForm(_('IM confirmation cancelled.'), true);
}
/**
@@ -384,6 +419,8 @@ class ImsettingsAction extends ConnectSettingsAction
// Maybe an old tab open...?
if ($user->jabber != $jabber) {
+ // TRANS: Message given trying to remove an IM address that is not
+ // TRANS: registered for the active user.
$this->showForm(_('That is not your Jabber ID.'));
return;
}
@@ -398,6 +435,7 @@ class ImsettingsAction extends ConnectSettingsAction
if (!$result) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error removing a registered IM address.
$this->serverError(_('Couldn\'t update user.'));
return;
}
@@ -405,7 +443,8 @@ class ImsettingsAction extends ConnectSettingsAction
// XXX: unsubscribe to the old address
- $this->showForm(_('The address was removed.'), true);
+ // TRANS: Message given after successfully removing a registered IM address.
+ $this->showForm(_('The IM address was removed.'), true);
}
/**
diff --git a/actions/invite.php b/actions/invite.php
index 5dac048b0..4bba8893d 100644
--- a/actions/invite.php
+++ b/actions/invite.php
@@ -224,8 +224,10 @@ class InviteAction extends CurrentUserDesignAction
$headers['From'] = mail_notify_from();
$headers['To'] = trim($email);
+ // TRANS: Subject for invitation email. Note that 'them' is correct as a gender-neutral singular 3rd-person pronoun in English.
$headers['Subject'] = sprintf(_('%1$s has invited you to join them on %2$s'), $bestname, $sitename);
+ // TRANS: Body text for invitation email. Note that 'them' is correct as a gender-neutral singular 3rd-person pronoun in English.
$body = sprintf(_("%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. ".
diff --git a/actions/register.php b/actions/register.php
index 2fc7ef921..7307bc689 100644
--- a/actions/register.php
+++ b/actions/register.php
@@ -348,7 +348,7 @@ class RegisterAction extends Action
} else {
$instr =
common_markup_to_html(_('With this form you can create '.
- ' a new account. ' .
+ 'a new account. ' .
'You can then post notices and '.
'link up to friends and colleagues. '));
diff --git a/actions/shownotice.php b/actions/shownotice.php
index 7be9618f8..9c5d83441 100644
--- a/actions/shownotice.php
+++ b/actions/shownotice.php
@@ -167,7 +167,7 @@ class ShownoticeAction extends OwnerDesignAction
function title()
{
if (!empty($this->profile->fullname)) {
- $base = $this->profile->fullname . ' (' . $this->profile->nickname . ') ';
+ $base = $this->profile->fullname . ' (' . $this->profile->nickname . ')';
} else {
$base = $this->profile->nickname;
}
diff --git a/actions/smssettings.php b/actions/smssettings.php
index 751495d57..6af1872a0 100644
--- a/actions/smssettings.php
+++ b/actions/smssettings.php
@@ -55,6 +55,7 @@ class SmssettingsAction extends ConnectSettingsAction
function title()
{
+ // TRANS: Title for SMS settings.
return _('SMS settings');
}
@@ -66,6 +67,10 @@ class SmssettingsAction extends ConnectSettingsAction
function getInstructions()
{
+ // XXX: For consistency of parameters in messages, this should be a
+ // regular parameters, replaced with sprintf().
+ // TRANS: SMS settings page instructions.
+ // TRANS: %%site.name%% is the name of the site.
return _('You can receive SMS messages through email from %%site.name%%.');
}
@@ -88,6 +93,7 @@ class SmssettingsAction extends ConnectSettingsAction
{
if (!common_config('sms', 'enabled')) {
$this->element('div', array('class' => 'error'),
+ // TRANS: Message given in the SMS settings if SMS is not enabled on the site.
_('SMS is not available.'));
return;
}
@@ -101,7 +107,8 @@ class SmssettingsAction extends ConnectSettingsAction
common_local_url('smssettings')));
$this->elementStart('fieldset', array('id' => 'settings_sms_address'));
- $this->element('legend', null, _('Address'));
+ // TRANS: Form legend for SMS settings form.
+ $this->element('legend', null, _('SMS address'));
$this->hidden('token', common_session_token());
if ($user->sms) {
@@ -109,10 +116,12 @@ class SmssettingsAction extends ConnectSettingsAction
$this->element('p', 'form_confirmed',
$user->sms . ' (' . $carrier->name . ')');
$this->element('p', 'form_guide',
+ // TRANS: Form guide in SMS settings form.
_('Current confirmed SMS-enabled phone number.'));
$this->hidden('sms', $user->sms);
$this->hidden('carrier', $user->carrier);
- $this->submit('remove', _('Remove'));
+ // TRANS: Button label to remove a confirmed SMS address.
+ $this->submit('remove', _m('BUTTON','Remove'));
} else {
$confirm = $this->getConfirmation();
if ($confirm) {
@@ -120,57 +129,75 @@ class SmssettingsAction extends ConnectSettingsAction
$this->element('p', 'form_unconfirmed',
$confirm->address . ' (' . $carrier->name . ')');
$this->element('p', 'form_guide',
+ // TRANS: Form guide in IM settings form.
_('Awaiting confirmation on this phone number.'));
$this->hidden('sms', $confirm->address);
$this->hidden('carrier', $confirm->address_extra);
- $this->submit('cancel', _('Cancel'));
+ // TRANS: Button label to cancel a SMS address confirmation procedure.
+ $this->submit('cancel', _m('BUTTON','Cancel'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label for SMS address input in SMS settings form.
$this->input('code', _('Confirmation code'), null,
+ // TRANS: Form field instructions in SMS settings form.
_('Enter the code you received on your phone.'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('confirm', _('Confirm'));
+ // TRANS: Button label to confirm SMS confirmation code in SMS settings.
+ $this->submit('confirm', _m('BUTTON','Confirm'));
} else {
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label for SMS phone number input in SMS settings form.
$this->input('sms', _('SMS phone number'),
($this->arg('sms')) ? $this->arg('sms') : null,
+ // TRANS: SMS phone number input field instructions in SMS settings form.
_('Phone number, no punctuation or spaces, '.
'with area code'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->carrierSelect();
- $this->submit('add', _('Add'));
+ // TRANS: Button label for adding a SMS phone number in SMS settings form.
+ $this->submit('add', _m('BUTTON','Add'));
}
}
$this->elementEnd('fieldset');
if ($user->sms) {
$this->elementStart('fieldset', array('id' => 'settings_sms_incoming_email'));
+ // XXX: Confused! This is about SMS. Should this message be updated?
+ // TRANS: Form legend for incoming SMS settings form.
$this->element('legend', null, _('Incoming email'));
if ($user->incomingemail) {
$this->element('p', 'form_unconfirmed', $user->incomingemail);
$this->element('p', 'form_note',
+ // XXX: Confused! This is about SMS. Should this message be updated?
+ // TRANS: Form instructions for incoming SMS e-mail address form in SMS settings.
_('Send email to this address to post new notices.'));
- $this->submit('removeincoming', _('Remove'));
+ // TRANS: Button label for removing a set sender SMS e-mail address to post notices from.
+ $this->submit('removeincoming', _m('BUTTON','Remove'));
}
$this->element('p', 'form_guide',
+ // XXX: Confused! This is about SMS. Should this message be updated?
+ // TRANS: Instructions for incoming SMS e-mail address input form.
_('Make a new email address for posting to; '.
'cancels the old one.'));
- $this->submit('newincoming', _('New'));
+ // TRANS: Button label for adding an SMS e-mail address to send notices from.
+ $this->submit('newincoming', _m('BUTTON','New'));
$this->elementEnd('fieldset');
}
$this->elementStart('fieldset', array('id' => 'settings_sms_preferences'));
- $this->element('legend', null, _('Preferences'));
+ // TRANS: Form legend for SMS preferences form.
+ $this->element('legend', null, _('SMS preferences'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->checkbox('smsnotify',
+ // TRANS: Checkbox label in SMS preferences form.
_('Send me notices through SMS; '.
'I understand I may incur '.
'exorbitant charges from my carrier.'),
@@ -178,7 +205,8 @@ class SmssettingsAction extends ConnectSettingsAction
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('save', _('Save'));
+ // TRANS: Button label to save SMS preferences.
+ $this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
@@ -245,6 +273,7 @@ class SmssettingsAction extends ConnectSettingsAction
} else if ($this->arg('confirm')) {
$this->confirmCode();
} else {
+ // TRANS: Message given submitting a form with an unknown action in SMS settings.
$this->showForm(_('Unexpected form submission.'));
}
}
@@ -275,13 +304,15 @@ class SmssettingsAction extends ConnectSettingsAction
if ($result === false) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error updating SMS preferences.
$this->serverError(_('Couldn\'t update user.'));
return;
}
$user->query('COMMIT');
- $this->showForm(_('Preferences saved.'), true);
+ // TRANS: Confirmation message for successful SMS preferences save.
+ $this->showForm(_('SMS preferences saved.'), true);
}
/**
@@ -303,11 +334,13 @@ class SmssettingsAction extends ConnectSettingsAction
// Some validation
if (!$sms) {
+ // TRANS: Message given saving SMS phone number without having provided one.
$this->showForm(_('No phone number.'));
return;
}
if (!$carrier_id) {
+ // TRANS: Message given saving SMS phone number without having selected a carrier.
$this->showForm(_('No carrier selected.'));
return;
}
@@ -315,9 +348,11 @@ class SmssettingsAction extends ConnectSettingsAction
$sms = common_canonical_sms($sms);
if ($user->sms == $sms) {
+ // TRANS: Message given saving SMS phone number that is already set.
$this->showForm(_('That is already your phone number.'));
return;
} else if ($this->smsExists($sms)) {
+ // TRANS: Message given saving SMS phone number that is already set for another user.
$this->showForm(_('That phone number already belongs to another user.'));
return;
}
@@ -334,6 +369,7 @@ class SmssettingsAction extends ConnectSettingsAction
if ($result === false) {
common_log_db_error($confirm, 'INSERT', __FILE__);
+ // TRANS: Server error thrown on database error adding SMS confirmation code.
$this->serverError(_('Couldn\'t insert confirmation code.'));
return;
}
@@ -344,6 +380,7 @@ class SmssettingsAction extends ConnectSettingsAction
$user->nickname,
$carrier->toEmailAddress($sms));
+ // TRANS: Message given saving valid SMS phone number that is to be confirmed.
$msg = _('A confirmation code was sent to the phone number you added. '.
'Check your phone for the code and instructions '.
'on how to use it.');
@@ -367,10 +404,12 @@ class SmssettingsAction extends ConnectSettingsAction
$confirm = $this->getConfirmation();
if (!$confirm) {
+ // TRANS: Message given canceling SMS phone number confirmation that is not pending.
$this->showForm(_('No pending confirmation to cancel.'));
return;
}
if ($confirm->address != $sms) {
+ // TRANS: Message given canceling SMS phone number confirmation for the wrong phone number.
$this->showForm(_('That is the wrong confirmation number.'));
return;
}
@@ -379,11 +418,13 @@ class SmssettingsAction extends ConnectSettingsAction
if (!$result) {
common_log_db_error($confirm, 'DELETE', __FILE__);
+ // TRANS: Server error thrown on database error canceling SMS phone number confirmation.
$this->serverError(_('Couldn\'t delete email confirmation.'));
return;
}
- $this->showForm(_('Confirmation cancelled.'), true);
+ // TRANS: Message given after successfully canceling SMS phone number confirmation.
+ $this->showForm(_('SMS confirmation cancelled.'), true);
}
/**
@@ -402,6 +443,8 @@ class SmssettingsAction extends ConnectSettingsAction
// Maybe an old tab open...?
if ($user->sms != $sms) {
+ // TRANS: Message given trying to remove an SMS phone number that is not
+ // TRANS: registered for the active user.
$this->showForm(_('That is not your phone number.'));
return;
}
@@ -417,12 +460,14 @@ class SmssettingsAction extends ConnectSettingsAction
$result = $user->updateKeys($original);
if (!$result) {
common_log_db_error($user, 'UPDATE', __FILE__);
+ // TRANS: Server error thrown on database error removing a registered SMS phone number.
$this->serverError(_('Couldn\'t update user.'));
return;
}
$user->query('COMMIT');
- $this->showForm(_('The address was removed.'), true);
+ // TRANS: Message given after successfully removing a registered SMS phone number.
+ $this->showForm(_('The SMS phone number was removed.'), true);
}
/**
@@ -462,10 +507,12 @@ class SmssettingsAction extends ConnectSettingsAction
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Label for mobile carrier dropdown menu in SMS settings.
$this->element('label', array('for' => 'carrier'), _('Mobile carrier'));
$this->elementStart('select', array('name' => 'carrier',
'id' => 'carrier'));
$this->element('option', array('value' => 0),
+ // TRANS: Default option for mobile carrier dropdown menu in SMS settings.
_('Select a carrier'));
while ($carrier->fetch()) {
$this->element('option', array('value' => $carrier->id),
@@ -473,6 +520,8 @@ class SmssettingsAction extends ConnectSettingsAction
}
$this->elementEnd('select');
$this->element('p', 'form_guide',
+ // TRANS: Form instructions for mobile carrier dropdown menu in SMS settings.
+ // TRANS: %s is an administrative contact's e-mail address.
sprintf(_('Mobile carrier for your phone. '.
'If you know a carrier that accepts ' .
'SMS over email but isn\'t listed here, ' .
@@ -495,6 +544,7 @@ class SmssettingsAction extends ConnectSettingsAction
$code = $this->trimmed('code');
if (!$code) {
+ // TRANS: Message given saving SMS phone number confirmation code without having provided one.
$this->showForm(_('No code entered'));
return;
}
diff --git a/actions/snapshotadminpanel.php b/actions/snapshotadminpanel.php
index df6b168dc..be0a793e5 100644
--- a/actions/snapshotadminpanel.php
+++ b/actions/snapshotadminpanel.php
@@ -197,7 +197,7 @@ class SnapshotAdminPanelForm extends AdminForm
$this->out->elementStart('ul', 'form_data');
$this->li();
$snapshot = array(
- 'web' => _('Randomly during Web hit'),
+ 'web' => _('Randomly during web hit'),
'cron' => _('In a scheduled job'),
'never' => _('Never')
);
diff --git a/actions/tag.php b/actions/tag.php
index 953240404..7c6f99d92 100644
--- a/actions/tag.php
+++ b/actions/tag.php
@@ -102,12 +102,17 @@ class TagAction extends Action
function showContent()
{
- $nl = new NoticeList($this->notice, $this);
+ if(Event::handle('StartTagShowContent', array($this))) {
+
+ $nl = new NoticeList($this->notice, $this);
- $cnt = $nl->show();
+ $cnt = $nl->show();
- $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
- $this->page, 'tag', array('tag' => $this->tag));
+ $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
+ $this->page, 'tag', array('tag' => $this->tag));
+
+ Event::handle('EndTagShowContent', array($this));
+ }
}
function isReadOnly($args)
diff --git a/actions/usergroups.php b/actions/usergroups.php
index 29bda0a76..6606e76cd 100644
--- a/actions/usergroups.php
+++ b/actions/usergroups.php
@@ -59,8 +59,10 @@ class UsergroupsAction extends OwnerDesignAction
function title()
{
if ($this->page == 1) {
+ // TRANS: Message is used as a page title. %s is a nick name.
return sprintf(_('%s groups'), $this->user->nickname);
} else {
+ // TRANS: Message is used as a page title. %1$s is a nick name, %2$d is a page number.
return sprintf(_('%1$s groups, page %2$d'),
$this->user->nickname,
$this->page);
diff --git a/actions/userrss.php b/actions/userrss.php
index cf7d18ca8..b7078fcaf 100644
--- a/actions/userrss.php
+++ b/actions/userrss.php
@@ -72,7 +72,7 @@ class UserrssAction extends Rss10Action
{
$notice = $this->user->getNotices(
0,
- ($limit == 0) ? NOTICES_PER_PAGE : $limit
+ ($this->limit == 0) ? NOTICES_PER_PAGE : $this->limit
);
$notices = array();
@@ -90,8 +90,10 @@ class UserrssAction extends Rss10Action
$c = array('url' => common_local_url('userrss',
array('nickname' =>
$user->nickname)),
+ // TRANS: Message is used as link title. %s is a user nickname.
'title' => sprintf(_('%s timeline'), $user->nickname),
'link' => $profile->profileurl,
+ // TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
'description' => sprintf(_('Updates from %1$s on %2$s!'),
$user->nickname, common_config('site', 'name')));
return $c;
diff --git a/classes/File.php b/classes/File.php
index 33273bbdc..c9477f5f1 100644
--- a/classes/File.php
+++ b/classes/File.php
@@ -286,7 +286,9 @@ class File extends Memcached_DataObject
if(! isset($this->filename)){
$notEnclosureMimeTypes = array(null,'text/html','application/xhtml+xml');
- $mimetype = strtolower($this->mimetype);
+ if($mimetype != null){
+ $mimetype = strtolower($this->mimetype);
+ }
$semicolon = strpos($mimetype,';');
if($semicolon){
$mimetype = substr($mimetype,0,$semicolon);
diff --git a/classes/Notice.php b/classes/Notice.php
index e173a2469..7c3b5b519 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -172,7 +172,8 @@ class Notice extends Memcached_DataObject
$id = $tag->insert();
if (!$id) {
- throw new ServerException(sprintf(_('DB error inserting hashtag: %s'),
+ // TRANS: Server exception. %s are the error details.
+ throw new ServerException(sprintf(_('Database error inserting hashtag: %s'),
$last_error->message));
return;
}
@@ -1546,6 +1547,8 @@ class Notice extends Memcached_DataObject
{
$author = Profile::staticGet('id', $this->profile_id);
+ // TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+ // TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
$content = sprintf(_('RT @%1$s %2$s'),
$author->nickname,
$this->content);
diff --git a/classes/Safe_DataObject.php b/classes/Safe_DataObject.php
index 08bc6846f..e926cb0d5 100644
--- a/classes/Safe_DataObject.php
+++ b/classes/Safe_DataObject.php
@@ -96,6 +96,30 @@ class Safe_DataObject extends DB_DataObject
$this->_link_loaded = false;
}
+ /**
+ * Magic function called when someone attempts to call a method
+ * that doesn't exist. DB_DataObject uses this to implement
+ * setters and getters for fields, but neglects to throw an error
+ * when you just misspell an actual method name. This leads to
+ * silent failures which can cause all kinds of havoc.
+ *
+ * @param string $method
+ * @param array $params
+ * @return mixed
+ * @throws Exception
+ */
+ function __call($method, $params)
+ {
+ $return = null;
+ // Yes, that's _call with one underscore, which does the
+ // actual implementation.
+ if ($this->_call($method, $params, $return)) {
+ return $return;
+ } else {
+ throw new Exception('Call to undefined method ' .
+ get_class($this) . '::' . $method);
+ }
+ }
/**
* Work around memory-leak bugs...
diff --git a/classes/Subscription.php b/classes/Subscription.php
index 60c12cccc..0679c0925 100644
--- a/classes/Subscription.php
+++ b/classes/Subscription.php
@@ -88,8 +88,8 @@ class Subscription extends Memcached_DataObject
self::blow('user:notices_with_friends:%d', $subscriber->id);
- $subscriber->blowSubscriptionsCount();
- $other->blowSubscribersCount();
+ $subscriber->blowSubscriptionCount();
+ $other->blowSubscriberCount();
$otherUser = User::staticGet('id', $other->id);
@@ -213,8 +213,8 @@ class Subscription extends Memcached_DataObject
self::blow('user:notices_with_friends:%d', $subscriber->id);
- $subscriber->blowSubscriptionsCount();
- $other->blowSubscribersCount();
+ $subscriber->blowSubscriptionCount();
+ $other->blowSubscriberCount();
Event::handle('EndUnsubscribe', array($subscriber, $other));
}
diff --git a/config.php.sample b/config.php.sample
index 20de7ffed..5481ca539 100644
--- a/config.php.sample
+++ b/config.php.sample
@@ -45,7 +45,7 @@ $config['site']['path'] = 'statusnet';
// lighttpd, nginx), you can enable X-Sendfile support for better
// performance. Presently, only attachment serving when the site is
// in private mode will use X-Sendfile.
-// $config['site']['X-Sendfile'] = false;
+// $config['site']['use_x_sendfile'] = false;
// You may also need to enable X-Sendfile support for your web server and
// allow it to access files outside of the web root. For Apache with
// mod_xsendfile, you can add these to your .htaccess or server config:
diff --git a/db/statusnet_pg.sql b/db/statusnet_pg.sql
index 998cc71e9..9f97566a9 100644
--- a/db/statusnet_pg.sql
+++ b/db/statusnet_pg.sql
@@ -8,6 +8,10 @@ create table profile (
homepage varchar(255) /* comment 'identifying URL' */,
bio varchar(140) /* comment 'descriptive biography' */,
location varchar(255) /* comment 'physical location' */,
+ lat decimal(10,7) /* comment 'latitude'*/ ,
+ lon decimal(10,7) /* comment 'longitude'*/ ,
+ location_id integer /* comment 'location id if possible'*/ ,
+ location_ns integer /* comment 'namespace for location'*/ ,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */,
@@ -132,6 +136,7 @@ create table notice (
is_local integer default 0 /* comment 'notice was generated by a user' */,
source varchar(32) /* comment 'source of comment, like "web", "im", or "clientname"' */,
conversation integer /*id of root notice in this conversation' */ references notice (id),
+ location varchar(255) /* comment 'physical location' */,
lat decimal(10,7) /* comment 'latitude'*/ ,
lon decimal(10,7) /* comment 'longitude'*/ ,
location_id integer /* comment 'location id if possible'*/ ,
@@ -213,17 +218,33 @@ create table nonce (
primary key (consumer_key, ts, nonce)
);
-/* One-to-many relationship of user to openid_url */
-
-create table user_openid (
- canonical varchar(255) primary key /* comment 'Canonical true URL' */,
- display varchar(255) not null unique /* comment 'URL for viewing, may be different from canonical' */,
- user_id integer not null /* comment 'user owning this URL' */ references "user" (id) ,
+create sequence oauth_application_seq;
+create table oauth_application (
+ id bigint default nextval('oauth_application_seq') primary key /* comment 'unique identifier' */,
+ owner integer not null /* comment 'owner of the application' */ references profile (id),
+ consumer_key varchar(255) not null /* comment 'application consumer key' */ references consumer (consumer_key),
+ name varchar(255) unique not null /* comment 'name of the application' */,
+ description varchar(255) /* comment 'description of the application' */,
+ icon varchar(255) not null /* comment 'application icon' */,
+ source_url varchar(255) /* comment 'application homepage - used for source link' */,
+ organization varchar(255) /* comment 'name of the organization running the application' */,
+ homepage varchar(255) /* comment 'homepage for the organization' */,
+ callback_url varchar(255) /* comment 'url to redirect to after authentication' */,
+ "type" integer default 0 /* comment 'type of app, 1 = browser, 2 = desktop' */,
+ access_type integer default 0 /* comment 'default access type, bit 1 = read, bit 2 = write' */,
created timestamp not null default CURRENT_TIMESTAMP /* comment 'date this record was created' */,
modified timestamp /* comment 'date this record was modified' */
+);
+create table oauth_application_user (
+ profile_id integer not null /* 'user of the application' */ references profile (id),
+ application_id integer not null /* 'id of the application' */ references oauth_application (id),
+ access_type integer default 0 /* 'access type, bit 1 = read, bit 2 = write' */,
+ token varchar(255) /* 'request or access token' */,
+ created timestamp not null default CURRENT_TIMESTAMP /* 'date this record was created' */,
+ modified timestamp /* 'date this record was modified' */,
+ primary key (profile_id, application_id)
);
-create index user_openid_user_id_idx on user_openid using btree(user_id);
/* These are used by JanRain OpenID library */
@@ -589,3 +610,39 @@ create table login_token (
primary key (user_id)
);
+create table user_location_prefs (
+ user_id integer not null /* comment 'user who has the preference' */ references "user" (id),
+ share_location integer default 1 /* comment 'Whether to share location data' */,
+ created timestamp not null DEFAULT CURRENT_TIMESTAMP /* comment 'date this record was created' */,
+ modified timestamp /* comment 'date this record was modified' */,
+
+ primary key (user_id)
+);
+
+create table inbox (
+
+ user_id integer not null /* comment 'user receiving the notice' */ references "user" (id),
+ notice_ids bytea /* comment 'packed list of notice ids' */,
+
+ primary key (user_id)
+
+);
+
+create sequence conversation_seq;
+create table conversation (
+ id bigint default nextval('conversation_seq') primary key /* comment 'unique identifier' */,
+ uri varchar(225) unique /* comment 'URI of the conversation' */,
+ created timestamp not null DEFAULT CURRENT_TIMESTAMP /* comment 'date this record was created' */,
+ modified timestamp /* comment 'date this record was modified' */
+);
+
+create table local_group (
+
+ group_id integer primary key /* comment 'group represented' */ references user_group (id),
+ nickname varchar(64) unique /* comment 'group represented' */,
+
+ created timestamp not null DEFAULT CURRENT_TIMESTAMP /* comment 'date this record was created' */,
+ modified timestamp /* comment 'date this record was modified' */
+
+);
+
diff --git a/index.php b/index.php
index 3778ffe42..fa9f67269 100644
--- a/index.php
+++ b/index.php
@@ -185,7 +185,7 @@ function checkMirror($action_obj, $args)
function isLoginAction($action)
{
- static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds', 'otp', 'rsd');
+ static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds', 'otp', 'opensearch', 'rsd');
$login = null;
diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php
index c79a1f5d7..57740f8b8 100644
--- a/lib/accountsettingsaction.php
+++ b/lib/accountsettingsaction.php
@@ -105,27 +105,45 @@ class AccountSettingsNav extends Widget
$user = common_current_user();
if(Event::handle('StartAccountSettingsProfileMenuItem', array($this, &$menu))){
- $this->showMenuItem('profilesettings',_('Profile'),_('Change your profile settings'));
+ // TRANS: Link title attribute in user account settings menu.
+ $title = _('Change your profile settings');
+ // TRANS: Link description in user account settings menu.
+ $this->showMenuItem('profilesettings',_('Profile'),$title);
Event::handle('EndAccountSettingsProfileMenuItem', array($this, &$menu));
}
if(Event::handle('StartAccountSettingsAvatarMenuItem', array($this, &$menu))){
- $this->showMenuItem('avatarsettings',_('Avatar'),_('Upload an avatar'));
+ // TRANS: Link title attribute in user account settings menu.
+ $title = _('Upload an avatar');
+ // TRANS: Link description in user account settings menu.
+ $this->showMenuItem('avatarsettings',_('Avatar'),$title);
Event::handle('EndAccountSettingsAvatarMenuItem', array($this, &$menu));
}
if(Event::handle('StartAccountSettingsPasswordMenuItem', array($this, &$menu))){
- $this->showMenuItem('passwordsettings',_('Password'),_('Change your password'));
+ // TRANS: Link title attribute in user account settings menu.
+ $title = _('Change your password');
+ // TRANS: Link description in user account settings menu.
+ $this->showMenuItem('passwordsettings',_('Password'),$title);
Event::handle('EndAccountSettingsPasswordMenuItem', array($this, &$menu));
}
if(Event::handle('StartAccountSettingsEmailMenuItem', array($this, &$menu))){
- $this->showMenuItem('emailsettings',_('Email'),_('Change email handling'));
+ // TRANS: Link title attribute in user account settings menu.
+ $title = _('Change email handling');
+ // TRANS: Link description in user account settings menu.
+ $this->showMenuItem('emailsettings',_('Email'),$title);
Event::handle('EndAccountSettingsEmailMenuItem', array($this, &$menu));
}
if(Event::handle('StartAccountSettingsDesignMenuItem', array($this, &$menu))){
- $this->showMenuItem('userdesignsettings',_('Design'),_('Design your profile'));
+ // TRANS: Link title attribute in user account settings menu.
+ $title = _('Design your profile');
+ // TRANS: Link description in user account settings menu.
+ $this->showMenuItem('userdesignsettings',_('Design'),$title);
Event::handle('EndAccountSettingsDesignMenuItem', array($this, &$menu));
}
if(Event::handle('StartAccountSettingsOtherMenuItem', array($this, &$menu))){
- $this->showMenuItem('othersettings',_('Other'),_('Other options'));
+ // TRANS: Link title attribute in user account settings menu.
+ $title = _('Other options');
+ // TRANS: Link description in user account settings menu.
+ $this->showMenuItem('othersettings',_('Other'),$title);
Event::handle('EndAccountSettingsOtherMenuItem', array($this, &$menu));
}
diff --git a/lib/action.php b/lib/action.php
index c4d9fd5cb..98e5ec2c9 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -141,6 +141,7 @@ class Action extends HTMLOutputter // lawsuit
function showTitle()
{
$this->element('title', null,
+ // TRANS: Page title. %1$s is the title, %2$s is the site name.
sprintf(_("%1\$s - %2\$s"),
$this->title(),
common_config('site', 'name')));
@@ -156,6 +157,7 @@ class Action extends HTMLOutputter // lawsuit
function title()
{
+ // TRANS: Page title for a page without a title set.
return _("Untitled page");
}
@@ -420,6 +422,7 @@ class Action extends HTMLOutputter // lawsuit
{
$user = common_current_user();
$this->elementStart('dl', array('id' => 'site_nav_global_primary'));
+ // TRANS: DT element for primary navigation menu. String is hidden in default CSS.
$this->element('dt', null, _('Primary site navigation'));
$this->elementStart('dd');
$this->elementStart('ul', array('class' => 'nav'));
@@ -427,31 +430,31 @@ class Action extends HTMLOutputter // lawsuit
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)),
+ // TRANS: Main menu option when logged in for access to personal profile and friends timeline
_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'),
+ // TRANS: Main menu option when logged in for access to user settings
_('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'),
+ // TRANS: Main menu option when logged in and connection are possible for access to options to connect to other services
_('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'),
+ // TRANS: Main menu option when logged in and site admin for access to site configuration
_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'),
+ // TRANS: Main menu option when logged in and invitations are allowed for inviting new users
_m('MENU', 'Invite'),
sprintf($tooltip,
common_config('site', 'name')),
@@ -459,16 +462,16 @@ class Action extends HTMLOutputter // lawsuit
}
// 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'),
+ // TRANS: Main menu option when logged in to log out the current user
_m('MENU', 'Logout'), $tooltip, false, 'nav_logout');
}
else {
if (!common_config('site', 'closed') && !common_config('site', 'inviteonly')) {
// 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'),
+ // TRANS: Main menu option when not logged in to register a new account
_m('MENU', 'Register'), $tooltip, false, 'nav_register');
}
// TRANS: Tooltip for main menu option "Login"
@@ -575,6 +578,7 @@ class Action extends HTMLOutputter // lawsuit
function showLocalNavBlock()
{
$this->elementStart('dl', array('id' => 'site_nav_local_views'));
+ // TRANS: DT element for local views block. String is hidden in default CSS.
$this->element('dt', null, _('Local views'));
$this->elementStart('dd');
$this->showLocalNav();
@@ -641,6 +645,7 @@ class Action extends HTMLOutputter // lawsuit
$this->elementStart('dl', array('id' => 'page_notice',
'class' => 'system_notice'));
+ // TRANS: DT element for page notice. String is hidden in default CSS.
$this->element('dt', null, _('Page notice'));
$this->elementStart('dd');
if (Event::handle('StartShowPageNotice', array($this))) {
@@ -743,28 +748,37 @@ class Action extends HTMLOutputter // lawsuit
function showSecondaryNav()
{
$this->elementStart('dl', array('id' => 'site_nav_global_secondary'));
+ // TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
$this->element('dt', null, _('Secondary site navigation'));
$this->elementStart('dd', null);
$this->elementStart('ul', array('class' => 'nav'));
if (Event::handle('StartSecondaryNav', array($this))) {
$this->menuItem(common_local_url('doc', array('title' => 'help')),
+ // TRANS: Secondary navigation menu option leading to help on StatusNet.
_('Help'));
$this->menuItem(common_local_url('doc', array('title' => 'about')),
+ // TRANS: Secondary navigation menu option leading to text about StatusNet site.
_('About'));
$this->menuItem(common_local_url('doc', array('title' => 'faq')),
+ // TRANS: Secondary navigation menu option leading to Frequently Asked Questions.
_('FAQ'));
$bb = common_config('site', 'broughtby');
if (!empty($bb)) {
$this->menuItem(common_local_url('doc', array('title' => 'tos')),
+ // TRANS: Secondary navigation menu option leading to Terms of Service.
_('TOS'));
}
$this->menuItem(common_local_url('doc', array('title' => 'privacy')),
+ // TRANS: Secondary navigation menu option leading to privacy policy.
_('Privacy'));
$this->menuItem(common_local_url('doc', array('title' => 'source')),
+ // TRANS: Secondary navigation menu option.
_('Source'));
$this->menuItem(common_local_url('version'),
+ // TRANS: Secondary navigation menu option leading to version information on the StatusNet site.
_('Version'));
$this->menuItem(common_local_url('doc', array('title' => 'contact')),
+ // TRANS: Secondary navigation menu option leading to contact information on the StatusNet site.
_('Contact'));
$this->menuItem(common_local_url('doc', array('title' => 'badge')),
_('Badge'));
@@ -795,16 +809,18 @@ class Action extends HTMLOutputter // lawsuit
*/
function showStatusNetLicense()
{
+ // TRANS: DT element for StatusNet software license.
$this->element('dt', array('id' => 'site_statusnet_license'), _('StatusNet software license'));
$this->elementStart('dd', null);
- // @fixme drop the final spaces in the messages when at good spot
- // to let translations get updated.
if (common_config('site', 'broughtby')) {
- $instr = _('**%%site.name%%** is a microblogging service brought to you by [%%site.broughtby%%](%%site.broughtbyurl%%). ');
+ // TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set.
+ $instr = _('**%%site.name%%** is a microblogging service brought to you by [%%site.broughtby%%](%%site.broughtbyurl%%).');
} else {
- $instr = _('**%%site.name%%** is a microblogging service. ');
+ // TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
+ $instr = _('**%%site.name%%** is a microblogging service.');
}
$instr .= ' ';
+ // TRANS: Second sentence of the StatusNet site license. Mentions the StatusNet source code license.
$instr .= sprintf(_('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).'), STATUSNET_VERSION);
$output = common_markup_to_html($instr);
$this->raw($output);
@@ -820,19 +836,25 @@ class Action extends HTMLOutputter // lawsuit
function showContentLicense()
{
if (Event::handle('StartShowContentLicense', array($this))) {
+ // TRANS: DT element for StatusNet site content license.
$this->element('dt', array('id' => 'site_content_license'), _('Site content license'));
$this->elementStart('dd', array('id' => 'site_content_license_cc'));
switch (common_config('license', 'type')) {
case 'private':
+ // TRANS: Content license displayed when license is set to 'private'.
+ // TRANS: %1$s is the site name.
$this->element('p', null, sprintf(_('Content and data of %1$s are private and confidential.'),
common_config('site', 'name')));
// fall through
case 'allrightsreserved':
if (common_config('license', 'owner')) {
+ // TRANS: Content license displayed when license is set to 'allrightsreserved'.
+ // TRANS: %1$s is the copyright owner.
$this->element('p', null, sprintf(_('Content and data copyright by %1$s. All rights reserved.'),
common_config('license', 'owner')));
} else {
+ // TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
$this->element('p', null, _('Content and data copyright by contributors. All rights reserved.'));
}
break;
@@ -1148,11 +1170,15 @@ class Action extends HTMLOutputter // lawsuit
*
* @return nothing
*/
+ // XXX: The messages in this pagination method only tailor to navigating
+ // notices. In other lists, "Previous"/"Next" type navigation is
+ // desirable, but not available.
function pagination($have_before, $have_after, $page, $action, $args=null)
{
// Does a little before-after block for next/prev page
if ($have_before || $have_after) {
$this->elementStart('dl', 'pagination');
+ // TRANS: DT element for pagination (previous/next, etc.).
$this->element('dt', null, _('Pagination'));
$this->elementStart('dd', null);
$this->elementStart('ul', array('class' => 'nav'));
@@ -1162,6 +1188,8 @@ class Action extends HTMLOutputter // lawsuit
$this->elementStart('li', array('class' => 'nav_prev'));
$this->element('a', array('href' => common_local_url($action, $args, $pargs),
'rel' => 'prev'),
+ // TRANS: Pagination message to go to a page displaying information more in the
+ // TRANS: present than the currently displayed information.
_('After'));
$this->elementEnd('li');
}
@@ -1170,6 +1198,8 @@ class Action extends HTMLOutputter // lawsuit
$this->elementStart('li', array('class' => 'nav_next'));
$this->element('a', array('href' => common_local_url($action, $args, $pargs),
'rel' => 'next'),
+ // TRANS: Pagination message to go to a page displaying information more in the
+ // TRANS: past than the currently displayed information.
_('Before'));
$this->elementEnd('li');
}
@@ -1213,6 +1243,8 @@ class Action extends HTMLOutputter // lawsuit
* @return void
*/
+ // XXX: Finding this type of check with the same message about 50 times.
+ // Possible to refactor?
function checkSessionToken()
{
// CSRF protection
diff --git a/lib/activity.php b/lib/activity.php
index 27f09ab4d..8e2da99bb 100644
--- a/lib/activity.php
+++ b/lib/activity.php
@@ -118,7 +118,8 @@ class Activity
// Insist on a feed's root DOMElement; don't allow a DOMDocument
if ($feed instanceof DOMDocument) {
throw new ClientException(
- _("Expecting a root feed element but got a whole XML document.")
+ // TRANS: Client exception thrown when a feed instance is a DOMDocument.
+ _('Expecting a root feed element but got a whole XML document.')
);
}
diff --git a/lib/adminpanelaction.php b/lib/adminpanelaction.php
index a927e2333..e22804fc8 100644
--- a/lib/adminpanelaction.php
+++ b/lib/adminpanelaction.php
@@ -69,7 +69,7 @@ class AdminPanelAction extends Action
// User must be logged in.
if (!common_logged_in()) {
- // TRANS: Client error message
+ // TRANS: Client error message thrown when trying to access the admin panel while not logged in.
$this->clientError(_('Not logged in.'));
return false;
}
@@ -94,7 +94,7 @@ class AdminPanelAction extends Action
// User must have the right to change admin settings
if (!$user->hasRight(Right::CONFIGURESITE)) {
- // TRANS: Client error message
+ // TRANS: Client error message thrown when a user tries to change admin settings but has no access rights.
$this->clientError(_('You cannot make changes to this site.'));
return false;
}
@@ -106,7 +106,7 @@ class AdminPanelAction extends Action
$name = mb_substr($name, 0, -10);
if (!self::canAdmin($name)) {
- // TRANS: Client error message
+ // TRANS: Client error message throw when a certain panel's settings cannot be changed.
$this->clientError(_('Changes to that panel are not allowed.'), 403);
return false;
}
@@ -225,7 +225,7 @@ class AdminPanelAction extends Action
function showForm()
{
- // TRANS: Client error message
+ // TRANS: Client error message.
$this->clientError(_('showForm() not implemented.'));
return;
}
@@ -279,7 +279,8 @@ class AdminPanelAction extends Action
$result = $config->delete();
if (!$result) {
common_log_db_error($config, 'DELETE', __FILE__);
- // TRANS: Client error message
+ // TRANS: Client error message thrown if design settings could not be deleted in
+ // TRANS: the admin panel Design.
$this->clientError(_("Unable to delete design setting."));
return null;
}
diff --git a/lib/apiaction.php b/lib/apiaction.php
index 68198effc..80a8a08d1 100644
--- a/lib/apiaction.php
+++ b/lib/apiaction.php
@@ -32,6 +32,67 @@
* @link http://status.net/
*/
+/* External API usage documentation. Please update when you change how the API works. */
+
+/*! @mainpage StatusNet REST API
+
+ @section Introduction
+
+ Some explanatory text about the API would be nice.
+
+ @section API Methods
+
+ @subsection timelinesmethods_sec Timeline Methods
+
+ @li @ref publictimeline
+ @li @ref friendstimeline
+
+ @subsection statusmethods_sec Status Methods
+
+ @li @ref statusesupdate
+
+ @subsection usermethods_sec User Methods
+
+ @subsection directmessagemethods_sec Direct Message Methods
+
+ @subsection friendshipmethods_sec Friendship Methods
+
+ @subsection socialgraphmethods_sec Social Graph Methods
+
+ @subsection accountmethods_sec Account Methods
+
+ @subsection favoritesmethods_sec Favorites Methods
+
+ @subsection blockmethods_sec Block Methods
+
+ @subsection oauthmethods_sec OAuth Methods
+
+ @subsection helpmethods_sec Help Methods
+
+ @subsection groupmethods_sec Group Methods
+
+ @page apiroot API Root
+
+ The URLs for methods referred to in this API documentation are
+ relative to the StatusNet API root. The API root is determined by the
+ site's @b server and @b path variables, which are generally specified
+ in config.php. For example:
+
+ @code
+ $config['site']['server'] = 'example.org';
+ $config['site']['path'] = 'statusnet'
+ @endcode
+
+ The pattern for a site's API root is: @c protocol://server/path/api E.g:
+
+ @c http://example.org/statusnet/api
+
+ The @b path can be empty. In that case the API root would simply be:
+
+ @c http://example.org/api
+
+*/
+
if (!defined('STATUSNET')) {
exit(1);
}
@@ -111,6 +172,7 @@ class ApiAction extends Action
function handle($args)
{
+ header('Access-Control-Allow-Origin: *');
parent::handle($args);
}
@@ -1090,6 +1152,7 @@ class ApiAction extends Action
$this->initTwitterAtom();
break;
default:
+ // TRANS: Client error on an API request with an unsupported data format.
$this->clientError(_('Not a supported data format.'));
break;
}
@@ -1118,6 +1181,7 @@ class ApiAction extends Action
$this->endTwitterRss();
break;
default:
+ // TRANS: Client error on an API request with an unsupported data format.
$this->clientError(_('Not a supported data format.'));
break;
}
@@ -1234,6 +1298,7 @@ class ApiAction extends Action
$this->showJsonObjects($profile_array);
break;
default:
+ // TRANS: Client error on an API request with an unsupported data format.
$this->clientError(_('Not a supported data format.'));
return;
}
diff --git a/lib/apiauth.php b/lib/apiauth.php
index 95acbbd7b..9c68e2771 100644
--- a/lib/apiauth.php
+++ b/lib/apiauth.php
@@ -34,6 +34,24 @@
* @link http://status.net/
*/
+/* External API usage documentation. Please update when you change how this method works. */
+
+/*! @page authentication Authentication
+
+ StatusNet supports HTTP Basic Authentication and OAuth for API calls.
+
+ @warning Currently, users who have created accounts without setting a
+ password via OpenID, Facebook Connect, etc., cannot use the API until
+ they set a password with their account settings panel.
+
+ @section HTTP Basic Auth
+
+
+
+ @section OAuth
+
+*/
+
if (!defined('STATUSNET')) {
exit(1);
}
@@ -90,6 +108,7 @@ class ApiAuthAction extends ApiAction
if ($this->isReadOnly($args) == false) {
if ($this->access != self::READ_WRITE) {
+ // TRANS: Client error 401.
$msg = _('API resource requires read-write access, ' .
'but you only have read access.');
$this->clientError($msg, 401, $this->format);
@@ -272,8 +291,8 @@ class ApiAuthAction extends ApiAction
list($proxy, $ip) = common_client_ip();
- $msg = sprintf(_('Failed API auth attempt, nickname = %1$s, ' .
- 'proxy = %2$s, ip = %3$s'),
+ $msg = sprintf( 'Failed API auth attempt, nickname = %1$s, ' .
+ 'proxy = %2$s, ip = %3$s',
$this->auth_user_nickname,
$proxy,
$ip);
diff --git a/lib/applicationeditform.php b/lib/applicationeditform.php
index 9b7d05861..81c8fb018 100644
--- a/lib/applicationeditform.php
+++ b/lib/applicationeditform.php
@@ -133,6 +133,7 @@ class ApplicationEditForm extends Form
function formLegend()
{
+ // TRANS: Form legend.
$this->out->element('legend', null, _('Edit application'));
}
@@ -177,10 +178,12 @@ class ApplicationEditForm extends Form
}
$this->out->element('label', array('for' => 'app_icon'),
+ // TRANS: Form input field label for application icon.
_('Icon'));
$this->out->element('input', array('name' => 'app_icon',
'type' => 'file',
'id' => 'app_icon'));
+ // TRANS: Form guide.
$this->out->element('p', 'form_guide', _('Icon for this application'));
$this->out->element('input', array('name' => 'MAX_FILE_SIZE',
'type' => 'hidden',
@@ -192,6 +195,7 @@ class ApplicationEditForm extends Form
$this->out->hidden('application_id', $id);
+ // TRANS: Form input field label for application name.
$this->out->input('name', _('Name'),
($this->out->arg('name')) ? $this->out->arg('name') : $name);
@@ -201,11 +205,14 @@ class ApplicationEditForm extends Form
$maxDesc = Oauth_application::maxDesc();
if ($maxDesc > 0) {
+ // TRANS: Form input field instructions.
$descInstr = sprintf(_('Describe your application in %d characters'),
$maxDesc);
} else {
+ // TRANS: Form input field instructions.
$descInstr = _('Describe your application');
}
+ // TRANS: Form input field label.
$this->out->textarea('description', _('Description'),
($this->out->arg('description')) ? $this->out->arg('description') : $description,
$descInstr);
@@ -213,27 +220,39 @@ class ApplicationEditForm extends Form
$this->out->elementEnd('li');
$this->out->elementStart('li');
+ // TRANS: Form input field instructions.
+ $instruction = _('URL of the homepage of this application');
+ // TRANS: Form input field label.
$this->out->input('source_url', _('Source URL'),
($this->out->arg('source_url')) ? $this->out->arg('source_url') : $source_url,
- _('URL of the homepage of this application'));
+ $instruction);
$this->out->elementEnd('li');
$this->out->elementStart('li');
+ // TRANS: Form input field instructions.
+ $instruction = _('Organization responsible for this application');
+ // TRANS: Form input field label.
$this->out->input('organization', _('Organization'),
($this->out->arg('organization')) ? $this->out->arg('organization') : $organization,
- _('Organization responsible for this application'));
+ $instruction);
$this->out->elementEnd('li');
$this->out->elementStart('li');
+ // TRANS: Form input field instructions.
+ $instruction = _('URL for the homepage of the organization');
+ // TRANS: Form input field label.
$this->out->input('homepage', _('Homepage'),
($this->out->arg('homepage')) ? $this->out->arg('homepage') : $homepage,
- _('URL for the homepage of the organization'));
+ $instruction);
$this->out->elementEnd('li');
$this->out->elementStart('li');
+ // TRANS: Form input field instructions.
+ $instruction = _('URL to redirect to after authentication');
+ // TRANS: Form input field label.
$this->out->input('callback_url', ('Callback URL'),
($this->out->arg('callback_url')) ? $this->out->arg('callback_url') : $callback_url,
- _('URL to redirect to after authentication'));
+ $instruction);
$this->out->elementEnd('li');
$this->out->elementStart('li', array('id' => 'application_types'));
@@ -255,6 +274,7 @@ class ApplicationEditForm extends Form
$this->out->element('label', array('for' => 'app_type-browser',
'class' => 'radio'),
+ // TRANS: Radio button label for application type
_('Browser'));
$attrs = array('name' => 'app_type',
@@ -271,7 +291,9 @@ class ApplicationEditForm extends Form
$this->out->element('label', array('for' => 'app_type-desktop',
'class' => 'radio'),
+ // TRANS: Radio button label for application type
_('Desktop'));
+ // TRANS: Form guide.
$this->out->element('p', 'form_guide', _('Type of application, browser or desktop'));
$this->out->elementEnd('li');
@@ -294,6 +316,7 @@ class ApplicationEditForm extends Form
$this->out->element('label', array('for' => 'default_access_type-ro',
'class' => 'radio'),
+ // TRANS: Radio button label for access type.
_('Read-only'));
$attrs = array('name' => 'default_access_type',
@@ -312,7 +335,9 @@ class ApplicationEditForm extends Form
$this->out->element('label', array('for' => 'default_access_type-rw',
'class' => 'radio'),
+ // TRANS: Radio button label for access type.
_('Read-write'));
+ // TRANS: Form guide.
$this->out->element('p', 'form_guide', _('Default access for this application: read-only, or read-write'));
$this->out->elementEnd('li');
@@ -328,9 +353,13 @@ class ApplicationEditForm extends Form
function formActions()
{
- $this->out->submit('cancel', _('Cancel'), 'submit form_action-primary',
+ // TRANS: Button label
+ $this->out->submit('cancel', _m('BUTTON','Cancel'), 'submit form_action-primary',
+ // TRANS: Submit button title
'cancel', _('Cancel'));
- $this->out->submit('save', _('Save'), 'submit form_action-secondary',
+ // TRANS: Button label
+ $this->out->submit('save', _m('BUTTON','Save'), 'submit form_action-secondary',
+ // TRANS: Submit button title
'save', _('Save'));
}
}
diff --git a/lib/applicationlist.php b/lib/applicationlist.php
index 3abb1f8aa..904f8981d 100644
--- a/lib/applicationlist.php
+++ b/lib/applicationlist.php
@@ -88,7 +88,6 @@ class ApplicationList extends Widget
function showApplication()
{
-
$user = common_current_user();
$this->out->elementStart('li', array('class' => 'application',
@@ -133,11 +132,16 @@ class ApplicationList extends Widget
$this->out->elementStart('li');
- $access = ($this->application->access_type & Oauth_application::$writeAccess)
- ? 'read-write' : 'read-only';
+ // TRANS: Application access type
+ $readWriteText = _('read-write');
+ // TRANS: Application access type
+ $readOnlyText = _('read-only');
- $txt = 'Approved ' . common_date_string($appUser->modified) .
- " - $access access.";
+ $access = ($this->application->access_type & Oauth_application::$writeAccess)
+ ? $readWriteText : $readOnlyText;
+ $modifiedDate = common_date_string($appUser->modified);
+ // TRANS: Used in application list. %1$s is a modified date, %2$s is access type (read-write or read-only)
+ $txt = sprintf(_('Approved %1$s - "%2$s" access.'),$modifiedDate,$access);
$this->out->raw($txt);
$this->out->elementEnd('li');
@@ -151,7 +155,8 @@ class ApplicationList extends Widget
$this->out->elementStart('fieldset');
$this->out->hidden('id', $this->application->id);
$this->out->hidden('token', common_session_token());
- $this->out->submit('revoke', _('Revoke'));
+ // TRANS: Button label
+ $this->out->submit('revoke', _m('BUTTON','Revoke'));
$this->out->elementEnd('fieldset');
$this->out->elementEnd('form');
$this->out->elementEnd('li');
diff --git a/lib/atomgroupnoticefeed.php b/lib/atomgroupnoticefeed.php
index 08c1c707c..b4810d04a 100644
--- a/lib/atomgroupnoticefeed.php
+++ b/lib/atomgroupnoticefeed.php
@@ -58,11 +58,14 @@ class AtomGroupNoticeFeed extends AtomNoticeFeed
parent::__construct($indent);
$this->group = $group;
+ // TRANS: Title in atom group notice feed. %s is a group name.
$title = sprintf(_("%s timeline"), $group->nickname);
$this->setTitle($title);
$sitename = common_config('site', 'name');
$subtitle = sprintf(
+ // TRANS: Message is used as a subtitle in atom group notice feed.
+ // TRANS: %1$s is a group name, %2$s is a site name.
_('Updates from %1$s on %2$s!'),
$group->nickname,
$sitename
diff --git a/lib/atomusernoticefeed.php b/lib/atomusernoticefeed.php
index 428cc2de2..acfcbd75f 100644
--- a/lib/atomusernoticefeed.php
+++ b/lib/atomusernoticefeed.php
@@ -64,11 +64,14 @@ class AtomUserNoticeFeed extends AtomNoticeFeed
$this->setActivitySubject($profile->asActivityNoun('subject'));
}
+ // TRANS: Title in atom user notice feed. %s is a user name.
$title = sprintf(_("%s timeline"), $user->nickname);
$this->setTitle($title);
$sitename = common_config('site', 'name');
$subtitle = sprintf(
+ // TRANS: Message is used as a subtitle in atom user notice feed.
+ // TRANS: %1$s is a user name, %2$s is a site name.
_('Updates from %1$s on %2$s!'),
$user->nickname, $sitename
);
diff --git a/lib/attachmentlist.php b/lib/attachmentlist.php
index 43f836e15..59cab9532 100644
--- a/lib/attachmentlist.php
+++ b/lib/attachmentlist.php
@@ -84,6 +84,7 @@ class AttachmentList extends Widget
if (empty($att)) return 0;
$this->out->elementStart('dl', array('id' =>'attachments',
'class' => 'entry-content'));
+ // TRANS: DT element label in attachment list.
$this->out->element('dt', null, _('Attachments'));
$this->out->elementStart('dd');
$this->out->elementStart('ol', array('class' => 'attachments'));
@@ -260,6 +261,7 @@ class Attachment extends AttachmentListItem
'class' => 'entry-content'));
if (!empty($this->oembed->author_name)) {
$this->out->elementStart('dl', 'vcard author');
+ // TRANS: DT element label in attachment list item.
$this->out->element('dt', null, _('Author'));
$this->out->elementStart('dd', 'fn');
if (empty($this->oembed->author_url)) {
@@ -273,6 +275,7 @@ class Attachment extends AttachmentListItem
}
if (!empty($this->oembed->provider)) {
$this->out->elementStart('dl', 'vcard');
+ // TRANS: DT element label in attachment list item.
$this->out->element('dt', null, _('Provider'));
$this->out->elementStart('dd', 'fn');
if (empty($this->oembed->provider_url)) {
diff --git a/lib/authorizationplugin.php b/lib/authorizationplugin.php
index 07da9b2d1..3790bccf4 100644
--- a/lib/authorizationplugin.php
+++ b/lib/authorizationplugin.php
@@ -67,7 +67,7 @@ abstract class AuthorizationPlugin extends Plugin
//------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
- function onStartSetUser(&$user) {
+ function onStartSetUser($user) {
$loginAllowed = $this->loginAllowed($user);
if($loginAllowed === true){
return;
@@ -84,7 +84,7 @@ abstract class AuthorizationPlugin extends Plugin
}
}
- function onStartSetApiUser(&$user) {
+ function onStartSetApiUser($user) {
return $this->onStartSetUser($user);
}
diff --git a/lib/command.php b/lib/command.php
index 216f9e649..a769dc1fc 100644
--- a/lib/command.php
+++ b/lib/command.php
@@ -122,6 +122,8 @@ class Command
}
Event::handle('EndCommandGetProfile', array($this, $arg, &$profile));
if (!$profile) {
+ // TRANS: Message given requesting a profile for a non-existing user.
+ // TRANS: %s is the nickname of the user for which the profile could not be found.
throw new CommandException(sprintf(_('Could not find a user with nickname %s'), $arg));
}
return $profile;
@@ -140,6 +142,8 @@ class Command
}
Event::handle('EndCommandGetUser', array($this, $arg, &$user));
if (!$user){
+ // TRANS: Message given getting a non-existing user.
+ // TRANS: %s is the nickname of the user that could not be found.
throw new CommandException(sprintf(_('Could not find a local user with nickname %s'),
$arg));
}
@@ -225,6 +229,8 @@ class NudgeCommand extends Command
}
// XXX: notify by IM
// XXX: notify by SMS
+ // TRANS: Message given having nudged another user.
+ // TRANS: %s is the nickname of the user that was nudged.
$channel->output($this->user, sprintf(_('Nudge sent to %s'),
$recipient->nickname));
}
@@ -328,12 +334,16 @@ class JoinCommand extends Command
Event::handle('EndJoinGroup', array($group, $cur));
}
} catch (Exception $e) {
- $channel->error($cur, sprintf(_('Could not join user %s to group %s'),
+ // TRANS: Message given having failed to add a user to a group.
+ // TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
+ $channel->error($cur, sprintf(_('Could not join user %1$s to group %2$s'),
$cur->nickname, $group->nickname));
return;
}
- $channel->output($cur, sprintf(_('%s joined group %s'),
+ // TRANS: Message given having added a user to a group.
+ // TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
+ $channel->output($cur, sprintf(_('%1$s joined group %2$s'),
$cur->nickname,
$group->nickname));
}
@@ -370,12 +380,16 @@ class DropCommand extends Command
Event::handle('EndLeaveGroup', array($group, $cur));
}
} catch (Exception $e) {
- $channel->error($cur, sprintf(_('Could not remove user %s to group %s'),
+ // TRANS: Message given having failed to remove a user from a group.
+ // TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
+ $channel->error($cur, sprintf(_('Could not remove user %1$s from group %2$s'),
$cur->nickname, $group->nickname));
return;
}
- $channel->output($cur, sprintf(_('%s left group %s'),
+ // TRANS: Message given having removed a user from a group.
+ // TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
+ $channel->output($cur, sprintf(_('%1$s left group %2$s'),
$cur->nickname,
$group->nickname));
}
@@ -395,18 +409,24 @@ class WhoisCommand extends Command
{
$recipient = $this->getProfile($this->other);
+ // TRANS: Whois output.
+ // TRANS: %1$s nickname of the queried user, %2$s is their profile URL.
$whois = sprintf(_("%1\$s (%2\$s)"), $recipient->nickname,
$recipient->profileurl);
if ($recipient->fullname) {
+ // TRANS: Whois output. %s is the full name of the queried user.
$whois .= "\n" . sprintf(_('Fullname: %s'), $recipient->fullname);
}
if ($recipient->location) {
+ // TRANS: Whois output. %s is the location of the queried user.
$whois .= "\n" . sprintf(_('Location: %s'), $recipient->location);
}
if ($recipient->homepage) {
+ // TRANS: Whois output. %s is the homepage of the queried user.
$whois .= "\n" . sprintf(_('Homepage: %s'), $recipient->homepage);
}
if ($recipient->bio) {
+ // TRANS: Whois output. %s is the bio information of the queried user.
$whois .= "\n" . sprintf(_('About: %s'), $recipient->bio);
}
$channel->output($this->user, $whois);
@@ -447,7 +467,9 @@ class MessageCommand extends Command
$this->text = common_shorten_links($this->text);
if (Message::contentTooLong($this->text)) {
- $channel->error($this->user, sprintf(_('Message too long - maximum is %d characters, you sent %d'),
+ // TRANS: Message given if content is too long.
+ // TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
+ $channel->error($this->user, sprintf(_('Message too long - maximum is %1$d characters, you sent %2$d'),
Message::maxContent(), mb_strlen($this->text)));
return;
}
@@ -465,6 +487,8 @@ class MessageCommand extends Command
$message = Message::saveNew($this->user->id, $other->id, $this->text, $channel->source());
if ($message) {
$message->notify();
+ // TRANS: Message given have sent a direct message to another user.
+ // TRANS: %s is the name of the other user.
$channel->output($this->user, sprintf(_('Direct message to %s sent'), $this->other));
} else {
$channel->error($this->user, _('Error sending direct message.'));
@@ -500,6 +524,8 @@ class RepeatCommand extends Command
if ($repeat) {
+ // TRANS: Message given having repeated a notice from another user.
+ // TRANS: %s is the name of the user for which the notice was repeated.
$channel->output($this->user, sprintf(_('Notice from %s repeated'), $recipient->nickname));
} else {
$channel->error($this->user, _('Error repeating notice.'));
diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php
index 7786b5941..5dc2b38da 100644
--- a/lib/htmloutputter.php
+++ b/lib/htmloutputter.php
@@ -100,6 +100,7 @@ class HTMLOutputter extends XMLOutputter
$type = common_negotiate_type($cp, $sp);
if (!$type) {
+ // TRANS: Client exception 406
throw new ClientException(_('This page is not available in a '.
'media type you accept'), 406);
}
diff --git a/lib/language.php b/lib/language.php
index 64b59e739..8009adc9b 100644
--- a/lib/language.php
+++ b/lib/language.php
@@ -202,16 +202,19 @@ function _mdomain($backtrace)
static $cached;
$path = $backtrace[0]['file'];
if (!isset($cached[$path])) {
+ $final = 'statusnet'; // assume default domain
if (DIRECTORY_SEPARATOR !== '/') {
$path = strtr($path, DIRECTORY_SEPARATOR, '/');
}
- $cut = strpos($path, '/plugins/') + 9;
- $cut2 = strpos($path, '/', $cut);
- if ($cut && $cut2) {
- $cached[$path] = substr($path, $cut, $cut2 - $cut);
- } else {
- return null;
+ $cut = strpos($path, '/plugins/');
+ if ($cut) {
+ $cut += strlen('/plugins/');
+ $cut2 = strpos($path, '/', $cut);
+ if ($cut && $cut2) {
+ $final = substr($path, $cut, $cut2 - $cut);
+ }
}
+ $cached[$path] = $final;
}
return $cached[$path];
}
@@ -286,6 +289,7 @@ function get_nice_language_list()
*/
function get_all_languages() {
return array(
+ 'af' => array('q' => 0.8, 'lang' => 'af', 'name' => 'Afrikaans', 'direction' => 'ltr'),
'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'),
@@ -301,7 +305,8 @@ function get_all_languages() {
'fi' => array('q' => 1, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
'fa' => array('q' => 1, 'lang' => 'fa', 'name' => 'Persian', 'direction' => 'rtl'),
'fr-fr' => array('q' => 1, 'lang' => 'fr', 'name' => 'French', 'direction' => 'ltr'),
- 'ga' => array('q' => 0.5, 'lang' => 'ga', 'name' => 'Galician', 'direction' => 'ltr'),
+ 'ga' => array('q' => 0.5, 'lang' => 'ga', 'name' => 'Irish', 'direction' => 'ltr'),
+ 'gl' => array('q' => 0.8, 'lang' => 'gl', 'name' => 'Galician', 'direction' => 'ltr'),
'he' => array('q' => 0.5, 'lang' => 'he', 'name' => 'Hebrew', 'direction' => 'rtl'),
'hsb' => array('q' => 0.8, 'lang' => 'hsb', 'name' => 'Upper Sorbian', 'direction' => 'ltr'),
'ia' => array('q' => 0.8, 'lang' => 'ia', 'name' => 'Interlingua', 'direction' => 'ltr'),
diff --git a/lib/mailhandler.php b/lib/mailhandler.php
index 890f6d5b4..e9ba41839 100644
--- a/lib/mailhandler.php
+++ b/lib/mailhandler.php
@@ -265,6 +265,10 @@ class MailHandler
if (preg_match('/^\s*Begin\s+forward/', $line)) {
break;
}
+ // skip everything after a blank line if we already have content
+ if ($output !== '' && $line === '') {
+ break;
+ }
$output .= ' ' . $line;
}
diff --git a/lib/mediafile.php b/lib/mediafile.php
index 10d90d008..1c96c42d7 100644
--- a/lib/mediafile.php
+++ b/lib/mediafile.php
@@ -171,7 +171,7 @@ class MediaFile
return;
}
- if (!MediaFile::respectsQuota($user, $_FILES['attach']['size'])) {
+ if (!MediaFile::respectsQuota($user, $_FILES[$param]['size'])) {
// Should never actually get here
diff --git a/lib/noticeform.php b/lib/noticeform.php
index 7278c41a9..84c20a5b3 100644
--- a/lib/noticeform.php
+++ b/lib/noticeform.php
@@ -212,8 +212,8 @@ class NoticeForm extends Form
$this->out->checkbox('notice_data-geo', _('Share my location'), true);
$this->out->elementEnd('div');
$this->out->inlineScript(' var NoticeDataGeo_text = {'.
- 'ShareDisable: "'._('Do not share my location').'",'.
- 'ErrorTimeout: "'._('Sorry, retrieving your geo location is taking longer than expected, please try again later').'"'.
+ 'ShareDisable: ' .json_encode(_('Do not share my location')).','.
+ 'ErrorTimeout: ' .json_encode(_('Sorry, retrieving your geo location is taking longer than expected, please try again later')).
'}');
}
diff --git a/lib/noticelist.php b/lib/noticelist.php
index 81da9edc0..432ea78d5 100644
--- a/lib/noticelist.php
+++ b/lib/noticelist.php
@@ -426,10 +426,18 @@ class NoticeListItem extends Widget
if (empty($name)) {
$latdms = $this->decimalDegreesToDMS(abs($lat));
$londms = $this->decimalDegreesToDMS(abs($lon));
+ // TRANS: Used in coordinates as abbreviation of north
+ $north = _('N');
+ // TRANS: Used in coordinates as abbreviation of south
+ $south = _('S');
+ // TRANS: Used in coordinates as abbreviation of east
+ $east = _('E');
+ // TRANS: Used in coordinates as abbreviation of west
+ $west = _('W');
$name = sprintf(
_('%1$u°%2$u\'%3$u"%4$s %5$u°%6$u\'%7$u"%8$s'),
- $latdms['deg'],$latdms['min'], $latdms['sec'],($lat>0?_('N'):_('S')),
- $londms['deg'],$londms['min'], $londms['sec'],($lon>0?_('E'):_('W')));
+ $latdms['deg'],$latdms['min'], $latdms['sec'],($lat>0? $north:$south),
+ $londms['deg'],$londms['min'], $londms['sec'],($lon>0? $east:$west));
}
$url = $location->getUrl();
diff --git a/lib/pgsqlschema.php b/lib/pgsqlschema.php
index 715065d77..272f7eff6 100644
--- a/lib/pgsqlschema.php
+++ b/lib/pgsqlschema.php
@@ -41,6 +41,7 @@ if (!defined('STATUSNET')) {
* @category Database
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
+ * @author Brenda Wallace <shiny@cpan.org>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
@@ -79,7 +80,6 @@ class PgsqlSchema extends Schema
$row = array();
while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) {
-// var_dump($row);
$cd = new ColumnDef();
$cd->name = $row['field'];
@@ -143,6 +143,7 @@ class PgsqlSchema extends Schema
$uniques = array();
$primary = array();
$indices = array();
+ $onupdate = array();
$sql = "CREATE TABLE $name (\n";
@@ -155,7 +156,6 @@ class PgsqlSchema extends Schema
}
$sql .= $this->_columnSql($cd);
-
switch ($cd->key) {
case 'UNI':
$uniques[] = $cd->name;
@@ -170,13 +170,7 @@ class PgsqlSchema extends Schema
}
if (count($primary) > 0) { // it really should be...
- $sql .= ",\n primary key (" . implode(',', $primary) . ")";
- }
-
-
-
- foreach ($indices as $i) {
- $sql .= ",\nindex {$name}_{$i}_idx ($i)";
+ $sql .= ",\n PRIMARY KEY (" . implode(',', $primary) . ")";
}
$sql .= "); ";
@@ -185,10 +179,14 @@ class PgsqlSchema extends Schema
foreach ($uniques as $u) {
$sql .= "\n CREATE index {$name}_{$u}_idx ON {$name} ($u); ";
}
+
+ foreach ($indices as $i) {
+ $sql .= "CREATE index {$name}_{$i}_idx ON {$name} ($i)";
+ }
$res = $this->conn->query($sql);
if (PEAR::isError($res)) {
- throw new Exception($res->getMessage());
+ throw new Exception($res->getMessage(). ' SQL was '. $sql);
}
return true;
@@ -223,7 +221,7 @@ class PgsqlSchema extends Schema
*/
private function _columnTypeTranslation($type) {
$map = array(
- 'datetime' => 'timestamp'
+ 'datetime' => 'timestamp',
);
if(!empty($map[$type])) {
return $map[$type];
@@ -324,7 +322,7 @@ class PgsqlSchema extends Schema
public function modifyColumn($table, $columndef)
{
- $sql = "ALTER TABLE $table MODIFY COLUMN " .
+ $sql = "ALTER TABLE $table ALTER COLUMN TYPE " .
$this->_columnSql($columndef);
$res = $this->conn->query($sql);
@@ -397,16 +395,17 @@ class PgsqlSchema extends Schema
$todrop = array_diff($cur, $new);
$same = array_intersect($new, $cur);
$tomod = array();
-
foreach ($same as $m) {
$curCol = $this->_byName($td->columns, $m);
$newCol = $this->_byName($columns, $m);
+
if (!$newCol->equals($curCol)) {
- $tomod[] = $newCol->name;
+ // BIG GIANT TODO!
+ // stop it detecting different types and trying to modify on every page request
+// $tomod[] = $newCol->name;
}
}
-
if (count($toadd) + count($todrop) + count($tomod) == 0) {
// nothing to do
return true;
@@ -430,11 +429,12 @@ class PgsqlSchema extends Schema
foreach ($tomod as $columnName) {
$cd = $this->_byName($columns, $columnName);
- $phrase[] = 'MODIFY COLUMN ' . $this->_columnSql($cd);
+ /* brute force */
+ $phrase[] = 'DROP COLUMN ' . $columnName;
+ $phrase[] = 'ADD COLUMN ' . $this->_columnSql($cd);
}
$sql = 'ALTER TABLE ' . $tableName . ' ' . implode(', ', $phrase);
-
$res = $this->conn->query($sql);
if (PEAR::isError($res)) {
@@ -496,12 +496,21 @@ class PgsqlSchema extends Schema
*
* @return string correct SQL for that column
*/
-
private function _columnSql($cd)
{
$sql = "{$cd->name} ";
$type = $this->_columnTypeTranslation($cd->type);
+ //handle those mysql enum fields that postgres doesn't support
+ if (preg_match('!^enum!', $type)) {
+ $allowed_values = preg_replace('!^enum!', '', $type);
+ $sql .= " text check ({$cd->name} in $allowed_values)";
+ return $sql;
+ }
+ if (!empty($cd->auto_increment)) {
+ $type = "bigserial"; // FIXME: creates the wrong name for the sequence for some internal sequence-lookup function, so better fix this to do the real 'create sequence' dance.
+ }
+
if (!empty($cd->size)) {
$sql .= "{$type}({$cd->size}) ";
} else {
@@ -513,14 +522,10 @@ class PgsqlSchema extends Schema
} else {
$sql .= ($cd->nullable) ? "null " : "not null ";
}
-
- if (!empty($cd->auto_increment)) {
- $sql .= " auto_increment ";
- }
- if (!empty($cd->extra)) {
- $sql .= "{$cd->extra} ";
- }
+// if (!empty($cd->extra)) {
+// $sql .= "{$cd->extra} ";
+// }
return $sql;
}
diff --git a/lib/popularnoticesection.php b/lib/popularnoticesection.php
index 296ddbbb5..3f0241790 100644
--- a/lib/popularnoticesection.php
+++ b/lib/popularnoticesection.php
@@ -72,7 +72,7 @@ class PopularNoticeSection extends NoticeSection
$qry .= ' GROUP BY notice.id,notice.profile_id,notice.content,notice.uri,' .
'notice.rendered,notice.url,notice.created,notice.modified,' .
'notice.reply_to,notice.is_local,notice.source,notice.conversation, ' .
- 'notice.lat,notice.lon,location_id,location_ns' .
+ 'notice.lat,notice.lon,location_id,location_ns,notice.repeat_of,notice.location' .
' ORDER BY weight DESC';
$offset = 0;
diff --git a/lib/profileaction.php b/lib/profileaction.php
index 82e0224af..504b77566 100644
--- a/lib/profileaction.php
+++ b/lib/profileaction.php
@@ -174,6 +174,12 @@ class ProfileAction extends OwnerDesignAction
$subbed_count = $this->profile->subscriberCount();
$notice_count = $this->profile->noticeCount();
$group_count = $this->user->getGroups()->N;
+ $age_days = (time() - strtotime($this->profile->created)) / 86400;
+ if ($age_days < 1) {
+ // Rather than extrapolating out to a bajillion...
+ $age_days = 1;
+ }
+ $daily_count = round($notice_count / $age_days);
$this->elementStart('div', array('id' => 'entity_statistics',
'class' => 'section'));
@@ -224,6 +230,12 @@ class ProfileAction extends OwnerDesignAction
$this->element('dd', null, $notice_count);
$this->elementEnd('dl');
+ $this->elementStart('dl', 'entity_daily_notices');
+ // TRANS: Average count of posts made per day since account registration
+ $this->element('dt', null, _('Daily average'));
+ $this->element('dd', null, $daily_count);
+ $this->elementEnd('dl');
+
$this->elementEnd('div');
}
diff --git a/lib/util.php b/lib/util.php
index 597da22c0..1e58f960c 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -849,7 +849,7 @@ function common_linkify($url) {
}
if (!empty($f)) {
- if ($f->getEnclosure()) {
+ if ($f->getEnclosure() || File_oembed::staticGet('file_id',$f->id)) {
$is_attachment = true;
$attachment_id = $f->id;
@@ -872,10 +872,10 @@ function common_linkify($url) {
return XMLStringer::estring('a', $attrs, $url);
}
-function common_shorten_links($text)
+function common_shorten_links($text, $always = false)
{
$maxLength = Notice::maxContent();
- if ($maxLength == 0 || mb_strlen($text) <= $maxLength) return $text;
+ if (!$always && ($maxLength == 0 || mb_strlen($text) <= $maxLength)) return $text;
return common_replace_urls_callback($text, array('File_redirection', 'makeShort'));
}
@@ -1096,24 +1096,38 @@ function common_date_string($dt)
if ($now < $t) { // that shouldn't happen!
return common_exact_date($dt);
} else if ($diff < 60) {
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return _('a few seconds ago');
} else if ($diff < 92) {
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return _('about a minute ago');
} else if ($diff < 3300) {
+ // XXX: should support plural.
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return sprintf(_('about %d minutes ago'), round($diff/60));
} else if ($diff < 5400) {
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return _('about an hour ago');
} else if ($diff < 22 * 3600) {
+ // XXX: should support plural.
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return sprintf(_('about %d hours ago'), round($diff/3600));
} else if ($diff < 37 * 3600) {
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return _('about a day ago');
} else if ($diff < 24 * 24 * 3600) {
+ // XXX: should support plural.
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return sprintf(_('about %d days ago'), round($diff/(24*3600)));
} else if ($diff < 46 * 24 * 3600) {
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return _('about a month ago');
} else if ($diff < 330 * 24 * 3600) {
+ // XXX: should support plural.
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return sprintf(_('about %d months ago'), round($diff/(30*24*3600)));
} else if ($diff < 480 * 24 * 3600) {
+ // TRANS: Used in notices to indicate when the notice was made compared to now.
return _('about a year ago');
} else {
return common_exact_date($dt);
diff --git a/locale/af/LC_MESSAGES/statusnet.po b/locale/af/LC_MESSAGES/statusnet.po
index b6ca4a23e..b9f82c0f8 100644
--- a/locale/af/LC_MESSAGES/statusnet.po
+++ b/locale/af/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:08+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:16+0000\n"
"Language-Team: Afrikaans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: af\n"
"X-Message-Group: out-statusnet\n"
@@ -95,10 +95,10 @@ msgstr "Hierdie bladsy bestaan nie"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -221,12 +221,12 @@ msgstr "Die API-funksie is nie gevind nie."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Hierdie metode benodig 'n POST."
@@ -256,7 +256,7 @@ msgstr "Kon nie die profiel stoor nie."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -313,20 +313,20 @@ msgstr "Direkte boodskappe aan %s"
msgid "All the direct messages sent to %s"
msgstr "Alle direkte boodskappe gestuur aan %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Die boodskap bevat geen inhoud nie!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Dit is te lank. Die maksimum boodskaplengte is %d karakters."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Die ontvanger kon gevind word nie."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"U kan nie direkte boodskappe aan gebruikers wat nie op u viendelys is stuur "
@@ -643,17 +643,17 @@ msgstr "Die status is verwyder."
msgid "No status with that ID found."
msgstr "Geen status met die ID gevind nie."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Die kennisgewing is te lank. Gebruik maksimum %d karakters."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Nie gevind nie."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -764,7 +764,7 @@ msgid "Preview"
msgstr "Voorskou"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Skrap"
@@ -1039,7 +1039,7 @@ msgid "Do not delete this notice"
msgstr "Moenie hierdie kennisgewing verwyder nie"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Verwyder hierdie kennisgewing"
@@ -2459,8 +2459,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3140,7 +3140,7 @@ msgstr ""
msgid "Registration successful"
msgstr "Die registrasie is voltooi"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registreer"
@@ -3192,14 +3192,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3218,7 +3240,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3293,7 +3315,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr ""
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Herhalend"
@@ -4616,7 +4638,7 @@ msgstr ""
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5068,7 +5090,7 @@ msgid "Snapshots configuration"
msgstr ""
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -5969,7 +5991,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "van"
@@ -6123,23 +6145,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "op"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "in konteks"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Herhaal deur"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Antwoord"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr ""
diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po
index 44a1607da..24253a970 100644
--- a/locale/ar/LC_MESSAGES/statusnet.po
+++ b/locale/ar/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:21+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:11+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:19+0000\n"
"Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n"
"X-Message-Group: out-statusnet\n"
@@ -96,10 +96,10 @@ msgstr "لا صÙحة كهذه."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -220,12 +220,12 @@ msgstr "لم يتم العثور على وسيلة API."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "تتطلب هذه الطريقة POST."
@@ -255,7 +255,7 @@ msgstr "لم يمكن Ø­Ùظ الملÙ."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -312,20 +312,20 @@ msgstr "رسالة مباشرة %s"
msgid "All the direct messages sent to %s"
msgstr "كل الرسائل المباشرة التي أرسلت إلى %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "لا نص ÙÙŠ الرسالة!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "لم ÙŠÙعثر على المستخدم المستلم."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -637,17 +637,17 @@ msgstr "Ø­ÙØ°ÙÙت الحالة."
msgid "No status with that ID found."
msgstr "لا حالة ÙˆÙجدت بهذه الهوية."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "لم يوجد."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -758,7 +758,7 @@ msgid "Preview"
msgstr "معاينة"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "احذÙ"
@@ -1031,7 +1031,7 @@ msgid "Do not delete this notice"
msgstr "لا تحذ٠هذا الإشعار"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "احذ٠هذا الإشعار"
@@ -2449,8 +2449,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "ليس نسق بيانات مدعوم."
@@ -3138,7 +3138,7 @@ msgstr "عذرا، رمز دعوة غير صالح."
msgid "Registration successful"
msgstr "نجح التسجيل"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "سجّل"
@@ -3190,14 +3190,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3216,7 +3238,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3291,7 +3313,7 @@ msgstr "لا يمكنك تكرار ملاحظتك الشخصية."
msgid "You already repeated that notice."
msgstr "أنت كررت هذه الملاحظة بالÙعل."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "مكرر"
@@ -4635,7 +4657,7 @@ msgstr "مشكلة أثناء Ø­Ùظ الإشعار."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تي @%1$s %2$s"
@@ -5097,7 +5119,7 @@ msgid "Snapshots configuration"
msgstr "ضبط المسارات"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6069,7 +6091,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "من"
@@ -6223,23 +6245,23 @@ msgstr ""
msgid "at"
msgstr "ÙÙŠ"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "ÙÙŠ السياق"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "مكرر بواسطة"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "رÙد على هذا الإشعار"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "رÙد"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "الإشعار مكرر"
diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po
index 30763d3e0..12f575846 100644
--- a/locale/arz/LC_MESSAGES/statusnet.po
+++ b/locale/arz/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:20+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:22+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 (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: arz\n"
"X-Message-Group: out-statusnet\n"
@@ -103,10 +103,10 @@ msgstr "لا صÙحه كهذه"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "الـ API method مش موجوده."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "تتطلب هذه الطريقه POST."
@@ -262,7 +262,7 @@ msgstr "لم يمكن Ø­Ùظ الملÙ."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -319,20 +319,20 @@ msgstr "رساله مباشره %s"
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "لا نص ÙÙ‰ الرسالة!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "لم ÙŠÙعثر على المستخدم المستلم."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -645,17 +645,17 @@ msgstr "Ø­ÙØ°ÙÙت الحاله."
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "لم يوجد."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -766,7 +766,7 @@ msgid "Preview"
msgstr "عاين"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "احذÙ"
@@ -1047,7 +1047,7 @@ msgid "Do not delete this notice"
msgstr "لا تحذ٠هذا الإشعار"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "احذ٠هذا الإشعار"
@@ -2473,8 +2473,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr " مش نظام بيانات مدعوم."
@@ -3160,7 +3160,7 @@ msgstr "عذرا، رمز دعوه غير صالح."
msgid "Registration successful"
msgstr "نجح التسجيل"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "سجّل"
@@ -3212,14 +3212,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3238,7 +3260,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3313,7 +3335,7 @@ msgstr "ما ينÙعش تكرر الملاحظه بتاعتك."
msgid "You already repeated that notice."
msgstr "انت عيدت الملاحظه دى Ùعلا."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "مكرر"
@@ -4658,7 +4680,7 @@ msgstr "مشكله أثناء Ø­Ùظ الإشعار."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تى @%1$s %2$s"
@@ -5142,7 +5164,7 @@ msgid "Snapshots configuration"
msgstr "ضبط المسارات"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6054,7 +6076,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "من"
@@ -6209,23 +6231,23 @@ msgstr ""
msgid "at"
msgstr "ÙÙŠ"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "ÙÙ‰ السياق"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "متكرر من"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "رÙد على هذا الإشعار"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "رÙد"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "الإشعار مكرر"
diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po
index 650bfdc93..10f4fc66e 100644
--- a/locale/bg/LC_MESSAGES/statusnet.po
+++ b/locale/bg/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:24+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:25+0000\n"
"Language-Team: Bulgarian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: bg\n"
"X-Message-Group: out-statusnet\n"
@@ -97,10 +97,10 @@ msgstr "ÐÑма такака Ñтраница."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -221,12 +221,12 @@ msgstr "Ðе е открит методът в API."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Този метод изиÑква заÑвка POST."
@@ -256,7 +256,7 @@ msgstr "Грешка при запазване на профила."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -315,20 +315,20 @@ msgstr "Преки ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð¾ %s"
msgid "All the direct messages sent to %s"
msgstr "Ð’Ñички преки ÑъобщениÑ, изпратени до %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "ЛипÑва текÑÑ‚ на Ñъобщението"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Твърде дълго. Може да е най-много %d знака."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "ПолучателÑÑ‚ не е открит"
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Ðе може да изпращате преки ÑÑŠÐ¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð¾ хора, които не Ñа в ÑпиÑъка ви Ñ "
@@ -646,17 +646,17 @@ msgstr "Бележката е изтрита."
msgid "No status with that ID found."
msgstr "Ðе е открита бележка Ñ Ñ‚Ð°ÐºÑŠÐ² идентификатор."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Твърде дълга бележка. ТрÑбва да е най-много 140 знака."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Ðе е открито."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -770,7 +770,7 @@ msgid "Preview"
msgstr "Преглед"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Изтриване"
@@ -1044,7 +1044,7 @@ msgid "Do not delete this notice"
msgstr "Да не Ñе изтрива бележката"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Изтриване на бележката"
@@ -2558,8 +2558,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Ðеподдържан формат на данните"
@@ -3255,7 +3255,7 @@ msgstr "Грешка в кода за потвърждение."
msgid "Registration successful"
msgstr "ЗапиÑването е уÑпешно."
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "РегиÑтриране"
@@ -3309,14 +3309,36 @@ msgstr "Използва Ñе Ñамо за промени, обÑви или в
msgid "Longer name, preferably your \"real\" name"
msgstr "По-дълго име, за предпочитане \"иÑтинÑкото\" ви име."
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr " оÑвен тези лични данни: парола, е-поща, меÑинджър, телефон."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3349,7 +3371,7 @@ msgstr ""
"Благодарим, че Ñе включихте в Ñайта и дано ползването на уÑлугата ви ноÑи "
"Ñамо приÑтни мигове!"
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3432,7 +3454,7 @@ msgstr "Ðе можете да повтарÑте ÑобÑтвена бележÐ
msgid "You already repeated that notice."
msgstr "Вече Ñте повторили тази бележка."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Повторено"
@@ -4816,7 +4838,7 @@ msgstr "Проблем при запиÑване на бележката."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5298,7 +5320,7 @@ msgid "Snapshots configuration"
msgstr "ÐаÑтройка на пътищата"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6226,7 +6248,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "от"
@@ -6382,23 +6404,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "в контекÑÑ‚"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Повторено от"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "ОтговарÑне на тази бележка"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Отговор"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Бележката е повторена."
diff --git a/locale/br/LC_MESSAGES/statusnet.po b/locale/br/LC_MESSAGES/statusnet.po
index 2ab02917b..0c64a7aa0 100644
--- a/locale/br/LC_MESSAGES/statusnet.po
+++ b/locale/br/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:27+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:28+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: out-statusnet\n"
@@ -95,10 +95,10 @@ msgstr "N'eus ket eus ar bajenn-se."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -219,12 +219,12 @@ msgstr "N'eo ket bet kavet an hentenn API !"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Ezhomm en deus an argerzh-mañ eus ur POST."
@@ -254,7 +254,7 @@ msgstr "Diposubl eo enrollañ ar profil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -311,20 +311,20 @@ msgstr "Kemennadennoù war-eeun kaset da %s"
msgid "All the direct messages sent to %s"
msgstr "An holl gemennadennoù war-eeun kaset da %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Kemenadenn hep testenn !"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 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
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "N'eo ket bet kavet ar resever."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
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 "
@@ -636,17 +636,17 @@ msgstr "Statud diverket."
msgid "No status with that ID found."
msgstr "N'eo ket bet kavet a statud evit an ID-mañ"
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 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:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "N'eo ket bet kavet."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -757,7 +757,7 @@ msgid "Preview"
msgstr "Rakwelet"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Diverkañ"
@@ -1031,7 +1031,7 @@ msgid "Do not delete this notice"
msgstr "Arabat dilemel an ali-mañ"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Dilemel an ali-mañ"
@@ -2450,8 +2450,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3151,7 +3151,7 @@ msgstr "Digarezit, kod pedadenn direizh."
msgid "Registration successful"
msgstr "Krouet eo bet ar gont."
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Krouiñ ur gont"
@@ -3205,14 +3205,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Anv hiroc'h, ho anv \"gwir\" a zo gwelloc'h"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3231,7 +3253,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3308,7 +3330,7 @@ msgstr "Ne c'helloc'h ket adkemer ho ali deoc'h."
msgid "You already repeated that notice."
msgstr "Adkemeret o peus dija an ali-mañ."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Adlavaret"
@@ -4636,7 +4658,7 @@ msgstr "Ur gudenn 'zo bet pa veze enrollet boest degemer ar strollad."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5089,7 +5111,7 @@ msgid "Snapshots configuration"
msgstr "Kefluniadur ar primoù"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -5951,11 +5973,14 @@ msgid ""
"\n"
"\t%s"
msgstr ""
+"Ar gaozeadenn klok a c'hell bezañ lennet amañ :\n"
+"\n"
+"%s"
#: lib/mail.php:651
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) en deus kaset deoc'h ur c'hemenn"
#. TRANS: Body of @-reply notification e-mail.
#: lib/mail.php:654
@@ -5995,7 +6020,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "eus"
@@ -6065,7 +6090,7 @@ msgstr ""
#: lib/mediafile.php:270
#, php-format
msgid " Try using another %s format."
-msgstr ""
+msgstr "Klaskit implijout ur furmad %s all."
#: lib/mediafile.php:275
#, php-format
@@ -6149,23 +6174,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "e"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "en amdro"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Adkemeret gant"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Respont d'an ali-mañ"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Respont"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Ali adkemeret"
@@ -6183,11 +6208,11 @@ msgstr "Kas ur blinkadenn d'an implijer-mañ"
#: lib/oauthstore.php:283
msgid "Error inserting new profile"
-msgstr ""
+msgstr "Ur fazi 'zo bet en ur ensoc'hañ ar profil nevez"
#: lib/oauthstore.php:291
msgid "Error inserting avatar"
-msgstr ""
+msgstr "Ur fazi 'zo bet en ur ensoc'hañ an avatar"
#: lib/oauthstore.php:306
msgid "Error updating remote profile"
@@ -6289,7 +6314,7 @@ msgstr "Strolladoù implijerien"
#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
msgid "Recent tags"
-msgstr ""
+msgstr "Merkoù nevez"
#: lib/publicgroupnav.php:88
msgid "Featured"
@@ -6559,7 +6584,7 @@ msgstr "n'eo ket %s ul liv reizh !"
#: lib/webcolor.php:123
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
-msgstr ""
+msgstr "N'eo ket %s ul liv reizh ! Implijit 3 pe 6 arouezenn heksdekvedennel."
#: lib/xmppmanager.php:403
#, php-format
diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po
index b12c03a1c..d2bb7867a 100644
--- a/locale/ca/LC_MESSAGES/statusnet.po
+++ b/locale/ca/LC_MESSAGES/statusnet.po
@@ -1,7 +1,6 @@
# Translation of StatusNet to Catalan
#
# Author@translatewiki.net: Aleator
-# Author@translatewiki.net: McDutchie
# Author@translatewiki.net: Paucabot
# Author@translatewiki.net: Toniher
# --
@@ -11,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:30+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:32+0000\n"
"Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n"
"X-Message-Group: out-statusnet\n"
@@ -99,10 +98,10 @@ msgstr "No existeix la pàgina."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -115,7 +114,7 @@ msgstr "No existeix la pàgina."
#: actions/xrds.php:71 lib/command.php:478 lib/galleryaction.php:59
#: lib/mailbox.php:82 lib/profileaction.php:77
msgid "No such user."
-msgstr "No existeix aquest usuari."
+msgstr "No existeix l'usuari."
#. TRANS: Page title. %1$s is user nickname, %2$d is page number
#: actions/all.php:86
@@ -157,7 +156,7 @@ msgstr "Canal dels amics de %s (Atom)"
msgid ""
"This is the timeline for %s and friends but no one has posted anything yet."
msgstr ""
-"Aquesta és la línia temporal de %s i amics, però ningú hi ha enviat res "
+"Aquesta és la línia temporal de %s i amics, però ningú hi ha publicat res "
"encara."
#: actions/all.php:139
@@ -167,7 +166,7 @@ msgid ""
"something yourself."
msgstr ""
"Proveu de subscriure més gent, [uniu-vos a un grup](%%action.groups%%) o "
-"envieu quelcom personal."
+"publiqueu quelcom personal."
#. TRANS: %1$s is user nickname, %2$s is user nickname, %2$s is user nickname prefixed with "@"
#: actions/all.php:142
@@ -176,6 +175,9 @@ 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 ""
+"Podeu provar d'[avisar %1$s](../%2$s) des del seu perfil o [publiqueu "
+"quelcom per reclamar-li l'atenció](%%%%action.newnotice%%%%?status_textarea=%"
+"3$s)."
#: actions/all.php:145 actions/replies.php:210 actions/showstream.php:211
#, php-format
@@ -183,6 +185,8 @@ msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
+"Per què no [registreu un compte](%%%%action.register%%%%) i aviseu %s o "
+"publiqueu un avís a la seva atenció."
#. TRANS: H1 text
#: actions/all.php:178
@@ -227,12 +231,12 @@ msgstr "No s'ha trobat el mètode API!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Aquest mètode requereix POST."
@@ -264,7 +268,7 @@ msgstr "No s'ha pogut desar el perfil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -297,11 +301,11 @@ msgstr "No podeu bloquejar-vos a vosaltres mateixos!"
#: actions/apiblockcreate.php:126
msgid "Block user failed."
-msgstr "Ha fallat el bloqueig d'usuari."
+msgstr "Ha fallat el blocatge de l'usuari."
#: actions/apiblockdestroy.php:114
msgid "Unblock user failed."
-msgstr "Ha fallat el desbloqueig d'usuari."
+msgstr "Ha fallat el desblocatge de l'usuari."
#: actions/apidirectmessage.php:89
#, php-format
@@ -323,20 +327,20 @@ msgstr "Missatges directes a %s"
msgid "All the direct messages sent to %s"
msgstr "Tots els missatges directes enviats a %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "No hi ha text al missatge!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "És massa llarg. La mida màxima del missatge és %d caràcters."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
-msgstr "No has escrit cap usuari receptor."
+msgstr "No s'ha trobat l'usuari destinatari."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"No es pot enviar missatges directes a usuaris que no siguin els vostres "
@@ -345,7 +349,7 @@ msgstr ""
#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
#: actions/apistatusesdestroy.php:113
msgid "No status found with that ID."
-msgstr "No s'ha trobat cap estatus amb aquesta ID."
+msgstr "No s'ha trobat cap estat amb aquest ID."
#: actions/apifavoritecreate.php:119
msgid "This status is already a favorite."
@@ -353,7 +357,7 @@ msgstr "Aquest estat ja és un preferit."
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:285
msgid "Could not create favorite."
-msgstr "No es pot crear favorit."
+msgstr "No es pot crear el preferit."
#: actions/apifavoritedestroy.php:122
msgid "That status is not a favorite."
@@ -361,29 +365,28 @@ msgstr "L'estat no és un preferit."
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
msgid "Could not delete favorite."
-msgstr "No s'ha pogut suprimir el preferit."
+msgstr "No s'ha pogut eliminar el preferit."
#: actions/apifriendshipscreate.php:109
msgid "Could not follow user: User not found."
-msgstr "No pots subscriure't a aquest usuari: L'usuari no existeix."
+msgstr "No s'ha pogut seguir l'usuari: l'usuari no existeix."
#: actions/apifriendshipscreate.php:118
#, php-format
msgid "Could not follow user: %s is already on your list."
-msgstr ""
-"No pots subscriure't de nou a aquest usuari: %s ja està a la teva llista."
+msgstr "No s'ha pogut seguir l'usuari: %s ja està a la vostra llista."
#: actions/apifriendshipsdestroy.php:109
msgid "Could not unfollow user: User not found."
-msgstr "No pots subscriure't a aquest usuari: l'usuari no existeix."
+msgstr "No es pot deixar de seguir l'usuari: no s'ha trobat l'usuari."
#: actions/apifriendshipsdestroy.php:120
msgid "You cannot unfollow yourself."
-msgstr "No podeu deixar de seguir-vos a vosaltres mateixos."
+msgstr "No podeu deixar de seguir-vos a un mateix."
#: actions/apifriendshipsexists.php:94
msgid "Two user ids or screen_names must be supplied."
-msgstr "Dos ids d'usuari o screen_names has de ser substituïts."
+msgstr "Cal proporcionar dos ids d'usuari o screen_names."
#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
@@ -424,7 +427,7 @@ msgstr "La pàgina personal no és un URL vàlid."
#: actions/newgroup.php:142 actions/profilesettings.php:225
#: actions/register.php:220
msgid "Full name is too long (max 255 chars)."
-msgstr "El teu nom és massa llarg (màx. 255 caràcters)."
+msgstr "El vostre nom sencer és massa llarg (màx. 255 caràcters)."
#: actions/apigroupcreate.php:215 actions/editapplication.php:190
#: actions/newapplication.php:172
@@ -447,7 +450,7 @@ msgstr "Hi ha massa àlies! Màxim %d."
#: actions/apigroupcreate.php:266
#, php-format
msgid "Invalid alias: \"%s\"."
-msgstr "L'àlies no és vàlid: \"%s\"."
+msgstr "L'àlies no és vàlid: «%s»."
#: actions/apigroupcreate.php:275 actions/editgroup.php:232
#: actions/newgroup.php:172
@@ -486,7 +489,7 @@ msgstr "No sou un membre del grup."
#: actions/apigroupleave.php:124 actions/leavegroup.php:129
#, php-format
msgid "Could not remove user %1$s from group %2$s."
-msgstr "No s'ha pogut suprimir l'usuari %1$s del grup %2$s."
+msgstr "No s'ha pogut eliminar l'usuari %1$s del grup %2$s."
#. TRANS: %s is a user name
#: actions/apigrouplist.php:97
@@ -558,11 +561,13 @@ msgid ""
"The request token %s has been authorized. Please exchange it for an access "
"token."
msgstr ""
+"S'ha autoritzat el testimoni de sol·licitud %s. Si us plau, canvieu-lo per "
+"un testimoni d'accés."
#: actions/apioauthauthorize.php:227
#, php-format
msgid "The request token %s has been denied and revoked."
-msgstr ""
+msgstr "S'ha denegat i revocat el testimoni de sol·licitud %s."
#. TRANS: Message given submitting a form with an unknown action in e-mail settings.
#. TRANS: Message given submitting a form with an unknown action in IM settings.
@@ -591,6 +596,9 @@ 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 ""
+"L'aplicació <strong>%1$s</strong>, de <strong>%2$s</strong>, voldria obtenir "
+"l'habilitat de <strong>%3$s</strong> les dades del vostre compte %4$s. Només "
+"hauríeu de donar accés al compte %4$s a terceres parts en què confieu."
#. TRANS: Main menu option when logged in for access to user settings
#: actions/apioauthauthorize.php:310 lib/action.php:440
@@ -629,7 +637,7 @@ msgstr "Aquest mètode requereix POST o DELETE."
#: actions/apistatusesdestroy.php:130
msgid "You may not delete another user's status."
-msgstr "No pots eliminar l'estatus d'un altre usuari."
+msgstr "No podeu eliminar l'estat d'un altre usuari."
#: actions/apistatusesretweet.php:75 actions/apistatusesretweets.php:72
#: actions/deletenotice.php:52 actions/shownotice.php:92
@@ -646,23 +654,23 @@ msgstr "Avís duplicat."
#: actions/apistatusesshow.php:138
msgid "Status deleted."
-msgstr "S'ha suprimit l'estat."
+msgstr "S'ha eliminat l'estat."
#: actions/apistatusesshow.php:144
msgid "No status with that ID found."
msgstr "No s'ha trobat cap estatus amb la ID trobada."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Massa llarg. La longitud màxima és de %d caràcters."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "No s'ha trobat."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "La mida màxima de l'avís és %d caràcters, incloent l'URL de l'adjunt."
@@ -689,7 +697,7 @@ msgstr "%1$s / Actualitzacions que mencionen %2$s"
#: actions/apitimelinementions.php:130
#, php-format
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."
+msgstr "%1$s actualitzacions que responen a avisos de %2$s / %3$s."
#: actions/apitimelinepublic.php:196 actions/publicrss.php:103
#, php-format
@@ -699,12 +707,12 @@ msgstr "%s línia temporal pública"
#: actions/apitimelinepublic.php:201 actions/publicrss.php:105
#, php-format
msgid "%s updates from everyone!"
-msgstr "%s notificacions de tots!"
+msgstr "%s actualitzacions de tothom!"
#: actions/apitimelineretweetedtome.php:111
#, php-format
msgid "Repeated to %s"
-msgstr "Repetida a %s"
+msgstr "Repetit a %s"
#: actions/apitimelineretweetsofme.php:114
#, php-format
@@ -738,7 +746,7 @@ msgstr "Cap mida."
#: actions/avatarbynickname.php:69
msgid "Invalid size."
-msgstr "Mida invàlida."
+msgstr "La mida no és vàlida."
#. TRANS: Link description in user account settings menu.
#: actions/avatarsettings.php:67 actions/showgroup.php:230
@@ -774,9 +782,9 @@ msgid "Preview"
msgstr "Vista prèvia"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
-msgstr "Suprimeix"
+msgstr "Elimina"
#: actions/avatarsettings.php:166 actions/grouplogo.php:236
msgid "Upload"
@@ -810,7 +818,7 @@ msgstr "Error en actualitzar avatar."
#: actions/avatarsettings.php:397
msgid "Avatar deleted."
-msgstr "S'ha suprimit l'avatar."
+msgstr "S'ha eliminat l'avatar."
#: actions/block.php:69
msgid "You already blocked that user."
@@ -818,7 +826,7 @@ msgstr "Ja heu blocat l'usuari."
#: actions/block.php:105 actions/block.php:128 actions/groupblock.php:158
msgid "Block user"
-msgstr "Usuari bloquejat."
+msgstr "Bloca l'usuari"
#: actions/block.php:130
msgid ""
@@ -826,6 +834,9 @@ msgid ""
"unsubscribed from you, unable to subscribe to you in the future, and you "
"will not be notified of any @-replies from them."
msgstr ""
+"Esteu segur que voleu blocar l'usuari? Tot seguit, se'n cancel·larà la "
+"vostra subscripció, no us podrà subscriure en el futur, i no en rebreu cap "
+"avís de respostes @."
#. TRANS: Button label on the user block form.
#. TRANS: Button label on the delete application form.
@@ -860,11 +871,11 @@ msgstr "Sí"
#. TRANS: Submit button title for 'Yes' when blocking a user.
#: actions/block.php:156 actions/groupmembers.php:392 lib/blockform.php:80
msgid "Block this user"
-msgstr "Bloquejar aquest usuari"
+msgstr "Bloca aquest usuari"
#: actions/block.php:179
msgid "Failed to save block information."
-msgstr "Error al guardar la informació del block."
+msgstr "No s'ha pogut desar la informació del bloc."
#: actions/blockedfromgroup.php:80 actions/blockedfromgroup.php:87
#: actions/editgroup.php:100 actions/foafgroup.php:44 actions/foafgroup.php:62
@@ -910,7 +921,7 @@ msgstr "Desbloca l'usuari"
#: actions/bookmarklet.php:51
#, php-format
msgid "Post to %s"
-msgstr "Publicar a %s"
+msgstr "Publica a %s"
#: actions/confirmaddress.php:75
msgid "No confirmation code."
@@ -922,7 +933,7 @@ msgstr "Codi de confirmació no trobat. "
#: actions/confirmaddress.php:85
msgid "That confirmation code is not for you!"
-msgstr "Aquest codi de confirmació no és per a tu!"
+msgstr "Aquest codi de confirmació no és vostre!"
#. TRANS: Server error for an unknow address type, which can be 'email', 'jabber', or 'sms'.
#: actions/confirmaddress.php:91
@@ -963,7 +974,7 @@ msgstr "Confirmeu l'adreça de correu electrònic"
#: actions/confirmaddress.php:161
#, php-format
msgid "The address \"%s\" has been confirmed for your account."
-msgstr "L'adreça \"%s\" ha estat confirmada per al teu compte."
+msgstr "L'adreça «%s» ha estat confirmada per al vostre compte."
#: actions/conversation.php:99
msgid "Conversation"
@@ -976,7 +987,7 @@ msgstr "Avisos"
#: actions/deleteapplication.php:63
msgid "You must be logged in to delete an application."
-msgstr "Heu d'haver iniciat una sessió per a suprimir una aplicació."
+msgstr "Heu d'haver iniciat una sessió per eliminar una aplicació."
#: actions/deleteapplication.php:71
msgid "Application not found."
@@ -991,11 +1002,11 @@ msgstr "No sou el propietari d'aquesta aplicació."
#: actions/newapplication.php:110 actions/showapplication.php:118
#: lib/action.php:1253
msgid "There was a problem with your session token."
-msgstr "Ha ocorregut algun problema amb la teva sessió."
+msgstr "S'ha produït un problema amb el testimoni de la vostra sessió."
#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
msgid "Delete application"
-msgstr "Esborra aplicació"
+msgstr "Elimina l'aplicació"
#: actions/deleteapplication.php:149
msgid ""
@@ -1003,14 +1014,14 @@ msgid ""
"about the application from the database, including all existing user "
"connections."
msgstr ""
-"Esteu segur que voler suprimir l'aplicació? Això netejarà totes les dades de "
+"Esteu segur que voler eliminar l'aplicació? Això netejarà totes les dades de "
"l'aplicació de la base de dades, incloent-hi totes les connexions d'usuari "
"existents."
#. TRANS: Submit button title for 'No' when deleting an application.
#: actions/deleteapplication.php:158
msgid "Do not delete this application"
-msgstr "No suprimeixis l'aplicació"
+msgstr "No eliminis l'aplicació"
#. TRANS: Submit button title for 'Yes' when deleting an application.
#: actions/deleteapplication.php:164
@@ -1030,37 +1041,37 @@ msgstr "No heu iniciat una sessió."
#: actions/deletenotice.php:71
msgid "Can't delete this notice."
-msgstr "No es pot esborrar la notificació."
+msgstr "No es pot eliminar l'avís."
#: actions/deletenotice.php:103
msgid ""
"You are about to permanently delete a notice. Once this is done, it cannot "
"be undone."
msgstr ""
-"Estàs a punt d'eliminar permanentment un avís. Una vegada fet, no es podrà "
+"Esteu a punt d'eliminar permanentment un avís. Una vegada fet, no es podrà "
"desfer."
#: actions/deletenotice.php:109 actions/deletenotice.php:141
msgid "Delete notice"
-msgstr "Eliminar nota."
+msgstr "Elimina l'avís"
#: actions/deletenotice.php:144
msgid "Are you sure you want to delete this notice?"
-msgstr "N'estàs segur que vols eliminar aquesta notificació?"
+msgstr "Esteu segur que voleu eliminar aquest avís?"
#. TRANS: Submit button title for 'No' when deleting a notice.
#: actions/deletenotice.php:151
msgid "Do not delete this notice"
-msgstr "No elimineu aquest avís"
+msgstr "No eliminis aquest avís"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
-msgstr "Eliminar aquesta nota"
+msgstr "Elimina aquest avís"
#: actions/deleteuser.php:67
msgid "You cannot delete users."
-msgstr "No podeu suprimir els usuaris."
+msgstr "No podeu eliminar els usuaris."
#: actions/deleteuser.php:74
msgid "You can only delete local users."
@@ -1068,20 +1079,20 @@ msgstr "Només podeu eliminar usuaris locals."
#: actions/deleteuser.php:110 actions/deleteuser.php:133
msgid "Delete user"
-msgstr "Suprimeix l'usuari"
+msgstr "Elimina l'usuari"
#: 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 ""
-"Esteu segur que voleu suprimir l'usuari? S'esborraran totes les dades de "
+"Esteu segur que voleu eliminar l'usuari? S'esborraran totes les dades de "
"l'usuari de la base de dades, sense cap còpia de seguretat."
#. TRANS: Submit button title for 'Yes' when deleting a user.
#: actions/deleteuser.php:163 lib/deleteuserform.php:77
msgid "Delete this user"
-msgstr "Suprimeix l'usuari"
+msgstr "Elimina l'usuari"
#. TRANS: Message used as title for design settings for the site.
#. TRANS: Link description in user account settings menu.
@@ -1207,7 +1218,7 @@ msgstr "Desa el disseny"
#: actions/disfavor.php:81
msgid "This notice is not a favorite!"
-msgstr "Aquesta notificació no és un favorit!"
+msgstr "Aquesta avís no és un preferit!"
#: actions/disfavor.php:94
msgid "Add to favorites"
@@ -1216,7 +1227,7 @@ msgstr "Afegeix als preferits"
#: actions/doc.php:158
#, php-format
msgid "No such document \"%s\""
-msgstr "No existeix el document \"%s\""
+msgstr "No existeix el document «%s»"
#: actions/editapplication.php:54
msgid "Edit Application"
@@ -1233,7 +1244,7 @@ msgstr "No hi ha tal aplicació."
#: actions/editapplication.php:161
msgid "Use this form to edit your application."
-msgstr "Utilitza el formulari per a editar la vostra aplicació."
+msgstr "Utilitza el formulari per editar la vostra aplicació."
#: actions/editapplication.php:177 actions/newapplication.php:159
msgid "Name is required."
@@ -1273,11 +1284,11 @@ msgstr "Cal una pàgina d'inici de l'organització."
#: actions/editapplication.php:218 actions/newapplication.php:206
msgid "Callback is too long."
-msgstr ""
+msgstr "La crida de retorn és massa llarga."
#: actions/editapplication.php:225 actions/newapplication.php:215
msgid "Callback URL is not valid."
-msgstr ""
+msgstr "L'URL de la crida de retorn no és vàlid."
#: actions/editapplication.php:258
msgid "Could not update application."
@@ -1286,16 +1297,16 @@ msgstr "No s'ha pogut actualitzar l'aplicació."
#: actions/editgroup.php:56
#, php-format
msgid "Edit %s group"
-msgstr "Editar el grup %s"
+msgstr "Edita el grup %s"
#: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65
msgid "You must be logged in to create a group."
-msgstr "Has d'haver entrat per crear un grup."
+msgstr "Heu d'haver iniciat una sessió per crear un grup."
#: 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 "Heu de ser administrador per a editar el grup."
+msgstr "Heu de ser administrador per editar el grup."
#: actions/editgroup.php:158
msgid "Use this form to edit the group."
@@ -1333,7 +1344,7 @@ msgstr "Paràmetres del correu electrònic"
#: actions/emailsettings.php:76
#, php-format
msgid "Manage how you get email from %%site.name%%."
-msgstr "Gestionar com reps correus de %%site.name%%."
+msgstr "Gestioneu com rebeu correu de %%site.name%%."
#. TRANS: Form legend for e-mail settings form.
#. TRANS: Field label for e-mail address input in e-mail settings form.
@@ -1356,7 +1367,7 @@ msgstr "Adreça electrònica confirmada actualment."
#: actions/smssettings.php:180
msgctxt "BUTTON"
msgid "Remove"
-msgstr "Suprimeix"
+msgstr "Elimina"
#: actions/emailsettings.php:122
msgid ""
@@ -1400,14 +1411,13 @@ msgstr "Correu electrònic entrant"
#. TRANS: Form instructions for incoming SMS e-mail address form in SMS settings.
#: actions/emailsettings.php:155 actions/smssettings.php:178
msgid "Send email to this address to post new notices."
-msgstr ""
-"Envia correu electrònic a aquesta adreça per publicar noves notificacions."
+msgstr "Envia correu electrònic a aquesta adreça per publicar nous avisos."
#. TRANS: Instructions for incoming e-mail address input form.
#. TRANS: Instructions for incoming SMS e-mail address input form.
#: actions/emailsettings.php:164 actions/smssettings.php:186
msgid "Make a new email address for posting to; cancels the old one."
-msgstr "Posar un nou correu electrònic per publicar; cancel·lar l'antic."
+msgstr "Estableix una nova adreça electrònica d'enviament; cancel·la l'antiga."
#. TRANS: Button label for adding an e-mail address to send notices from.
#. TRANS: Button label for adding an SMS e-mail address to send notices from.
@@ -1424,15 +1434,13 @@ msgstr "Preferències del correu electrònic"
#. TRANS: Checkbox label in e-mail preferences form.
#: actions/emailsettings.php:180
msgid "Send me notices of new subscriptions through email."
-msgstr ""
-"Envia'm notificacions quan algú nou se'm subscrigui, al meu correu "
-"electrònic."
+msgstr "Envia'm avisos per correu electrònic quan algú nou se'm subscrigui."
#. TRANS: Checkbox label in e-mail preferences form.
#: actions/emailsettings.php:186
msgid "Send me email when someone adds my notice as a favorite."
msgstr ""
-"Envia'm un correu electrònic quan algú afegeixi una nota meva com a favorit."
+"Envia'm un correu electrònic quan algú afegeixi un avís meu com a preferit."
#. TRANS: Checkbox label in e-mail preferences form.
#: actions/emailsettings.php:193
@@ -1452,7 +1460,7 @@ msgstr "Permetre que els amics em reclamin i m'enviïn un correu electrònic."
#. TRANS: Checkbox label in e-mail preferences form.
#: actions/emailsettings.php:212
msgid "I want to post notices by email."
-msgstr "Vull publicar notificacions per correu electrònic."
+msgstr "Vull publicar avisos amb el correu electrònic."
#. TRANS: Checkbox label in e-mail preferences form.
#: actions/emailsettings.php:219
@@ -1514,7 +1522,7 @@ msgstr ""
#: actions/emailsettings.php:419 actions/imsettings.php:383
#: actions/smssettings.php:408
msgid "No pending confirmation to cancel."
-msgstr "Cap confirmació pendent per a cancel·lar."
+msgstr "Cap confirmació pendent per cancel·lar."
#. TRANS: Message given canceling e-mail address confirmation for the wrong e-mail address.
#: actions/emailsettings.php:424
@@ -1535,7 +1543,7 @@ msgstr "Aquest no és el teu correu electrònic"
#. TRANS: Message given after successfully removing a registered e-mail address.
#: actions/emailsettings.php:479
msgid "The email address was removed."
-msgstr "S'ha suprimit l'adreça de correu electrònic."
+msgstr "S'ha eliminat l'adreça de correu electrònic."
#: actions/emailsettings.php:493 actions/smssettings.php:568
msgid "No incoming email address."
@@ -1560,25 +1568,25 @@ msgstr "Nou correu electrònic entrant afegit."
#: actions/favor.php:79
msgid "This notice is already a favorite!"
-msgstr "Aquesta nota ja és favorita."
+msgstr "Aquest avís ja és un preferit."
#: actions/favor.php:92 lib/disfavorform.php:140
msgid "Disfavor favorite"
-msgstr "Desfavoritar favorit"
+msgstr "Fes que deixi de ser preferit"
#: actions/favorited.php:65 lib/popularnoticesection.php:91
#: lib/publicgroupnav.php:93
msgid "Popular notices"
-msgstr "Notificacions populars"
+msgstr "Avisos populars"
#: actions/favorited.php:67
#, php-format
msgid "Popular notices, page %d"
-msgstr "Notificacions populars, pàgina %d"
+msgstr "Avisos populars, pàgina %d"
#: actions/favorited.php:79
msgid "The most popular notices on the site right now."
-msgstr "Les notificacions més populars en aquest lloc ara mateix."
+msgstr "Els avisos més populars en aquest lloc ara mateix."
#: actions/favorited.php:150
msgid "Favorite notices appear on this page but no one has favorited one yet."
@@ -1607,7 +1615,7 @@ msgstr ""
#: lib/personalgroupnav.php:115
#, php-format
msgid "%s's favorite notices"
-msgstr "%s's notes favorites"
+msgstr "Avisos preferits de %s"
#: actions/favoritesrss.php:115
#, php-format
@@ -1655,7 +1663,7 @@ msgstr "L'usuari que s'escolta no existeix."
#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59
msgid "You can use the local subscription!"
-msgstr "Pots utilitzar la subscripció local!"
+msgstr "Podeu utilitzar la subscripció local!"
#: actions/finishremotesubscribe.php:99
msgid "That user has blocked you from subscribing."
@@ -1666,9 +1674,8 @@ msgid "You are not authorized."
msgstr "No esteu autoritzat."
#: actions/finishremotesubscribe.php:113
-#, fuzzy
msgid "Could not convert request token to access token."
-msgstr "No s'han pogut convertir els senyals de petició a senyals d'accés."
+msgstr "No s'ha pogut convertir el testimoni de sol·licitud a un d'accés."
#: actions/finishremotesubscribe.php:118
msgid "Remote service uses unknown version of OMB protocol."
@@ -1742,8 +1749,8 @@ msgid ""
"will be removed from the group, unable to post, and unable to subscribe to "
"the group in the future."
msgstr ""
-"Esteu segur que voleu blocar l'usuari «%1$s» del grup «%2$s»? Se suprimiran "
-"del grup, i no podran enviar-hi res ni subscriure-s'hi en el futur."
+"Esteu segur que voleu blocar l'usuari «%1$s» del grup «%2$s»? S'eliminarà del "
+"grup, i no podrà enviar-hi res ni subscriure-s'hi en el futur."
#. TRANS: Submit button title for 'No' when blocking a user from a group.
#: actions/groupblock.php:182
@@ -1880,6 +1887,11 @@ msgid ""
"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
"%%%%)"
msgstr ""
+"Els grups de %%%%site.name%%%% us permeten trobar-vos i parlar amb gent "
+"d'interessos semblants. Després d'unir-vos a un grup, podeu enviar missatges "
+"a altres membres emprant la sintaxi «!groupname». No veieu cap grup que us "
+"agradi? Proveu de [cercar-ne un](%%%%action.groupsearch%%%%) o [comenceu-ne "
+"un de propi!](%%%%action.newgroup%%%%)"
#: actions/groups.php:107 actions/usergroups.php:126 lib/groupeditform.php:122
msgid "Create a new group"
@@ -1909,6 +1921,8 @@ msgid ""
"If you can't find the group you're looking for, you can [create it](%%action."
"newgroup%%) yourself."
msgstr ""
+"Si no podeu trobar el grup que cerqueu, podeu provar de [crear-lo](%%action."
+"newgroup%%) també."
#: actions/groupsearch.php:85
#, php-format
@@ -1916,6 +1930,8 @@ msgid ""
"Why not [register an account](%%action.register%%) and [create the group](%%"
"action.newgroup%%) yourself!"
msgstr ""
+"Per què no [registreu un compte](%%action.register%%) i proveu de [crear-hi "
+"un grup](%%action.newgroup%%)!"
#: actions/groupunblock.php:91
msgid "Only an admin can unblock group members."
@@ -1927,7 +1943,7 @@ msgstr "L'usuari no està blocat del grup."
#: actions/groupunblock.php:128 actions/unblock.php:86
msgid "Error removing the block."
-msgstr "S'ha produït un error en suprimir el bloc."
+msgstr "S'ha produït un error en eliminar el bloc."
#. TRANS: Title for instance messaging settings.
#: actions/imsettings.php:60
@@ -1943,8 +1959,8 @@ msgid ""
"You can send and receive notices through Jabber/GTalk [instant messages](%%"
"doc.im%%). Configure your address and settings below."
msgstr ""
-"Pots enviar i rebre avisos via [missatges instantanis](%%doc.im%%) de Jabber/"
-"GTalk. Configura la teva adreça i opcions a sota."
+"Podeu enviar i rebre avisos a través de [missatges instantanis](%%doc.im%%) "
+"de Jabber/GTalk. Configureu la vostra adreça i opcions a continuació."
#. TRANS: Message given in the IM settings if XMPP is not enabled on the site.
#: actions/imsettings.php:94
@@ -1981,9 +1997,9 @@ 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 ""
-"Adreça Jabber o GTalk, per exemple \"NomUsuari@example.org\". Primer, "
-"assegura't d'afegir a %s a la teva llista d'amics en el teu client de "
-"missatgeria instantània o a GTalk."
+"Adreça Jabber o GTalk, per exemple «NomUsuari@example.org». Primer, assegureu-"
+"vos d'afegir %s a la vostra llista d'amics en el vostre client de "
+"missatgeria instantània o al GTalk."
#. TRANS: Form legend for IM preferences form.
#: actions/imsettings.php:155
@@ -2051,7 +2067,7 @@ msgid ""
"s for sending messages to you."
msgstr ""
"S'ha enviat un codi de confirmació a l'adreça de missatgeria instantània que "
-"has afegit. Has d'acceptar que %s et pugui enviar missatges."
+"heu afegit. Heu d'acceptar que %s us pugui enviar missatges."
#. TRANS: Message given canceling IM address confirmation for the wrong IM address.
#: actions/imsettings.php:388
@@ -2061,7 +2077,7 @@ msgstr "Aquesta adreça de missatgeria instantània és incorrecta."
#. TRANS: Server error thrown on database error canceling IM address confirmation.
#: actions/imsettings.php:397
msgid "Couldn't delete IM confirmation."
-msgstr "No s'ha pogut suprimir la confirmació de MI."
+msgstr "No s'ha pogut eliminar la confirmació de MI."
#. TRANS: Message given after successfully canceling IM address confirmation.
#: actions/imsettings.php:402
@@ -2077,17 +2093,17 @@ msgstr "Aquest no és el teu Jabber ID."
#. TRANS: Message given after successfully removing a registered IM address.
#: actions/imsettings.php:447
msgid "The IM address was removed."
-msgstr "S'ha suprimit l'adreça de MI."
+msgstr "S'ha eliminat l'adreça de MI."
#: actions/inbox.php:59
#, php-format
msgid "Inbox for %1$s - page %2$d"
-msgstr "Safata d'entrada per a %1$s - pàgina %2$d"
+msgstr "Safata d'entrada de %1$s - pàgina %2$d"
#: actions/inbox.php:62
#, php-format
msgid "Inbox for %s"
-msgstr "Safata d'entrada per %s"
+msgstr "Safata d'entrada de %s"
#: actions/inbox.php:115
msgid "This is your inbox, which lists your incoming private messages."
@@ -2103,7 +2119,7 @@ msgstr "S'han inhabilitat les invitacions."
#, php-format
msgid "You must be logged in to invite other users to use %s."
msgstr ""
-"Heu d'haver iniciat una sessió per a convidar altres usuaris a utilitzar %s"
+"Heu d'haver iniciat una sessió per convidar altres usuaris a utilitzar %s"
#: actions/invite.php:72
#, php-format
@@ -2112,11 +2128,11 @@ msgstr "Correu electrònic invàlid: %s"
#: actions/invite.php:110
msgid "Invitation(s) sent"
-msgstr "Invitació(ons) enviada(des)"
+msgstr "Invitacions envidades"
#: actions/invite.php:112
msgid "Invite new users"
-msgstr "Invitar nous usuaris"
+msgstr "Convida nous usuaris"
#: actions/invite.php:128
msgid "You are already subscribed to these users:"
@@ -2156,11 +2172,11 @@ msgstr ""
#: actions/invite.php:187
msgid "Email addresses"
-msgstr "Direcció de correu electrònic"
+msgstr "Adreces de correu electrònic"
#: actions/invite.php:189
msgid "Addresses of friends to invite (one per line)"
-msgstr "Direccions d'amic per convidar (una per línia)"
+msgstr "Adreces d'amics per convidar (una per línia)"
#: actions/invite.php:192
msgid "Personal message"
@@ -2242,7 +2258,7 @@ msgstr ""
#: actions/joingroup.php:60
msgid "You must be logged in to join a group."
-msgstr "Has d'haver entrat per participar en un grup."
+msgstr "Heu d'haver iniciat una sessió per unir-vos a un grup."
#: actions/joingroup.php:88 actions/leavegroup.php:88
msgid "No nickname or ID."
@@ -2257,7 +2273,7 @@ msgstr "%1$s s'ha unit al grup %2$s"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
-msgstr "Has d'haver entrat per a poder marxar d'un grup."
+msgstr "Heu d'haver iniciat una sessió per deixar un grup."
#: actions/leavegroup.php:100 lib/command.php:373
msgid "You are not a member of that group."
@@ -2299,7 +2315,7 @@ msgstr "Recorda'm"
#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-"Iniciar sessió automàticament en el futur; no utilitzar en ordinadors "
+"Inicia la sessió automàticament en el futur; no ho activeu en ordinadors "
"compartits!"
#: actions/login.php:247
@@ -2311,8 +2327,8 @@ msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-"Per raons de seguretat, si us plau torna a escriure el teu nom d'usuari i "
-"contrasenya abans de canviar la teva configuració."
+"Per raons de seguretat, torneu a escriure el vostre nom d'usuari i "
+"contrasenya abans de canviar la vostra configuració."
#: actions/login.php:270
msgid "Login with your username and password."
@@ -2355,7 +2371,7 @@ msgstr "Nova Aplicació"
#: actions/newapplication.php:64
msgid "You must be logged in to register an application."
-msgstr "Heu d'haver iniciat una sessió per a registrar-hi una aplicació."
+msgstr "Heu d'haver iniciat una sessió per registrar-hi una aplicació."
#: actions/newapplication.php:143
msgid "Use this form to register a new application."
@@ -2418,7 +2434,7 @@ msgstr "Nou avís"
#: actions/newnotice.php:217
msgid "Notice posted"
-msgstr "Notificació publicada"
+msgstr "S'ha publicat l'avís"
#: actions/noticesearch.php:68
#, php-format
@@ -2444,6 +2460,8 @@ msgid ""
"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
"status_textarea=%s)!"
msgstr ""
+"Sigueu el primer en [enviar sobre aquest tema](%%%%action.newnotice%%%%?"
+"status_textarea=%s)!"
#: actions/noticesearch.php:124
#, php-format
@@ -2451,6 +2469,8 @@ msgid ""
"Why not [register an account](%%%%action.register%%%%) and be the first to "
"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
msgstr ""
+"Per què no [registreu un compte](%%%%action.register%%%%) i sou el primer "
+"[en parlar del tema](%%%%action.newnotice%%%%?status_textarea=%s)!"
#: actions/noticesearchrss.php:96
#, php-format
@@ -2480,7 +2500,7 @@ msgstr "Reclamació enviada!"
#: actions/oauthappssettings.php:59
msgid "You must be logged in to list your applications."
-msgstr "Heu d'haver iniciat una sessió per a llistar les vostres aplicacions."
+msgstr "Heu d'haver iniciat una sessió per llistar les vostres aplicacions."
#: actions/oauthappssettings.php:74
msgid "OAuth applications"
@@ -2510,15 +2530,17 @@ msgstr "No sou usuari de l'aplicació."
#: actions/oauthconnectionssettings.php:186
#, php-format
msgid "Unable to revoke access for app: %s."
-msgstr ""
+msgstr "No s'ha pogut revocar l'accés de l'aplicació: %s"
#: actions/oauthconnectionssettings.php:198
msgid "You have not authorized any applications to use your account."
-msgstr ""
+msgstr "No heu autoritzat cap aplicació perquè utilitzi el vostre compte."
#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
+"Els desenvolupadors poden editar els paràmetres de registre de llurs "
+"aplicacions "
#: actions/oembed.php:79 actions/shownotice.php:100
msgid "Notice has no profile."
@@ -2539,11 +2561,11 @@ msgstr "El tipus de contingut %s no està permès."
#: actions/oembed.php:162
#, php-format
msgid "Only %s URLs over plain HTTP please."
-msgstr ""
+msgstr "Si us plau, només URL %s sobre HTTP pla."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Format de data no suportat."
@@ -2553,7 +2575,7 @@ msgstr "Cerca de gent"
#: actions/opensearch.php:67
msgid "Notice Search"
-msgstr "Cerca de notificacions"
+msgstr "Cerca d'avisos"
#: actions/othersettings.php:60
msgid "Other settings"
@@ -2561,7 +2583,7 @@ msgstr "Altres paràmetres"
#: actions/othersettings.php:71
msgid "Manage various other options."
-msgstr "Gestionar altres vàries opcions."
+msgstr "Gestiona altres opcions diferents."
#: actions/othersettings.php:108
msgid " (free service)"
@@ -2593,29 +2615,25 @@ msgid "No user ID specified."
msgstr "No s'ha especificat cap ID d'usuari."
#: actions/otp.php:83
-#, fuzzy
msgid "No login token specified."
-msgstr "No s'ha especificat perfil."
+msgstr "No s'ha especificat cap testimoni d'inici de sessió."
#: actions/otp.php:90
-#, fuzzy
msgid "No login token requested."
-msgstr "No id en el perfil sol·licitat."
+msgstr "No s'ha sol·licitat cap testimoni d'inici de sessió."
#: actions/otp.php:95
-#, fuzzy
msgid "Invalid login token specified."
-msgstr "El contingut de l'avís és invàlid"
+msgstr "No s'ha especificat un testimoni d'inici de sessió vàlid."
#: actions/otp.php:104
-#, fuzzy
msgid "Login token expired."
-msgstr "Accedir al lloc"
+msgstr "El testimoni d'inici de sessió ha vençut."
#: actions/outbox.php:58
-#, fuzzy, php-format
+#, php-format
msgid "Outbox for %1$s - page %2$d"
-msgstr "Safata de sortida per %s"
+msgstr "Safata de sortida de %1$s - pàgina %2$d"
#: actions/outbox.php:61
#, php-format
@@ -2630,11 +2648,11 @@ msgstr ""
#: actions/passwordsettings.php:58
msgid "Change password"
-msgstr "Canviar contrasenya"
+msgstr "Canvia la contrasenya"
#: actions/passwordsettings.php:69
msgid "Change your password."
-msgstr "Canviar contrasenya"
+msgstr "Canvieu la vostra contrasenya"
#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
msgid "Password change"
@@ -2679,11 +2697,11 @@ msgstr "Contrasenya antiga incorrecta"
#: actions/passwordsettings.php:181
msgid "Error saving user; invalid."
-msgstr "Error en guardar usuari; invàlid."
+msgstr "S'ha produït un error en desar l'usuari; no és vàlid."
#: actions/passwordsettings.php:186 actions/recoverpassword.php:381
msgid "Can't save new password."
-msgstr "No es pot guardar la nova contrasenya."
+msgstr "No es pot desar la nova contrasenya."
#: actions/passwordsettings.php:192 actions/recoverpassword.php:211
msgid "Password saved."
@@ -2696,31 +2714,31 @@ msgstr "Camins"
#: actions/pathsadminpanel.php:70
msgid "Path and server settings for this StatusNet site."
-msgstr ""
+msgstr "Camí i paràmetres del servidor d'aquest lloc StatusNet."
#: actions/pathsadminpanel.php:157
-#, fuzzy, php-format
+#, php-format
msgid "Theme directory not readable: %s."
-msgstr "Aquesta pàgina no està disponible en "
+msgstr "No es pot llegir el directori de temes: %s"
#: actions/pathsadminpanel.php:163
-#, fuzzy, php-format
+#, php-format
msgid "Avatar directory not writable: %s."
-msgstr "No es pot escriure al directori de fons: %s"
+msgstr "No es pot escriure al directori d'avatars: %s"
#: actions/pathsadminpanel.php:169
-#, fuzzy, php-format
+#, php-format
msgid "Background directory not writable: %s."
msgstr "No es pot escriure al directori de fons: %s"
#: actions/pathsadminpanel.php:177
-#, fuzzy, php-format
+#, php-format
msgid "Locales directory not readable: %s."
-msgstr "Aquesta pàgina no està disponible en "
+msgstr "No es pot llegir el directori de les traduccions: %s"
#: actions/pathsadminpanel.php:183
msgid "Invalid SSL server. The maximum length is 255 characters."
-msgstr ""
+msgstr "El servidor SSL no és vàlid. La mida màxima és de 255 caràcters."
#: actions/pathsadminpanel.php:234 actions/siteadminpanel.php:58
msgid "Site"
@@ -2744,11 +2762,11 @@ msgstr "Camí del lloc"
#: actions/pathsadminpanel.php:246
msgid "Path to locales"
-msgstr ""
+msgstr "El camí a les traduccions"
#: actions/pathsadminpanel.php:246
msgid "Directory path to locales"
-msgstr ""
+msgstr "El camí del directori a les traduccions"
#: actions/pathsadminpanel.php:250
msgid "Fancy URLs"
@@ -2856,9 +2874,9 @@ msgid "People search"
msgstr "Cerca de gent"
#: actions/peopletag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Not a valid people tag: %s."
-msgstr "Etiqueta no vàlida per a la gent: %s"
+msgstr "No és una etiqueta de gent vàlida: %s"
#: actions/peopletag.php:142
#, php-format
@@ -2873,6 +2891,8 @@ msgstr "El contingut de l'avís no és vàlid."
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
+"La llicència ‘%1$s’ de l'avís no és compatible amb la llicència ‘%2$s’ del "
+"lloc."
#: actions/profilesettings.php:60
msgid "Profile settings"
@@ -2882,8 +2902,8 @@ msgstr "Configuració del perfil"
msgid ""
"You can update your personal profile info here so people know more about you."
msgstr ""
-"Pots actualitzar la informació del teu perfil personal per a que la gent "
-"sàpiga més sobre tu."
+"Podeu actualitzar la informació del vostre perfil personal perquè la gent us "
+"pugui conèixer millor."
#: actions/profilesettings.php:99
msgid "Profile information"
@@ -2916,9 +2936,8 @@ msgid "Describe yourself and your interests in %d chars"
msgstr "Descriviu qui sou i els vostres interessos en %d caràcters"
#: actions/profilesettings.php:125 actions/register.php:464
-#, fuzzy
msgid "Describe yourself and your interests"
-msgstr "Explica'ns alguna cosa sobre tu "
+msgstr "Feu una descripció personal i interessos"
#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
@@ -2933,7 +2952,7 @@ msgstr "Ubicació"
#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr "On ets, per exemple \"Ciutat, Estat (o Regió), País\""
+msgstr "On us trobeu, per exemple «ciutat, comarca (o illa), país»"
#: actions/profilesettings.php:138
msgid "Share my current location when posting notices"
@@ -2949,31 +2968,31 @@ msgstr "Etiquetes"
msgid ""
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
msgstr ""
-"Etiquetes per a tu mateix (lletres, números, -, ., i _), per comes o separat "
-"por espais"
+"Etiquetes pròpies (lletres, nombres, -, ., i _), per comes o separades amb "
+"espais"
#: actions/profilesettings.php:151
msgid "Language"
-msgstr "Idioma"
+msgstr "Llengua"
#: actions/profilesettings.php:152
msgid "Preferred language"
-msgstr "Preferència d'idioma"
+msgstr "Llengua preferida"
#: actions/profilesettings.php:161
msgid "Timezone"
-msgstr "Franja horària"
+msgstr "Fus horari"
#: actions/profilesettings.php:162
msgid "What timezone are you normally in?"
-msgstr "Quina franja horària seria normal ser?"
+msgstr "En quin fus horari us trobeu normalment?"
#: actions/profilesettings.php:167
msgid ""
"Automatically subscribe to whoever subscribes to me (best for non-humans)"
msgstr ""
-"Automàticament subscriure's a qualsevol que ho estigui a tu mateix (ideal "
-"per no-humans)"
+"Subscripció automàtica a qualsevol qui em tingui subscrit (ideal per no-"
+"humans)"
#: actions/profilesettings.php:228 actions/register.php:223
#, php-format
@@ -2991,7 +3010,7 @@ msgstr "L'idioma és massa llarg (màx 50 caràcters)."
#: actions/profilesettings.php:253 actions/tagother.php:178
#, php-format
msgid "Invalid tag: \"%s\""
-msgstr "Etiqueta no vàlida: \"%s\""
+msgstr "L'etiqueta no és vàlida: «%s»"
#: actions/profilesettings.php:306
msgid "Couldn't update user for autosubscribe."
@@ -3003,11 +3022,11 @@ msgstr "No s'han pogut desar les preferències d'ubicació."
#: actions/profilesettings.php:375
msgid "Couldn't save profile."
-msgstr "No s'ha pogut guardar el perfil."
+msgstr "No s'ha pogut desar el perfil."
#: actions/profilesettings.php:383
msgid "Couldn't save tags."
-msgstr "No s'han pogut guardar les etiquetes."
+msgstr "No s'han pogut desar les etiquetes."
#. TRANS: Message after successful saving of administrative settings.
#: actions/profilesettings.php:391 lib/adminpanelaction.php:141
@@ -3073,16 +3092,20 @@ msgid ""
"tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
+"Això és %%site.name%%, un servei de [micro-blogging](http://en.wikipedia.org/"
+"wiki/Micro-blogging) basat en l'eina lliure [StatusNet](http://status.net/). "
+"[Uniu-vos-hi ara](%%action.register%%) per compartir què feu amb els vostres "
+"amics, familiars, i companys! ([Més informació](%%doc.help%%))"
#: actions/public.php:247
-#, fuzzy, php-format
+#, php-format
msgid ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
"blogging) service based on the Free Software [StatusNet](http://status.net/) "
"tool."
msgstr ""
"Això és %%site.name%%, un servei de [microblogging](http://ca.wikipedia.org/"
-"wiki/Microblogging) "
+"wiki/Microblogging) basat en l'eina lliure [StatusNet](http://status.net/)."
#: actions/publictagcloud.php:57
msgid "Public tag cloud"
@@ -3097,6 +3120,8 @@ msgstr "Aquestes són les etiquetes recents més populars a %s "
#, php-format
msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
msgstr ""
+"Ningú ha enviat encara cap avís amb una [etiqueta de coixinet (#)](%%doc.tags"
+"%%)."
#: actions/publictagcloud.php:72
msgid "Be the first to post one!"
@@ -3108,6 +3133,8 @@ msgid ""
"Why not [register an account](%%action.register%%) and be the first to post "
"one!"
msgstr ""
+"Per què no hi [registreu un compte](%%action.register%%) i sou el primer en "
+"escriure'n un!"
#: actions/publictagcloud.php:134
msgid "Tag cloud"
@@ -3169,15 +3196,15 @@ msgstr ""
#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
msgid "Recover"
-msgstr "Recuperar"
+msgstr "Recupera"
#: actions/recoverpassword.php:208
msgid "Reset password"
-msgstr "Restablir contrasenya"
+msgstr "Reinicialitza la contrasenya"
#: actions/recoverpassword.php:209
msgid "Recover password"
-msgstr "Recuperar contrasenya"
+msgstr "Recupera la contrasenya"
#: actions/recoverpassword.php:210 actions/recoverpassword.php:335
msgid "Password recovery requested"
@@ -3205,7 +3232,7 @@ msgstr "No hi ha cap usuari amb aquesta direcció o usuari."
#: actions/recoverpassword.php:299
msgid "No registered email address for that user."
-msgstr "Cap adreça de correu electrònic registrada per aquest usuari."
+msgstr "No hi ha cap adreça de correu electrònic registrada d'aquest usuari."
#: actions/recoverpassword.php:313
msgid "Error saving address confirmation."
@@ -3216,7 +3243,7 @@ msgid ""
"Instructions for recovering your password have been sent to the email "
"address registered to your account."
msgstr ""
-"S'han enviat instruccions per a recuperar la teva contrasenya a l'adreça de "
+"S'han enviat instruccions per recuperar la vostra contrasenya a l'adreça de "
"correu electrònic registrada."
#: actions/recoverpassword.php:357
@@ -3251,7 +3278,7 @@ msgstr "El codi d'invitació no és vàlid."
msgid "Registration successful"
msgstr "Registre satisfactori"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registre"
@@ -3272,7 +3299,6 @@ msgid "Invalid username or password."
msgstr "Nom d'usuari o contrasenya invàlids."
#: actions/register.php:343
-#, fuzzy
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -3302,23 +3328,46 @@ msgstr "Correu electrònic"
#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-"Utilitzat només per a actualitzacions, anuncis i recuperació de contrasenyes"
+"Utilitzat només per a actualitzacions, anuncis i recuperació de contrasenya"
#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
-msgstr "Nom llarg, preferiblement el teu nom \"real\""
+msgstr "Nom llarg, preferiblement el vostre nom «real»"
-#: actions/register.php:494
+#: actions/register.php:511
#, fuzzy, php-format
msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "El contingut i les dades de %1$s són privades i confidencials."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
+#, php-format
+msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-"excepte les següents dades privades: contrasenya, adreça de correu "
-"electrònic, adreça de missatgeria instantània, número de telèfon."
+"El meu text i fitxers es troben disponibles sota %s, excepte pel que fa a "
+"les dades privades: contrasenya, adreça de correu electrònic, adreça de "
+"missatgeria instantània i número de telèfon."
-#: actions/register.php:542
-#, fuzzy, php-format
+#: actions/register.php:576
+#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
"want to...\n"
@@ -3335,20 +3384,22 @@ msgid ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-"Felicitats, %s! I benvingut/da a %%%%site.name%%%%. Des d'aquí, podries...\n"
+"Enhorabona, %1$s! Us donem la benvinguda a %%%%site.name%%%%. A partir "
+"d'ara, podríeu voler...\n"
"\n"
-"* Anar al teu [teu perfil](%s) i publicar el teu primer missatge.\n"
-"* Afegir una [direcció Jabber/GTalk](%%%%action.imsettings%%%%) i així poder "
-"publicar les notificacions a través de missatgeria instantània.\n"
-"* [Buscar gent](%%%%action.peoplesearch%%%%) que puguis conèixer o que "
-"comparteixi els teus interessos. \n"
-"* Actualitzar les [preferències del teu perfil](%%%%action.profilesettings%%%"
-"%) per explicar als demés més sobre tu. * Llegir els [documents de la xarxa]"
-"(%%%%doc.help%%%%) per conèixer les característiques del nostre servei. \n"
+"* Anar al [vostre perfil](%2%s) i enviar el vostre primer missatge.\n"
+"* Afegir una [adreça de Jabber/GTalk](%%%%action.imsettings%%%%) i així "
+"poder enviar avisos a través de missatgeria instantània.\n"
+"* [Cercar gent](%%%%action.peoplesearch%%%%) que pugueu conèixer o que "
+"comparteixi els vostres interessos. \n"
+"* Actualitzar les [preferències del vostre perfil](%%%%action.profilesettings"
+"%%%%) per incloure-hi informació personal. \n"
+"* Consultar els [documents de la xarxa](%%%%doc.help%%%%) per tal de "
+"conèixer les característiques del servei. \n"
"\n"
-"Gràcies per registrar-te i esperem que gaudeixis d'aquest servei."
+"Gràcies per registrar-vos-hi i esperem que en gaudiu."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3363,10 +3414,10 @@ msgid ""
"register%%) a new account. If you already have an account on a [compatible "
"microblogging site](%%doc.openmublog%%), enter your profile URL below."
msgstr ""
-"Per a subscriure't, pots [iniciar una sessió](%%action.login%%), o "
-"[registrar](%%action.register%%) un nou compte. Si ja tens un en un [servei "
-"de microblogging compatible](%%doc.openmublog%%), escriu l'URL del teu "
-"perfil a sota."
+"Per subscriure-us, podeu [iniciar una sessió](%%action.login%%), o "
+"[registrar-hi](%%action.register%%) un nou compte. Si ja en teniu un en un "
+"[servei de microblogging compatible](%%doc.openmublog%%), escriviu l'URL del "
+"vostre perfil a continuació."
#: actions/remotesubscribe.php:112
msgid "Remote subscribe"
@@ -3402,18 +3453,18 @@ msgid "Invalid profile URL (bad format)"
msgstr "L'URL del perfil és invàlid (format incorrecte)"
#: actions/remotesubscribe.php:168
-#, fuzzy
msgid "Not a valid profile URL (no YADIS document or invalid XRDS defined)."
-msgstr "URL de perfil no vàlid (cap document YADIS)."
+msgstr ""
+"L'URL del perfil no és vàlid (no és un document YADIS o no s'ha definit un "
+"XRDS vàlid)."
#: actions/remotesubscribe.php:176
msgid "That’s a local profile! Login to subscribe."
-msgstr "Aquest és un perfil local! Inicieu una sessió per a subscriure-us-hi."
+msgstr "Aquest és un perfil local! Inicieu una sessió per subscriure-us-hi."
#: actions/remotesubscribe.php:183
-#, fuzzy
msgid "Couldn’t get a request token."
-msgstr "No s'ha pogut obtenir un senyal de petició."
+msgstr "No s'ha pogut obtenir un testimoni de sol·licitud."
#: actions/repeat.php:57
msgid "Only logged-in users can repeat notices."
@@ -3424,15 +3475,14 @@ msgid "No notice specified."
msgstr "No s'ha especificat cap avís."
#: actions/repeat.php:76
-#, fuzzy
msgid "You can't repeat your own notice."
-msgstr "No pots registrar-te si no estàs d'acord amb la llicència."
+msgstr "No podeu repetir el vostre propi avís."
#: actions/repeat.php:90
msgid "You already repeated that notice."
msgstr "Ja havíeu repetit l'avís."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repetit"
@@ -3464,16 +3514,16 @@ msgstr "Canal de respostes de %s (RSS 2.0)"
#: actions/replies.php:159
#, php-format
msgid "Replies feed for %s (Atom)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal de respostes de %s (Atom)"
#: actions/replies.php:199
-#, fuzzy, php-format
+#, 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 ""
-"Aquesta és la línia temporal de %s i amics, però ningú hi ha enviat res "
-"encara."
+"Aquesta és la línia temporal que mostra les respostes a %1$s, però %2$s "
+"encara no ha rebut cap avís a la seva atenció."
#: actions/replies.php:204
#, php-format
@@ -3481,6 +3531,8 @@ msgid ""
"You can engage other users in a conversation, subscribe to more people or "
"[join groups](%%action.groups%%)."
msgstr ""
+"Podeu animar altres usuaris a una conversa, subscriviu-vos a més gent o "
+"[uniu-vos a grups](%%action.groups%%)."
#: actions/replies.php:206
#, php-format
@@ -3488,6 +3540,8 @@ 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 ""
+"Podeu provar d'[avisar %1$s](../%2$s) o [enviar quelcom per reclamar la seva "
+"atenció](%%%%action.newnotice%%%%?status_textarea=%3$s)."
#: actions/repliesrss.php:72
#, php-format
@@ -3495,28 +3549,24 @@ 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."
+msgstr "No podeu revocar els rols d'usuari en aquest lloc."
#: actions/revokerole.php:82
-#, fuzzy
msgid "User doesn't have this role."
-msgstr "Usuari sense perfil coincident"
+msgstr "L'usuari no té aquest rol."
#: actions/rsd.php:146 actions/version.php:157
msgid "StatusNet"
msgstr "StatusNet"
#: actions/sandbox.php:65 actions/unsandbox.php:65
-#, fuzzy
msgid "You cannot sandbox users on this site."
-msgstr "No pots enviar un missatge a aquest usuari."
+msgstr "No podeu posar els usuaris en un entorn de prova en aquest lloc."
#: actions/sandbox.php:72
-#, fuzzy
msgid "User is already sandboxed."
-msgstr "Un usuari t'ha bloquejat."
+msgstr "L'usuari ja es troba en un entorn de proves."
#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
@@ -3525,9 +3575,8 @@ msgid "Sessions"
msgstr "Sessions"
#: actions/sessionsadminpanel.php:65
-#, fuzzy
msgid "Session settings for this StatusNet site."
-msgstr "Paràmetres de disseny d'aquest lloc StatusNet."
+msgstr "Paràmetres de sessió d'aquest lloc StatusNet."
#: actions/sessionsadminpanel.php:175
msgid "Handle sessions"
@@ -3551,9 +3600,8 @@ msgid "Save site settings"
msgstr "Desa els paràmetres del lloc"
#: actions/showapplication.php:82
-#, fuzzy
msgid "You must be logged in to view an application."
-msgstr "Has d'haver entrat per a poder marxar d'un grup."
+msgstr "Heu d'haver iniciat una sessió per visualitzar una aplicació."
#: actions/showapplication.php:157
msgid "Application profile"
@@ -3597,7 +3645,7 @@ msgstr "Accions d'aplicació"
#: actions/showapplication.php:236
msgid "Reset key & secret"
-msgstr ""
+msgstr "Reinicialitza la clau i la secreta"
#: actions/showapplication.php:261
msgid "Application info"
@@ -3605,19 +3653,19 @@ msgstr "Informació de l'aplicació"
#: actions/showapplication.php:263
msgid "Consumer key"
-msgstr ""
+msgstr "Clau del consumidor"
#: actions/showapplication.php:268
msgid "Consumer secret"
-msgstr ""
+msgstr "Secreta del consumidor"
#: actions/showapplication.php:273
msgid "Request token URL"
-msgstr ""
+msgstr "Sol·licita l'URL del testimoni"
#: actions/showapplication.php:278
msgid "Access token URL"
-msgstr ""
+msgstr "Accedeix a l'URL del testimoni"
#: actions/showapplication.php:283
msgid "Authorize URL"
@@ -3628,16 +3676,18 @@ msgid ""
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
"signature method."
msgstr ""
+"Nota: Les signatures HMAC-SHA1 són vàlides; però no es permet el mètode de "
+"signatures en text net."
#: actions/showapplication.php:309
-#, fuzzy
msgid "Are you sure you want to reset your consumer key and secret?"
-msgstr "N'estàs segur que vols eliminar aquesta notificació?"
+msgstr ""
+"Esteu segur que voleu reinicialitzar la clau del consumidor i la secreta?"
#: actions/showfavorites.php:79
-#, fuzzy, php-format
+#, php-format
msgid "%1$s's favorite notices, page %2$d"
-msgstr "%s's notes favorites"
+msgstr "Avisos preferits de %1$s, pàgina %2$d"
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3663,6 +3713,8 @@ 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 ""
+"No heu triat cap avís preferit encara. Feu clic al botó de preferit dels "
+"avisos que us agraden per arxivar-los per a més endavant i fer-los conèixer."
#: actions/showfavorites.php:208
#, php-format
@@ -3670,6 +3722,8 @@ msgid ""
"%s hasn't added any notices to his favorites yet. Post something interesting "
"they would add to their favorites :)"
msgstr ""
+"%s no ha afegit cap avís als seus preferits encara. Envieu quelcom "
+"interessant que pugui afegir-hi."
#: actions/showfavorites.php:212
#, php-format
@@ -3678,6 +3732,9 @@ msgid ""
"account](%%%%action.register%%%%) and then post something interesting they "
"would add to their favorites :)"
msgstr ""
+"%s no ha afegit cap avís als seus preferits encara. Per què no [registreu un "
+"compte](%%%%action.register%%%%) i llavors envieu quelcom interessant que "
+"pugui afegir-hi."
#: actions/showfavorites.php:243
msgid "This is a way to share what you like."
@@ -3689,9 +3746,9 @@ msgid "%s group"
msgstr "%s grup"
#: actions/showgroup.php:84
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group, page %2$d"
-msgstr "%s membre/s en el grup, pàgina %d"
+msgstr "grup %1$s, pàgina %2$d"
#: actions/showgroup.php:227
msgid "Group profile"
@@ -3762,9 +3819,15 @@ msgid ""
"their life and interests. [Join now](%%%%action.register%%%%) to become part "
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
+"**%s** és un grup d'usuaris a %%%%site.name%%%%, un servei de [microblogging]"
+"(http://ca.wikipedia.org/wiki/Microblogging) basat en l'eina lliure "
+"[StatusNet](http://status.net/). Els seus membres comparteixen missatges "
+"curts sobre llur vida i interessos. [Uniu-vos-hi ara](%%%%action.register%%%"
+"%) per formar part del grup i molt més! ([Més informació...](%%%%doc.help%%%"
+"%))"
#: actions/showgroup.php:469
-#, fuzzy, php-format
+#, php-format
msgid ""
"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
@@ -3772,7 +3835,9 @@ msgid ""
"their life and interests. "
msgstr ""
"**%s** és un grup d'usuaris a %%%%site.name%%%%, un servei de [microblogging]"
-"(http://ca.wikipedia.org/wiki/Microblogging)"
+"(http://ca.wikipedia.org/wiki/Microblogging) basat en l'eina lliure "
+"[StatusNet](http://status.net/). Els seus membre comparteixen missatges "
+"curts sobre llur vida i interessos. "
#: actions/showgroup.php:497
msgid "Admins"
@@ -3798,7 +3863,7 @@ msgstr "Missatge de %1$s a %2$s"
#: actions/shownotice.php:90
msgid "Notice deleted."
-msgstr "S'ha suprimit l'avís."
+msgstr "S'ha eliminat l'avís."
#: actions/showstream.php:73
#, php-format
@@ -3811,42 +3876,43 @@ msgid "%1$s, page %2$d"
msgstr "%1$s, pàgina %2$d"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Feed d'avisos del grup %s"
+msgstr "Canal d'avisos de %1$s etiquetats amb %2$s (RSS 1.0)"
#: actions/showstream.php:129
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (RSS 1.0)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal d'avisos de %s (RSS 1.0)"
#: actions/showstream.php:136
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (RSS 2.0)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal d'avisos de %s (RSS 2.0)"
#: actions/showstream.php:143
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %s (Atom)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal d'avisos de %s (Atom)"
#: actions/showstream.php:148
-#, fuzzy, php-format
+#, php-format
msgid "FOAF for %s"
-msgstr "Safata de sortida per %s"
+msgstr "FOAF de %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 ""
-"Aquesta és la línia temporal de %s i amics, però ningú hi ha enviat res "
-"encara."
+"Aquesta és la línia temporal de %1$s, però %2$s no hi ha enviat res encara."
#: 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 ""
+"Heu vist res interessant recentment? No heu enviat cap avís encara, ara "
+"podria ser un bon moment per començar :)"
#: actions/showstream.php:207
#, php-format
@@ -3854,6 +3920,8 @@ msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
+"Podeu provar d'avisar %1$s o [enviar quelcom per reclamar la seva atenció](%%"
+"%%action.newnotice%%%%?status_textarea=%2$s)."
#: actions/showstream.php:243
#, php-format
@@ -3863,16 +3931,23 @@ msgid ""
"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
+"**%s** té un compte a %%%%site.name%%%%, un servei de [microblogging](http://"
+"ca.wikipedia.org/wiki/Microblogging) basat en l'eina lliure [StatusNet]"
+"(http://status.net/). Els seus membres comparteixen missatges curts sobre "
+"llur vida i interessos. [Uniu-vos-hi ara](%%%%action.register%%%%) per poder "
+"seguir els avisos de **%s** i molt més! ([Més informació...](%%%%doc.help%%%"
+"%))"
#: actions/showstream.php:248
-#, fuzzy, php-format
+#, php-format
msgid ""
"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
"[StatusNet](http://status.net/) tool. "
msgstr ""
"**%s** té un compte a %%%%site.name%%%%, un servei de [microblogging](http://"
-"ca.wikipedia.org/wiki/Microblogging) "
+"ca.wikipedia.org/wiki/Microblogging) basat en l'eina lliure [StatusNet]"
+"(http://status.net/). "
#: actions/showstream.php:305
#, php-format
@@ -3888,18 +3963,16 @@ msgid "User is already silenced."
msgstr "L'usuari ja està silenciat."
#: actions/siteadminpanel.php:69
-#, fuzzy
msgid "Basic settings for this StatusNet site"
-msgstr "Paràmetres bàsic d'aquest lloc basat en l'StatusNet."
+msgstr "Paràmetres bàsics d'aquest lloc basat en l'StatusNet."
#: 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:141
-#, fuzzy
msgid "You must have a valid contact email address."
-msgstr "Heu de tenir una adreça electrònica de contacte vàlida"
+msgstr "Heu de tenir una adreça electrònica de contacte vàlida."
#: actions/siteadminpanel.php:159
#, php-format
@@ -3928,7 +4001,7 @@ msgstr "El nom del vostre lloc, com ara «El microblog de l'empresa»"
#: actions/siteadminpanel.php:229
msgid "Brought by"
-msgstr ""
+msgstr "Funciona gràcies a"
#: actions/siteadminpanel.php:230
msgid "Text used for credits link in footer of each page"
@@ -3936,11 +4009,11 @@ msgstr "El text que s'utilitza a l'enllaç dels crèdits al peu de cada pàgina"
#: actions/siteadminpanel.php:234
msgid "Brought by URL"
-msgstr ""
+msgstr "URL de «Funciona gràcies a»"
#: actions/siteadminpanel.php:235
msgid "URL used for credits link in footer of each page"
-msgstr ""
+msgstr "L'URL que s'utilitza en els enllaços de crèdits al peu de cada pàgina"
#: actions/siteadminpanel.php:239
msgid "Contact email address for your site"
@@ -3996,7 +4069,7 @@ msgstr "Avís del lloc"
#: actions/sitenoticeadminpanel.php:67
msgid "Edit site-wide message"
-msgstr "Edita el missatge per a tot el lloc"
+msgstr "Edita el missatge de tot el lloc"
#: actions/sitenoticeadminpanel.php:103
msgid "Unable to save site notice."
@@ -4004,15 +4077,15 @@ msgstr "No s'ha pogut desar l'avís del lloc."
#: actions/sitenoticeadminpanel.php:113
msgid "Max length for the site-wide notice is 255 chars."
-msgstr "La mida màxima per a als avisos per a tot el lloc és de 255 caràcters."
+msgstr "La mida màxima per als avisos de tot el lloc és de 255 caràcters."
#: actions/sitenoticeadminpanel.php:176
msgid "Site notice text"
-msgstr "Text de l'avís per al lloc"
+msgstr "Text de l'avís del lloc"
#: actions/sitenoticeadminpanel.php:178
msgid "Site-wide notice text (255 chars max; HTML okay)"
-msgstr "Text d'avís per a tot el lloc (màxim 255 caràcters, es permet l'HTML)"
+msgstr "Text d'avís de tot el lloc (màxim 255 caràcters, es permet l'HTML)"
#: actions/sitenoticeadminpanel.php:198
msgid "Save site notice"
@@ -4050,7 +4123,7 @@ msgstr "Número de telèfon actualment confirmat i activat per SMS."
#. TRANS: Form guide in IM settings form.
#: actions/smssettings.php:133
msgid "Awaiting confirmation on this phone number."
-msgstr "Esperant confirmació per aquest número de telèfon."
+msgstr "S'està esperant la confirmació d'aquest número de telèfon."
#. TRANS: Field label for SMS address input in SMS settings form.
#: actions/smssettings.php:142
@@ -4119,14 +4192,13 @@ msgstr "Aquest número de telèfon pertany a un altre usuari."
#. TRANS: Message given saving valid SMS phone number that is to be confirmed.
#: actions/smssettings.php:384
-#, 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 ""
-"S'ha enviat un codi de confirmació al número de telèfon has afegit. Revisa "
-"la teva safata d'entrada (i la carpeta de spam!) per veure aquest codi i les "
-"instruccions per utilitzar-lo."
+"S'ha enviat un codi de confirmació al número de telèfon que heu afegit. "
+"Comproveu el codi i instruccions del vostre telèfon per saber com fer-lo "
+"servir."
#. TRANS: Message given canceling SMS phone number confirmation for the wrong phone number.
#: actions/smssettings.php:413
@@ -4135,9 +4207,8 @@ msgstr "Aquest és un número de confirmació incorrecte."
#. TRANS: Message given after successfully canceling SMS phone number confirmation.
#: actions/smssettings.php:427
-#, fuzzy
msgid "SMS confirmation cancelled."
-msgstr "Confirmació cancel·lada."
+msgstr "La confirmació d'SMS s'ha cancel·lat."
#. TRANS: Message given trying to remove an SMS phone number that is not
#. TRANS: registered for the active user.
@@ -4147,9 +4218,8 @@ msgstr "Aquest no és el teu número de telèfon."
#. TRANS: Message given after successfully removing a registered SMS phone number.
#: actions/smssettings.php:470
-#, fuzzy
msgid "The SMS phone number was removed."
-msgstr "Número de telèfon per als SMS"
+msgstr "S'ha eliminat el número de telèfon de l'SMS."
#. TRANS: Label for mobile carrier dropdown menu in SMS settings.
#: actions/smssettings.php:511
@@ -4169,14 +4239,14 @@ 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 ""
-"Capacitat per al teu telèfon mòbil. Si vostè coneix una companyia que "
-"accepti SMS a través del correu electrònic, però no està a la llista, "
-"envia'ns un correu electrònic per fer-nos-ho saber %s."
+"Capacitat per al vostre telèfon mòbil. Si coneixeu una companyia que accepti "
+"SMS a través del correu electrònic, però no es troba a la llista, envieu-nos "
+"un missatge de correu per fer-nos-ho saber %s."
#. TRANS: Message given saving SMS phone number confirmation code without having provided one.
#: actions/smssettings.php:548
msgid "No code entered"
-msgstr "No hi ha cap codi entrat"
+msgstr "No s'ha introduït cap codi"
#. TRANS: Menu item for site administration
#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
@@ -4185,25 +4255,24 @@ msgid "Snapshots"
msgstr "Instantànies"
#: actions/snapshotadminpanel.php:65
-#, fuzzy
msgid "Manage snapshot configuration"
-msgstr "Canvia la configuració del lloc"
+msgstr "Gestiona la configuració de les instantànies"
#: actions/snapshotadminpanel.php:127
msgid "Invalid snapshot run value."
-msgstr ""
+msgstr "El valor d'execució d'instantànies no és vàlid."
#: actions/snapshotadminpanel.php:133
msgid "Snapshot frequency must be a number."
-msgstr ""
+msgstr "La freqüència de les instantànies ha de ser un nombre."
#: actions/snapshotadminpanel.php:144
msgid "Invalid snapshot report URL."
-msgstr ""
+msgstr "L'URL d'informe d'instantànies no és vàlid."
#: actions/snapshotadminpanel.php:200
msgid "Randomly during web hit"
-msgstr ""
+msgstr "A l'atzar durant les sol·licituds web"
#: actions/snapshotadminpanel.php:201
msgid "In a scheduled job"
@@ -4215,7 +4284,7 @@ msgstr "Instantànies de dades"
#: actions/snapshotadminpanel.php:208
msgid "When to send statistical data to status.net servers"
-msgstr ""
+msgstr "Quan enviar dades estadístiques als servidors de l'status.net"
#: actions/snapshotadminpanel.php:217
msgid "Frequency"
@@ -4223,20 +4292,19 @@ msgstr "Freqüència"
#: actions/snapshotadminpanel.php:218
msgid "Snapshots will be sent once every N web hits"
-msgstr ""
+msgstr "Les instantànies s'enviaran una vegada cada N sol·licituds web"
#: actions/snapshotadminpanel.php:226
msgid "Report URL"
-msgstr ""
+msgstr "Informa de l'URL"
#: 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"
+msgstr "Desa els paràmetres de les instantànies"
#: actions/subedit.php:70
msgid "You are not subscribed to that profile."
@@ -4248,16 +4316,15 @@ msgstr "No s'ha pogut guardar la subscripció."
#: actions/subscribe.php:77
msgid "This action only accepts POST requests."
-msgstr ""
+msgstr "Aquesta acció només accepta sol·licituds POST."
#: actions/subscribe.php:107
msgid "No such profile."
msgstr "No existeix el perfil."
#: actions/subscribe.php:117
-#, fuzzy
msgid "You cannot subscribe to an OMB 0.1 remote profile with this action."
-msgstr "No estàs subscrit a aquest perfil."
+msgstr "No podeu subscriure-us a un perfil remot OMB 0.1 amb aquesta acció."
#: actions/subscribe.php:145
msgid "Subscribed"
@@ -4332,6 +4399,12 @@ msgid ""
"featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can "
"automatically subscribe to people you already follow there."
msgstr ""
+"No esteu escoltant els avisos de ningú ara mateix, proveu de subscriure-us a "
+"gent que coneixeu. Proveu de [cercar gent](%%action.peoplesearch%%), trobar "
+"membres de grups en què esteu interessats i en els nostres [usuaris "
+"destacats](%%action.featured%%). Si sou un [usuari del Twitter](%%action."
+"twittersettings%%), podeu subscriure-us automàticament a gent que ja seguiu "
+"allà."
#: actions/subscriptions.php:128 actions/subscriptions.php:132
#, php-format
@@ -4347,29 +4420,28 @@ msgid "SMS"
msgstr "SMS"
#: actions/tag.php:69
-#, fuzzy, php-format
+#, php-format
msgid "Notices tagged with %1$s, page %2$d"
-msgstr "Usuaris que s'han etiquetat %s - pàgina %d"
+msgstr "Avisos etiquetats amb %1$s, pàgina %2$d"
#: actions/tag.php:87
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal d'avisos de l'etiqueta %s (RSS 1.0)"
#: actions/tag.php:93
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal d'avisos de l'etiqueta %s (RSS 2.0)"
#: actions/tag.php:99
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for tag %s (Atom)"
-msgstr "Feed d'avisos de %s"
+msgstr "Canal d'avisos de l'etiqueta %s (Atom)"
#: actions/tagother.php:39
-#, fuzzy
msgid "No ID argument."
-msgstr "No argument de la id."
+msgstr "No hi ha cap argument ID."
#: actions/tagother.php:65
#, php-format
@@ -4394,15 +4466,15 @@ msgid ""
"Tags for this user (letters, numbers, -, ., and _), comma- or space- "
"separated"
msgstr ""
-"Etiquetes per aquest usuari (lletres, números,, -, ., i _), comes o separat "
-"per espais"
+"Etiquetes d'aquest usuari (lletres, nombres,, -, ., i _), comes o separades "
+"amb espais"
#: actions/tagother.php:193
msgid ""
"You can only tag people you are subscribed to or who are subscribed to you."
msgstr ""
-"Només pots etiquetar gent a la que estiguis subscrit o que s'hagin subscrit "
-"a tu."
+"Només podeu etiquetar gent a la qual estigueu subscrit o que us hagin "
+"subscrit."
#: actions/tagother.php:200
msgid "Could not save tags."
@@ -4411,7 +4483,7 @@ msgstr "No s'han pogut guardar les etiquetes."
#: actions/tagother.php:236
msgid "Use this form to add tags to your subscribers or subscriptions."
msgstr ""
-"Utilitza aquest formulari per afegir etiquetes als teus subscriptors i "
+"Utilitzeu aquest formulari per afegir etiquetes als vostres subscriptors i "
"subscripcions."
#: actions/tagrss.php:35
@@ -4427,18 +4499,16 @@ msgid "You haven't blocked that user."
msgstr "No heu blocat l'usuari."
#: actions/unsandbox.php:72
-#, fuzzy
msgid "User is not sandboxed."
-msgstr "Un usuari t'ha bloquejat."
+msgstr "L'usuari no està a l'entorn de proves."
#: actions/unsilence.php:72
msgid "User is not silenced."
msgstr "L'usuari no està silenciat."
#: actions/unsubscribe.php:77
-#, fuzzy
msgid "No profile ID in request."
-msgstr "No id en el perfil sol·licitat."
+msgstr "No hi ha cap identificador del perfil en la sol·licitud."
#: actions/unsubscribe.php:98
msgid "Unsubscribed"
@@ -4449,6 +4519,8 @@ msgstr "No subscrit"
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
+"La llicència del flux de qui escolteu, «%1$s», no és compatible amb la "
+"llicència del lloc, «%2$s»."
#. TRANS: User admin panel title
#: actions/useradminpanel.php:59
@@ -4525,15 +4597,14 @@ msgid "Authorize subscription"
msgstr "Autoritzar subscripció"
#: 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 ""
-"Si us plau, revisa aquestes dades per a estar segur que desitges "
-"subscriure't als avisos d'aquest usuari. Si no has demanat subscriure't als "
-"avisos de ningú, clica \"Cancel·lar\"."
+"Si us plau, reviseu aquests detalls per assegurar-vos que voleu subscriure-"
+"us als avisos d'aquest usuari. Si no heu demanat subscriure-us als avisos de "
+"ningú, feu clic a «Rebutja»."
#: actions/userauthorization.php:196 actions/version.php:165
msgid "License"
@@ -4546,7 +4617,7 @@ msgstr "Accepta"
#: actions/userauthorization.php:218 lib/subscribeform.php:115
#: lib/subscribeform.php:139
msgid "Subscribe to this user"
-msgstr "Subscriure's a aquest usuari"
+msgstr "Subscriu-me a aquest usuari"
#: actions/userauthorization.php:219
msgid "Reject"
@@ -4558,71 +4629,70 @@ msgstr "Rebutja la subscripció"
#: actions/userauthorization.php:232
msgid "No authorization request!"
-msgstr "Cap petició d'autorització!"
+msgstr "No és una sol·licitud d'autorització!"
#: actions/userauthorization.php:254
msgid "Subscription authorized"
msgstr "Subscripció autoritzada"
#: 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 ""
-"S'ha autoritzat la subscripció, però no s'ha enviat un URL de retorn. "
-"Llegeix de nou les instruccions per a saber com autoritzar la subscripció. "
-"El teu identificador de subscripció és:"
+"S'ha autoritzat la subscripció, però no s'ha enviat cap URL de la crida de "
+"retorn. Reviseu les instruccions del lloc per tal de tenir més detalls de "
+"com autoritzar la subscripció. El vostre testimoni de subscripció és:"
#: actions/userauthorization.php:266
msgid "Subscription rejected"
msgstr "Subscripció rebutjada"
#: 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 ""
-"S'ha rebutjat la subscripció, però no s'ha enviat un URL de retorn. Llegeix "
-"de nou les instruccions per a saber com rebutjar la subscripció completament."
+"S'ha rebutjat la subscripció, però no s'ha enviat cap URL de la crida de "
+"retorn. Reviseu les instruccions del lloc per tal de tenir més detalls de "
+"com rebutjar la subscripció completament."
#: actions/userauthorization.php:303
#, php-format
msgid "Listener URI ‘%s’ not found here."
-msgstr ""
+msgstr "No s'hi ha trobat l'URI de qui us escolta, «%s»."
#: actions/userauthorization.php:308
#, php-format
msgid "Listenee URI ‘%s’ is too long."
-msgstr ""
+msgstr "L'URI de qui escolteu, «%s», és massa llarga."
#: actions/userauthorization.php:314
#, php-format
msgid "Listenee URI ‘%s’ is a local user."
-msgstr ""
+msgstr "L'URI de qui escolteu, «%s», és un usuari local."
#: actions/userauthorization.php:329
#, php-format
msgid "Profile URL ‘%s’ is for a local user."
-msgstr ""
+msgstr "L'URL del perfil «%s» és només per a un usuari local."
#: actions/userauthorization.php:345
#, php-format
msgid "Avatar URL ‘%s’ is not valid."
-msgstr ""
+msgstr "L'URL de l'avatar «%s» no és vàlid."
#: actions/userauthorization.php:350
-#, fuzzy, php-format
+#, php-format
msgid "Can’t read avatar URL ‘%s’."
-msgstr "No es pot llegir l'URL de l'avatar '%s'"
+msgstr "No es pot llegir l'URL de l'avatar «%s»."
#: actions/userauthorization.php:355
-#, fuzzy, php-format
+#, php-format
msgid "Wrong image type for avatar URL ‘%s’."
-msgstr "Tipus d'imatge incorrecte per a '%s'"
+msgstr "Tipus d'imatge incorrecta per a l'URL de l'avatar «%s»."
#: actions/userdesignsettings.php:76 lib/designsettings.php:65
msgid "Profile design"
@@ -4642,9 +4712,9 @@ msgstr "Gaudiu de l'entrepà!"
#. TRANS: Message is used as a page title. %1$s is a nick name, %2$d is a page number.
#: actions/usergroups.php:66
-#, fuzzy, php-format
+#, php-format
msgid "%1$s groups, page %2$d"
-msgstr "%s membre/s en el grup, pàgina %d"
+msgstr "Grups de %1$s, pàgina %2$d"
#: actions/usergroups.php:132
msgid "Search for more groups"
@@ -4658,7 +4728,7 @@ msgstr "%s no és membre de cap grup."
#: actions/usergroups.php:164
#, php-format
msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
-msgstr ""
+msgstr "Proveu de [cercar grups](%%action.groupsearch%%) i unir-vos-hi."
#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
#. TRANS: Message is used as a subtitle in atom group notice feed.
@@ -4682,6 +4752,8 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
+"El lloc funciona gràcies a %1$s versió %2$s. Copyright 2008-2010 StatusNet, "
+"Inc. i col·laboradors."
#: actions/version.php:161
msgid "Contributors"
@@ -4694,6 +4766,10 @@ msgid ""
"Software Foundation, either version 3 of the License, or (at your option) "
"any later version. "
msgstr ""
+"L'StatusNet és programari lliure; podeu redistribuir-lo i/o modificar-lo "
+"d'acord amb els termes de la llicència GNU Affero General Public License tal "
+"i com la publica la Free Software Foundation; tant per a la versió 3 de la "
+"llicència, com (a la vostra discreció) per a una versió posterior. "
#: actions/version.php:174
msgid ""
@@ -4702,6 +4778,10 @@ msgid ""
"FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
"for more details. "
msgstr ""
+"Aquest programa es distribueix amb la voluntat que sigui útil, perquè sense "
+"cap mena de garantia; sense tampoc cap garantia implícita respecte a la seva "
+"comercialització o idoneïtat per a cap propòsit en particular. Consulteu la "
+"llicència GNU Affero General Public License per a més detalls. "
#: actions/version.php:180
#, php-format
@@ -4709,6 +4789,8 @@ msgid ""
"You should have received a copy of the GNU Affero General Public License "
"along with this program. If not, see %s."
msgstr ""
+"Hauríeu d'haver rebut una còpia de la llicència GNU Affero General Public "
+"License juntament amb el programa. Si no és així, consulteu %s."
#: actions/version.php:189
msgid "Plugins"
@@ -4729,16 +4811,20 @@ msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
+"Cap fitxer pot ser major de %d bytes i el fitxer que heu enviat era de %d "
+"bytes. Proveu de pujar una versió de mida menor."
#: classes/File.php:179
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
+"Un fitxer d'aquesta mida excediria la vostra quota d'usuari de %d bytes."
#: classes/File.php:186
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+"Un fitxer d'aquesta mida excediria la vostra quota mensual de %d bytes."
#: classes/Group_member.php:41
msgid "Group join failed."
@@ -4753,14 +4839,13 @@ msgid "Group leave failed."
msgstr "La sortida del grup ha fallat."
#: classes/Local_group.php:41
-#, fuzzy
msgid "Could not update local group."
-msgstr "No s'ha pogut actualitzar el grup."
+msgstr "No s'ha pogut actualitzar el grup local."
#: classes/Login_token.php:76
-#, fuzzy, php-format
+#, php-format
msgid "Could not create login token for %s"
-msgstr "No s'han pogut crear els àlies."
+msgstr "No s'ha pogut crear un testimoni d'inici de sessió per a %s"
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
@@ -4776,9 +4861,11 @@ msgstr "No s'ha pogut inserir el missatge amb la nova URI."
#. TRANS: Server exception. %s are the error details.
#: classes/Notice.php:176
-#, fuzzy, php-format
+#, php-format
msgid "Database error inserting hashtag: %s"
-msgstr "Hashtag de l'error de la base de dades:%s"
+msgstr ""
+"S'ha produït un error de la base de dades en inserir una etiqueta de "
+"coixinet (%): %s"
#: classes/Notice.php:245
msgid "Problem saving notice. Too long."
@@ -4786,40 +4873,37 @@ msgstr "S'ha produït un problema en desar l'avís. És massa llarg."
#: classes/Notice.php:249
msgid "Problem saving notice. Unknown user."
-msgstr "Problema al guardar la notificació. Usuari desconegut."
+msgstr "S'ha produït un problema en desar l'avís. Usuari desconegut."
#: classes/Notice.php:254
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."
+"Massa avisos massa ràpid; pren un respir i publica de nou en uns minuts."
#: classes/Notice.php:260
-#, fuzzy
msgid ""
"Too many duplicate messages too quickly; 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."
+"Massa missatges duplicats en massa poc temps; preneu un respir i torneu a "
+"enviar en uns minuts."
#: classes/Notice.php:266
msgid "You are banned from posting notices on this site."
-msgstr "Ha estat bandejat de publicar notificacions en aquest lloc."
+msgstr "Ha estat bandejat de publicar avisos en aquest lloc."
#: classes/Notice.php:332 classes/Notice.php:358
msgid "Problem saving notice."
msgstr "Problema en guardar l'avís."
#: classes/Notice.php:967
-#, fuzzy
msgid "Problem saving group inbox."
-msgstr "Problema en guardar l'avís."
+msgstr "S'ha produït un problema en desar la safata d'entrada del grup."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4837,18 +4921,16 @@ msgid "User has blocked you."
msgstr "Un usuari t'ha bloquejat."
#: classes/Subscription.php:167
-#, fuzzy
msgid "Not subscribed!"
-msgstr "No estàs subscrit!"
+msgstr "No hi esteu subscrit!"
#: classes/Subscription.php:173
msgid "Couldn't delete self-subscription."
msgstr "No s'ha pogut eliminar l'autosubscripció."
#: classes/Subscription.php:200
-#, fuzzy
msgid "Couldn't delete subscription OMB token."
-msgstr "No s'ha pogut eliminar la subscripció."
+msgstr "No s'ha pogut eliminar el testimoni OMB de la subscripció."
#: classes/Subscription.php:211
msgid "Couldn't delete subscription."
@@ -4864,18 +4946,16 @@ msgid "Could not create group."
msgstr "No s'ha pogut crear el grup."
#: classes/User_group.php:489
-#, fuzzy
msgid "Could not set group URI."
-msgstr "No s'ha pogut establir la pertinença d'aquest grup."
+msgstr "No es pot definir l'URI del grup."
#: classes/User_group.php:510
msgid "Could not set group membership."
msgstr "No s'ha pogut establir la pertinença d'aquest grup."
#: classes/User_group.php:524
-#, fuzzy
msgid "Could not save local group info."
-msgstr "No s'ha pogut guardar la subscripció."
+msgstr "No s'ha pogut desar la informació del grup local."
#. TRANS: Link title attribute in user account settings menu.
#: lib/accountsettingsaction.php:109
@@ -5053,7 +5133,7 @@ msgstr "Vistes locals"
#. TRANS: DT element for page notice. String is hidden in default CSS.
#: lib/action.php:649
msgid "Page notice"
-msgstr "Notificació pàgina"
+msgstr "Avís de pàgina"
#. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
#: lib/action.php:752
@@ -5078,7 +5158,7 @@ msgstr "Preguntes més freqüents"
#. TRANS: Secondary navigation menu option leading to Terms of Service.
#: lib/action.php:769
msgid "TOS"
-msgstr ""
+msgstr "Termes del servei"
#. TRANS: Secondary navigation menu option leading to privacy policy.
#: lib/action.php:773
@@ -5106,7 +5186,7 @@ msgstr "Llicència del programari StatusNet"
#. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set.
#: lib/action.php:817
-#, fuzzy, php-format
+#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%)."
@@ -5142,7 +5222,7 @@ msgstr "Llicència de contingut del lloc"
#: lib/action.php:847
#, php-format
msgid "Content and data of %1$s are private and confidential."
-msgstr ""
+msgstr "El contingut i les dades de %1$s són privades i confidencials."
#. TRANS: Content license displayed when license is set to 'allrightsreserved'.
#. TRANS: %1$s is the copyright owner.
@@ -5150,17 +5230,22 @@ msgstr ""
#, php-format
msgid "Content and data copyright by %1$s. All rights reserved."
msgstr ""
+"El contingut i les dades són copyright de %1$s. Tots els drets reservats."
#. TRANS: Content license displayed when license is set to 'allrightsreserved' and no owner is set.
#: lib/action.php:858
msgid "Content and data copyright by contributors. All rights reserved."
msgstr ""
+"El contingut i les dades són copyright dels col·laboradors. Tots els drets "
+"reservats."
#. TRANS: license message in footer. %1$s is the site name, %2$s is a link to the license URL, with a licence name set in configuration.
#: lib/action.php:871
#, php-format
msgid "All %1$s content and data are available under the %2$s license."
msgstr ""
+"Tot el contingut i les dades de %1$s es troben disponibles sota una "
+"llicència %2$s."
#. TRANS: DT element for pagination (previous/next, etc.).
#: lib/action.php:1182
@@ -5183,18 +5268,20 @@ msgstr "Anteriors"
#: lib/activity.php:122
msgid "Expecting a root feed element but got a whole XML document."
msgstr ""
+"S'esperava un element del canal arrel, però se n'ha obtingut tot un document "
+"XML sencer."
#: lib/activityutils.php:208
msgid "Can't handle remote content yet."
-msgstr ""
+msgstr "No es pot gestionar el contingut remot encara."
#: lib/activityutils.php:244
msgid "Can't handle embedded XML content yet."
-msgstr ""
+msgstr "No es pot gestionar el contingut XML incrustat encara."
#: lib/activityutils.php:248
msgid "Can't handle embedded Base64 content yet."
-msgstr ""
+msgstr "No es pot gestionar el contingut Base64 incrustat encara."
#. TRANS: Client error message thrown when a user tries to change admin settings but has no access rights.
#: lib/adminpanelaction.php:98
@@ -5203,28 +5290,24 @@ msgstr "No podeu fer canvis al lloc."
#. TRANS: Client error message throw when a certain panel's settings cannot be changed.
#: lib/adminpanelaction.php:110
-#, fuzzy
msgid "Changes to that panel are not allowed."
-msgstr "Registre no permès."
+msgstr "No es permeten canvis a aquell tauler."
#. TRANS: Client error message.
#: lib/adminpanelaction.php:229
-#, fuzzy
msgid "showForm() not implemented."
-msgstr "Comanda encara no implementada."
+msgstr "El showForm() no està implementat."
#. TRANS: Client error message
#: lib/adminpanelaction.php:259
-#, fuzzy
msgid "saveSettings() not implemented."
-msgstr "Comanda encara no implementada."
+msgstr "El saveSettings() no està implementat."
#. TRANS: Client error message thrown if design settings could not be deleted in
#. TRANS: the admin panel Design.
#: lib/adminpanelaction.php:284
-#, fuzzy
msgid "Unable to delete design setting."
-msgstr "No s'ha pogut guardar la teva configuració de Twitter!"
+msgstr "No s'ha pogut eliminar el paràmetre de disseny."
#. TRANS: Menu item title/tooltip
#: lib/adminpanelaction.php:349
@@ -5275,20 +5358,20 @@ msgstr "Configuració de les sessions"
#. TRANS: Menu item title/tooltip
#: lib/adminpanelaction.php:397
-#, fuzzy
msgid "Edit site notice"
-msgstr "Avís del lloc"
+msgstr "Edita l'avís del lloc"
#. TRANS: Menu item title/tooltip
#: lib/adminpanelaction.php:405
-#, fuzzy
msgid "Snapshots configuration"
-msgstr "Configuració dels camins"
+msgstr "Configuració de les instantànies"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
+"El recurs API requereix accés de lectura i d'escriptura, però només en teniu "
+"de lectura."
#. TRANS: Form legend.
#: lib/applicationeditform.php:137
@@ -5324,18 +5407,17 @@ msgstr "URL d'origen"
#. TRANS: Form input field instructions.
#: lib/applicationeditform.php:233
msgid "Organization responsible for this application"
-msgstr ""
+msgstr "Organització responsable de l'aplicació"
#. TRANS: Form input field instructions.
#: lib/applicationeditform.php:242
-#, fuzzy
msgid "URL for the homepage of the organization"
-msgstr "URL del teu web, blog del grup u tema"
+msgstr "L'URL de la pàgina d'inici de l'organització"
#. TRANS: Form input field instructions.
#: lib/applicationeditform.php:251
msgid "URL to redirect to after authentication"
-msgstr ""
+msgstr "URL on redirigir-hi després de l'autenticació."
#. TRANS: Radio button label for application type
#: lib/applicationeditform.php:278
@@ -5376,12 +5458,12 @@ msgstr "Cancel·la"
#. TRANS: Application access type
#: lib/applicationlist.php:136
msgid "read-write"
-msgstr "lectura i escriptura"
+msgstr "de lectura i d'escriptura"
#. TRANS: Application access type
#: lib/applicationlist.php:138
msgid "read-only"
-msgstr "només lectura"
+msgstr "només de lectura"
#. TRANS: Used in application list. %1$s is a modified date, %2$s is access type (read-write or read-only)
#: lib/applicationlist.php:144
@@ -5423,9 +5505,8 @@ msgid "Password changing failed"
msgstr "El canvi de contrasenya ha fallat"
#: lib/authenticationplugin.php:235
-#, fuzzy
msgid "Password changing is not allowed"
-msgstr "Contrasenya canviada."
+msgstr "No es permet el canvi de contrasenya"
#: lib/channel.php:157 lib/channel.php:177
msgid "Command results"
@@ -5440,9 +5521,8 @@ msgid "Command failed"
msgstr "Comanda fallida"
#: lib/command.php:83 lib/command.php:105
-#, fuzzy
msgid "Notice with that id does not exist"
-msgstr "No hi ha cap perfil amb aquesta id."
+msgstr "No existeix cap avís amb aquest identificador."
#: lib/command.php:99 lib/command.php:596
msgid "User has no last notice"
@@ -5451,16 +5531,16 @@ msgstr "L'usuari no té última nota"
#. TRANS: Message given requesting a profile for a non-existing user.
#. TRANS: %s is the nickname of the user for which the profile could not be found.
#: lib/command.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Could not find a user with nickname %s"
-msgstr "No es pot actualitzar l'usuari amb el correu electrònic confirmat"
+msgstr "No s'ha pogut trobar un usuari amb el sobrenom %s"
#. TRANS: Message given getting a non-existing user.
#. TRANS: %s is the nickname of the user that could not be found.
#: lib/command.php:147
-#, fuzzy, php-format
+#, php-format
msgid "Could not find a local user with nickname %s"
-msgstr "No es pot actualitzar l'usuari amb el correu electrònic confirmat"
+msgstr "No s'ha pogut trobar a un usuari local amb el sobrenom %s"
#: lib/command.php:180
msgid "Sorry, this command is not yet implemented."
@@ -5468,7 +5548,7 @@ msgstr "Perdona, aquesta comanda no està implementada."
#: lib/command.php:225
msgid "It does not make a lot of sense to nudge yourself!"
-msgstr ""
+msgstr "No té massa sentit avisar-se a un mateix!"
#. TRANS: Message given having nudged another user.
#. TRANS: %s is the nickname of the user that was nudged.
@@ -5490,7 +5570,7 @@ msgstr ""
#: lib/command.php:302
msgid "Notice marked as fave."
-msgstr "Nota marcada com a favorita."
+msgstr "L'avís està marcat com a preferit."
#: lib/command.php:323
msgid "You are already a member of that group"
@@ -5508,7 +5588,7 @@ msgstr "No s'ha pogut afegir l'usuari %1$s al grup %2$s."
#: lib/command.php:385
#, php-format
msgid "Could not remove user %1$s from group %2$s"
-msgstr "No s'ha pogut suprimir l'usuari %1$s del grup %2$s."
+msgstr "No s'ha pogut eliminar l'usuari %1$s del grup %2$s."
#. TRANS: Whois output. %s is the full name of the queried user.
#: lib/command.php:418
@@ -5534,7 +5614,7 @@ msgstr "Pàgina web: %s"
#: lib/command.php:430
#, php-format
msgid "About: %s"
-msgstr "Sobre tu: %s"
+msgstr "Informació personal: %s"
#: lib/command.php:457
#, php-format
@@ -5558,11 +5638,11 @@ msgstr ""
#: lib/command.php:492
#, php-format
msgid "Direct message to %s sent"
-msgstr "Missatge directe per a %s enviat"
+msgstr "Missatge directe a %s enviat"
#: lib/command.php:494
msgid "Error sending direct message."
-msgstr "Error al enviar el missatge directe."
+msgstr "S'ha produït un error en enviar el missatge directe."
#: lib/command.php:514
msgid "Cannot repeat your own notice"
@@ -5584,9 +5664,9 @@ msgid "Error repeating notice."
msgstr "S'ha produït un error en repetir l'avís."
#: lib/command.php:562
-#, fuzzy, php-format
+#, php-format
msgid "Notice too long - maximum is %d characters, you sent %d"
-msgstr "Missatge massa llarg - màxim és 140 caràcters, tu has enviat %d"
+msgstr "L'avís és massa llarg - el màxim és %d caràcters, i n'heu enviat %d"
#: lib/command.php:571
#, php-format
@@ -5599,12 +5679,11 @@ msgstr "S'ha produït un error en desar l'avís."
#: lib/command.php:620
msgid "Specify the name of the user to subscribe to"
-msgstr "Especifica el nom de l'usuari a que vols subscriure't"
+msgstr "Especifiqueu el nom de l'usuari al qual voleu subscriure-us"
#: lib/command.php:628
-#, fuzzy
msgid "Can't subscribe to OMB profiles by command."
-msgstr "No estàs subscrit a aquest perfil."
+msgstr "No es pot subscriure a perfils de OMB amb ordres."
#: lib/command.php:634
#, php-format
@@ -5613,12 +5692,12 @@ msgstr "Subscrit a %s"
#: lib/command.php:655 lib/command.php:754
msgid "Specify the name of the user to unsubscribe from"
-msgstr "Especifica el nom de l'usuari del que vols deixar d'estar subscrit"
+msgstr "Especifiqueu el nom de l'usuari de qui voleu cancel·lar la subscripció"
#: lib/command.php:664
#, php-format
msgid "Unsubscribed from %s"
-msgstr "Has deixat d'estar subscrit a %s"
+msgstr "Heu cancel·lat la subscripció a %s"
#: lib/command.php:682 lib/command.php:705
msgid "Command not yet implemented."
@@ -5626,19 +5705,19 @@ msgstr "Comanda encara no implementada."
#: lib/command.php:685
msgid "Notification off."
-msgstr "Notificacions off."
+msgstr "Avisos desactivats."
#: lib/command.php:687
msgid "Can't turn off notification."
-msgstr "No es poden posar en off les notificacions."
+msgstr "No es poden desactivar els avisos."
#: lib/command.php:708
msgid "Notification on."
-msgstr "Notificacions on."
+msgstr "Avisos activitats."
#: lib/command.php:710
msgid "Can't turn on notification."
-msgstr "No es poden posar en on les notificacions."
+msgstr "No es poden activar els avisos."
#: lib/command.php:723
msgid "Login command is disabled"
@@ -5652,14 +5731,13 @@ msgstr ""
"minuts: %s"
#: lib/command.php:761
-#, fuzzy, php-format
+#, php-format
msgid "Unsubscribed %s"
-msgstr "Has deixat d'estar subscrit a %s"
+msgstr "S'ha cancel·lat la subscripció de %s"
#: lib/command.php:778
-#, fuzzy
msgid "You are not subscribed to anyone."
-msgstr "No estàs subscrit a aquest perfil."
+msgstr "No esteu subscrit a ningú."
#: lib/command.php:780
msgid "You are subscribed to this person:"
@@ -5668,9 +5746,8 @@ msgstr[0] "Ja estàs subscrit a aquests usuaris:"
msgstr[1] "Ja estàs subscrit a aquests usuaris:"
#: lib/command.php:800
-#, fuzzy
msgid "No one is subscribed to you."
-msgstr "No pots subscriure a un altre a tu mateix."
+msgstr "Ningú no us ha subscrit."
#: lib/command.php:802
msgid "This person is subscribed to you:"
@@ -5729,6 +5806,44 @@ msgid ""
"tracks - not yet implemented.\n"
"tracking - not yet implemented.\n"
msgstr ""
+"Ordres:\n"
+"on - activeu els avisos\n"
+"off - desactiveu els avisos\n"
+"help - mostra aquesta ajuda\n"
+"follow <nickname> - se subscriu a l'usuari\n"
+"groups - llista els grups on us heu unit\n"
+"subscriptions - llista la gent que seguiu\n"
+"subscribers - llista la gent que us segueix\n"
+"leave <nickname> - cancel·la la subscripció de l'usuari\n"
+"d <nickname> <text> - missatge directe a l'usuari\n"
+"get <nickname> - s'obté el darrer avís de l'usuari\n"
+"whois <nickname> - s'obté la informació del perfil de l'usuari\n"
+"lose <nickname> - es força l'usuari a deixar de seguir-vos\n"
+"fav <nickname> - afegeix el darrer avís de l'usuari com a «preferit»\n"
+"fav #<notice_id> - afegeix l'avís amb l'id donat com a «preferit»\n"
+"repeat #<notice_id> - repeteix l'avís amb l'id donat\n"
+"repeat <nickname> - repeteix el darrer avís de l'usari\n"
+"reply #<notice_id> - respon l'avís amb l'id donat\n"
+"reply <nickname> - respon el darrer avís de l'usuari\n"
+"join <group> - s'uneix al grup\n"
+"login - s'obté un enllaç per iniciar una sessió des de la interfície web\n"
+"drop <group> - es deixa el grup\n"
+"stats - s'obté el vostre estat\n"
+"stop - el mateix que «off»\n"
+"quit - el mateix que «off»\n"
+"sub <nickname> - el mateix que «follow»\n"
+"unsub <nickname> - el mateix que «leave»\n"
+"last <nickname> - el mateix que «get»\n"
+"on <nickname> - no s'ha implementat encara.\n"
+"off <nickname> - no s'ha implementat encara.\n"
+"nudge <nickname> - es recorda a l'usuari que actualitzi.\n"
+"invite <phone number> - no s'ha implementat encara.\n"
+"track <word> - no s'ha implementat encara.\n"
+"untrack <word> - no s'ha implementat encara.\n"
+"track off - no s'ha implementat encara.\n"
+"untrack all - no s'ha implementat encara.\n"
+"tracks - no s'ha implementat encara.\n"
+"tracking - no s'ha implementat encara.\n"
#: lib/common.php:135
msgid "No configuration file found. "
@@ -5740,7 +5855,7 @@ msgstr "S'han cercat fitxers de configuracions en els llocs següents: "
#: lib/common.php:138
msgid "You may wish to run the installer to fix this."
-msgstr "Podeu voler executar l'instal·lador per a corregir-ho."
+msgstr "Podeu voler executar l'instal·lador per corregir-ho."
#: lib/common.php:139
msgid "Go to the installer."
@@ -5748,11 +5863,11 @@ msgstr "Vés a l'instal·lador."
#: lib/connectsettingsaction.php:110
msgid "IM"
-msgstr "Missatgeria Instantània"
+msgstr "MI"
#: lib/connectsettingsaction.php:111
msgid "Updates by instant messenger (IM)"
-msgstr "Actualitzacions per Missatgeria Instantània"
+msgstr "Actualitzacions per missatgeria instantània (MI)"
#: lib/connectsettingsaction.php:116
msgid "Updates by SMS"
@@ -5775,10 +5890,11 @@ msgid "Upload file"
msgstr "Puja un fitxer"
#: lib/designsettings.php:109
-#, fuzzy
msgid ""
"You can upload your personal background image. The maximum file size is 2MB."
-msgstr "Pots pujar el teu avatar personal."
+msgstr ""
+"Podeu pujar la vostra imatge de fons personal. La mida màxima del fitxer és "
+"2MB."
#: lib/designsettings.php:418
msgid "Design defaults restored."
@@ -5786,11 +5902,11 @@ msgstr "S'han restaurat els paràmetres de disseny per defecte."
#: lib/disfavorform.php:114 lib/disfavorform.php:140
msgid "Disfavor this notice"
-msgstr "Deixar de tenir favorita aquesta notificació"
+msgstr "Deixa de tenir com a preferit aquest avís"
#: lib/favorform.php:114 lib/favorform.php:140
msgid "Favor this notice"
-msgstr "Fer favorita aquesta notificació"
+msgstr "Fes preferit aquest avís"
#: lib/favorform.php:140
msgid "Favor"
@@ -5834,7 +5950,7 @@ msgstr "Etiqueta"
#: lib/galleryaction.php:141
msgid "Choose a tag to narrow list"
-msgstr "Elegeix una etiqueta para reduir la llista"
+msgstr "Trieu una etiqueta per escurçar la llista"
#: lib/galleryaction.php:143
msgid "Go"
@@ -5847,27 +5963,27 @@ msgstr "Atorga a l'usuari el rol «%s»"
#: 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"
+msgstr "URL del teu web, blog del grup o de la temàtica"
#: lib/groupeditform.php:168
msgid "Describe the group or topic"
-msgstr "Descriviu el grup o el tema"
+msgstr "Descriviu el grup o la temàtica"
#: lib/groupeditform.php:170
#, php-format
msgid "Describe the group or topic in %d characters"
-msgstr "Descriviu el grup o el tema en %d caràcters"
+msgstr "Descriviu el grup o la temàtica en %d caràcters"
#: lib/groupeditform.php:179
msgid ""
"Location for the group, if any, like \"City, State (or Region), Country\""
msgstr ""
-"Localització del grup, si n'hi ha, com \"Ciutat, Estat (o Regió), País\""
+"Ubicació del grup, si s'hi adiu cap, com ara «ciutat, comarca (o illa), país»"
#: lib/groupeditform.php:187
#, php-format
msgid "Extra nicknames for the group, comma- or space- separated, max %d"
-msgstr ""
+msgstr "Sobrenoms addicionals del grup, separats amb comes o espais, màx. %d"
#: lib/groupnav.php:85
msgid "Group"
@@ -5880,12 +5996,12 @@ msgstr "Blocat"
#: lib/groupnav.php:102
#, php-format
msgid "%s blocked users"
-msgstr "%susuaris blocats"
+msgstr "%s usuaris blocats"
#: lib/groupnav.php:108
#, php-format
msgid "Edit %s group properties"
-msgstr "Editar propietats del grup %s"
+msgstr "Edita les propietats del grup %s"
#: lib/groupnav.php:113
msgid "Logo"
@@ -5894,7 +6010,7 @@ msgstr "Logo"
#: lib/groupnav.php:114
#, php-format
msgid "Add or edit %s logo"
-msgstr "Afegir o editar logo %s"
+msgstr "Afegeix o edita el logo %s"
#: lib/groupnav.php:120
#, php-format
@@ -5912,7 +6028,7 @@ msgstr "Grups amb més entrades"
#: lib/grouptagcloudsection.php:56
#, php-format
msgid "Tags in %s group's notices"
-msgstr "Etiquetes en les notificacions del grup %s"
+msgstr "Etiquetes en els avisos del grup %s"
#. TRANS: Client exception 406
#: lib/htmloutputter.php:104
@@ -5942,7 +6058,7 @@ msgstr "No és una imatge o és un fitxer corrupte."
#: lib/imagefile.php:122
msgid "Lost our file."
-msgstr "Hem perdut el nostre arxiu."
+msgstr "Hem perdut el nostre fitxer."
#: lib/imagefile.php:163 lib/imagefile.php:224
msgid "Unknown file type"
@@ -5972,7 +6088,7 @@ msgstr "Inici de sessió"
#: lib/leaveform.php:114
msgid "Leave"
-msgstr "Abandonar"
+msgstr "Deixa"
#: lib/logingroupnav.php:80
msgid "Login with a username and password"
@@ -5980,7 +6096,7 @@ msgstr "Accedir amb el nom d'usuari i contrasenya"
#: lib/logingroupnav.php:86
msgid "Sign up for a new account"
-msgstr "Crear nou compte"
+msgstr "Registreu-vos-hi si voleu un compte nou"
#. TRANS: Subject for address confirmation email
#: lib/mail.php:174
@@ -6004,6 +6120,19 @@ msgid ""
"Thanks for your time, \n"
"%s\n"
msgstr ""
+"Hola, %s.\n"
+"\n"
+"Algú ha introduït aquesta adreça electrònica a %s.\n"
+"\n"
+"Si sou qui ho ha fet i voleu confirmar-hi la vostra entrada, feu servir "
+"l'URL a continuació:\n"
+"\n"
+"\t%s\n"
+"\n"
+"Si nou, simplement ignoreu el missatge.\n"
+"\n"
+"Gràcies pel vostre temps, \n"
+"%s\n"
#. TRANS: Subject of new-subscriber notification e-mail
#: lib/mail.php:243
@@ -6013,7 +6142,7 @@ msgstr "%1$s ara està escoltant els teus avisos a %2$s."
#. TRANS: Main body of new-subscriber notification e-mail
#: lib/mail.php:249
-#, fuzzy, php-format
+#, php-format
msgid ""
"%1$s is now listening to your notices on %2$s.\n"
"\n"
@@ -6026,12 +6155,16 @@ msgid ""
"----\n"
"Change your email address or notification options at %8$s\n"
msgstr ""
-"%1$s ara està escoltant els teus avisos a %2$s.\n"
+"%1$s ara està escoltant els vostres avisos a %2$s.\n"
"\n"
-"\t%3$s\n"
+"%3$s\n"
"\n"
+"%4$s%5$s%6$s\n"
"Atentament,\n"
-"%4$s.\n"
+"%7$s.\n"
+"\n"
+"----\n"
+"Canvieu la vostra adreça electrònica o les opcions d'avís a %8$s\n"
#. TRANS: Profile info line in new-subscriber notification e-mail
#: lib/mail.php:269
@@ -6058,13 +6191,13 @@ msgid ""
"Faithfully yours,\n"
"%4$s"
msgstr ""
-"Tens una nova direcció per publicar a %1$s.\n"
+"Teniu una nova adreça per publicar a %1$s.\n"
"\n"
-"Envia un correu electrònic a %2$s per publicar un nou missatge.\n"
+"Envieu un correu electrònic a %2$s per publicar un nou missatge.\n"
"\n"
"Més instruccions per al correu electrònic a %3$s.\n"
"\n"
-"Sincerament teus,\n"
+"Atentament,\n"
"%4$s"
#. TRANS: Subject line for SMS-by-email notification messages
@@ -6106,6 +6239,16 @@ msgid ""
"With kind regards,\n"
"%4$s\n"
msgstr ""
+"%1$s (%2$s) què tal us trobeu is us convida a publicar algunes notícies.\n"
+"\n"
+"Esperem sentir-vos aviat :)\n"
+"\n"
+"%3$s\n"
+"\n"
+"No responeu aquest missatge; no els hi arribarà.\n"
+"\n"
+"Ben cordialment,\n"
+"%4$s\n"
#. TRANS: Subject for direct-message notification email
#: lib/mail.php:530
@@ -6132,6 +6275,20 @@ msgid ""
"With kind regards,\n"
"%5$s\n"
msgstr ""
+"%1$s (%2$s) us ha enviat un missatge privat:\n"
+"\n"
+"------------------------------------------------------\n"
+"%3$s\n"
+"------------------------------------------------------\n"
+"\n"
+"Podeu respondre llurs missatges a continuació:\n"
+"\n"
+"%4$s\n"
+"\n"
+"No responeu aquest missatge; no els hi arribarà.\n"
+"\n"
+"Ben cordialment,\n"
+"%5$s\n"
#. TRANS: Subject for favorite notification email
#: lib/mail.php:583
@@ -6160,6 +6317,22 @@ msgid ""
"Faithfully yours,\n"
"%6$s\n"
msgstr ""
+"%1$s (@%7$s) acaba d'afegir el vostre avís de %2$s com a preferit.\n"
+"\n"
+"L'URL del vostre avís és:\n"
+"\n"
+"%3$s\n"
+"\n"
+"El text del vostre avís és:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Podeu veure la llista dels preferits de %1$s a continuació:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Atentament,\n"
+"%6$s\n"
#. TRANS: Line in @-reply notification e-mail. %s is conversation URL.
#: lib/mail.php:645
@@ -6169,11 +6342,14 @@ msgid ""
"\n"
"\t%s"
msgstr ""
+"La conversa sencera pot llegir-se a continuació:\n"
+"\n"
+"%s"
#: lib/mail.php:651
#, php-format
msgid "%s (@%s) sent a notice to your attention"
-msgstr ""
+msgstr "%s (@%s) us ha enviat un avís a la vostra atenció"
#. TRANS: Body of @-reply notification e-mail.
#: lib/mail.php:654
@@ -6202,6 +6378,29 @@ msgid ""
"\n"
"P.S. You can turn off these email notifications here: %8$s\n"
msgstr ""
+"1$s (@%9$s) acaba d'enviar un avís un avís a la vostra atenció (una resposta "
+"amb @) a %2$s.\n"
+"\n"
+"L'avís és a continuació:\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"Hi diu:\n"
+"\n"
+"\t%4$s\n"
+"\n"
+"%5$s Podeu respondre'l a continuació:\n"
+"\n"
+"\t%6$s\n"
+"\n"
+"Teniu la llista de les respostes amb @ a continuació:\n"
+"\n"
+"%7$s\n"
+"\n"
+"Atentament,\n"
+"%2$s\n"
+"\n"
+"P.S. Podeu desactivar els avisos per correu aquí: %8$s\n"
#: lib/mailbox.php:89
msgid "Only the user can read their own mailboxes."
@@ -6212,8 +6411,11 @@ msgid ""
"You have no private messages. You can send private message to engage other "
"users in conversation. People can send you messages for your eyes only."
msgstr ""
+"No teniu missatges privats. Podeu enviar un missatge per animar altres "
+"usuaris en la conversa. La gent pot enviar-vos missatges només per als "
+"vostres ulls."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "de"
@@ -6241,20 +6443,26 @@ msgstr "Tipus de missatge no permès: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
msgstr ""
+"S'ha produït un error a la base de dades mentre es desava el vostre fitxer. "
+"Torneu-ho a provar."
#: lib/mediafile.php:142
msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini."
msgstr ""
+"El fitxer pujat excedeix la mida de la directiva upload_max_filesize del php."
+"ini."
#: lib/mediafile.php:147
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form."
msgstr ""
+"El fitxer pujat excedeix la mida de la directiva MAX_FILE_SIZE especificada "
+"en el formulari HTML."
#: lib/mediafile.php:152
msgid "The uploaded file was only partially uploaded."
-msgstr ""
+msgstr "El fitxer pujat només s'ha pujat parcialment."
#: lib/mediafile.php:159
msgid "Missing a temporary folder."
@@ -6266,15 +6474,15 @@ msgstr "No s'ha pogut escriure el fitxer al disc."
#: lib/mediafile.php:165
msgid "File upload stopped by extension."
-msgstr ""
+msgstr "L'extensió ha aturat la càrrega del fitxer."
#: lib/mediafile.php:179 lib/mediafile.php:216
msgid "File exceeds user's quota."
-msgstr ""
+msgstr "El fitxer excedeix la quota de l'usuari."
#: lib/mediafile.php:196 lib/mediafile.php:233
msgid "File could not be moved to destination directory."
-msgstr ""
+msgstr "No s'ha pogut moure el fitxer al directori de destinació."
#: lib/mediafile.php:201 lib/mediafile.php:237
msgid "Could not determine file's MIME type."
@@ -6283,16 +6491,16 @@ msgstr "No s'ha pogut determinar el tipus MIME del fitxer."
#: lib/mediafile.php:270
#, php-format
msgid " Try using another %s format."
-msgstr ""
+msgstr "Proveu d'emprar un altre format %s."
#: lib/mediafile.php:275
#, php-format
msgid "%s is not a supported file type on this server."
-msgstr ""
+msgstr "%s no és un tipus de fitxer permès al servidor."
#: lib/messageform.php:120
msgid "Send a direct notice"
-msgstr "Enviar notificació directa"
+msgstr "Envia un avís directe"
#: lib/messageform.php:146
msgid "To"
@@ -6309,7 +6517,7 @@ msgstr "Envia"
#: lib/noticeform.php:160
msgid "Send a notice"
-msgstr "Enviar notificació"
+msgstr "Envia un avís"
#: lib/noticeform.php:173
#, php-format
@@ -6337,7 +6545,7 @@ msgid ""
"Sorry, retrieving your geo location is taking longer than expected, please "
"try again later"
msgstr ""
-"Ho sentim, la obtenció de la vostra ubicació geogràfic està trigant més de "
+"Ho sentim, la obtenció de la vostra ubicació geogràfica està trigant més de "
"l'esperat; torneu-ho a provar més tard"
#. TRANS: Used in coordinates as abbreviation of north
@@ -6369,23 +6577,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "a"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "en context"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetit per"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "respondre a aquesta nota"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Respon"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Avís repetit"
@@ -6456,7 +6664,7 @@ msgstr "Els teus missatges enviats"
#: lib/personaltagcloudsection.php:56
#, php-format
msgid "Tags in %s's notices"
-msgstr "Etiquetes en les notificacions de %s's"
+msgstr "Etiquetes en els avisos de %s"
#: lib/plugin.php:115
msgid "Unknown"
@@ -6542,17 +6750,15 @@ msgstr "Revoca el rol «%s» de l'usuari"
#: lib/router.php:704
msgid "No single user defined for single-user mode."
-msgstr ""
+msgstr "No s'ha definit cap usuari únic per al mode d'usuari únic."
#: lib/sandboxform.php:67
-#, fuzzy
msgid "Sandbox"
-msgstr "Safata d'entrada"
+msgstr "Entorn de proves"
#: lib/sandboxform.php:78
-#, fuzzy
msgid "Sandbox this user"
-msgstr "Desbloquejar aquest usuari"
+msgstr "Posa l'usuari a l'entorn de proves"
#: lib/searchaction.php:120
msgid "Search site"
@@ -6576,15 +6782,15 @@ msgstr "Gent"
#: lib/searchgroupnav.php:81
msgid "Find people on this site"
-msgstr "Trobar gent en aquest lloc"
+msgstr "Cerca gent en aquest lloc"
#: lib/searchgroupnav.php:83
msgid "Find content of notices"
-msgstr "Trobar contingut de les notes"
+msgstr "Cerca el contingut dels avisos"
#: lib/searchgroupnav.php:85
msgid "Find groups on this site"
-msgstr "Trobar un grup en aquest lloc"
+msgstr "Cerca grups en aquest lloc"
#: lib/section.php:89
msgid "Untitled section"
@@ -6592,7 +6798,7 @@ msgstr "Secció sense títol"
#: lib/section.php:106
msgid "More..."
-msgstr "Més…"
+msgstr "Més..."
#: lib/silenceform.php:67
msgid "Silence"
@@ -6610,7 +6816,7 @@ msgstr "Persones %s subscrites a"
#: lib/subgroupnav.php:91
#, php-format
msgid "People subscribed to %s"
-msgstr "Persones subscrites a %s"
+msgstr "Gent subscrita a %s"
#: lib/subgroupnav.php:99
#, php-format
@@ -6624,17 +6830,17 @@ 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"
+msgstr "Convida amics i companys perquè participin a %s"
#: lib/subscriberspeopleselftagcloudsection.php:48
#: lib/subscriptionspeopleselftagcloudsection.php:48
msgid "People Tagcloud as self-tagged"
-msgstr ""
+msgstr "Núvol d'etiquetes personals (etiquetes pròpies)"
#: lib/subscriberspeopletagcloudsection.php:48
#: lib/subscriptionspeopletagcloudsection.php:48
msgid "People Tagcloud as tagged"
-msgstr ""
+msgstr "Núvol d'etiquetes personals"
#: lib/tagcloudsection.php:56
msgid "None"
@@ -6642,16 +6848,15 @@ msgstr "Cap"
#: lib/topposterssection.php:74
msgid "Top posters"
-msgstr "Que més publiquen"
+msgstr "Qui més publica"
#: lib/unsandboxform.php:69
msgid "Unsandbox"
-msgstr ""
+msgstr "Treu de l'entorn de proves"
#: lib/unsandboxform.php:80
-#, fuzzy
msgid "Unsandbox this user"
-msgstr "Desbloquejar aquest usuari"
+msgstr "Treu l'usuari de l'entorn de proves"
#: lib/unsilenceform.php:67
msgid "Unsilence"
@@ -6663,11 +6868,11 @@ msgstr "Dessilencia l'usuari"
#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
msgid "Unsubscribe from this user"
-msgstr "Deixar d'estar subscrit des d'aquest usuari"
+msgstr "Cancel·la la subscripció d'aquest usuari"
#: lib/unsubscribeform.php:137
msgid "Unsubscribe"
-msgstr "Cancel·lar subscripció"
+msgstr "Cancel·la la subscripció"
#: lib/usernoprofileexception.php:58
#, php-format
@@ -6684,7 +6889,7 @@ msgstr "Accions de l'usuari"
#: lib/userprofile.php:237
msgid "User deletion in progress..."
-msgstr "S'està suprimint l'usuari..."
+msgstr "S'està eliminant l'usuari..."
#: lib/userprofile.php:263
msgid "Edit profile settings"
@@ -6696,7 +6901,7 @@ msgstr "Edita"
#: lib/userprofile.php:287
msgid "Send a direct message to this user"
-msgstr "Enviar un missatge directe a aquest usuari"
+msgstr "Envia un missatge directe a aquest usuari"
#: lib/userprofile.php:288
msgid "Message"
diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po
index 2180ad6ce..81489316b 100644
--- a/locale/cs/LC_MESSAGES/statusnet.po
+++ b/locale/cs/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:33+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:35+0000\n"
"Language-Team: Czech\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: cs\n"
"X-Message-Group: out-statusnet\n"
@@ -103,10 +103,10 @@ msgstr "Žádné takové oznámení."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "Potvrzující kód nebyl nalezen"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -266,7 +266,7 @@ msgstr "Nelze uložit profil"
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,20 +325,20 @@ msgstr ""
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr ""
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Je to příliš dlouhé. Maximální sdělení délka je 140 znaků"
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr ""
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -664,18 +664,18 @@ msgstr "Obrázek nahrán"
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Je to příliš dlouhé. Maximální sdělení délka je 140 znaků"
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
#, fuzzy
msgid "Not found."
msgstr "Žádný požadavek nebyl nalezen!"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -790,7 +790,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Odstranit"
@@ -1081,7 +1081,7 @@ msgid "Do not delete this notice"
msgstr "Žádné takové oznámení."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Odstranit toto oznámení"
@@ -2575,8 +2575,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3289,7 +3289,7 @@ msgstr "Chyba v ověřovacím kódu"
msgid "Registration successful"
msgstr "Registrace úspěšná"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrovat"
@@ -3341,7 +3341,29 @@ msgstr "Použije se pouze pro aktualizace, oznámení a obnovu hesla."
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3350,7 +3372,7 @@ msgstr ""
" až na tyto privátní data: heslo, emailová adresa, IM adresa, telefonní "
"Äíslo."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3369,7 +3391,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3453,7 +3475,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "Vytvořit"
@@ -4846,7 +4868,7 @@ msgstr "Problém při ukládání sdělení"
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5341,7 +5363,7 @@ msgid "Snapshots configuration"
msgstr "Potvrzení emailové adresy"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6277,7 +6299,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr " od "
@@ -6438,26 +6460,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "Žádný obsah!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "Vytvořit"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
#, fuzzy
msgid "Reply"
msgstr "odpovÄ›Ä"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Sdělení"
diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po
index eda01937a..b221c99ba 100644
--- a/locale/de/LC_MESSAGES/statusnet.po
+++ b/locale/de/LC_MESSAGES/statusnet.po
@@ -15,12 +15,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:21+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:36+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:38+0000\n"
"Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: out-statusnet\n"
@@ -102,10 +102,10 @@ msgstr "Seite nicht vorhanden"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -236,12 +236,12 @@ msgstr "API-Methode nicht gefunden."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Diese Methode benötigt ein POST."
@@ -273,7 +273,7 @@ msgstr "Konnte Profil nicht speichern."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -332,21 +332,21 @@ msgstr "Direkte Nachricht an %s"
msgid "All the direct messages sent to %s"
msgstr "Alle an %s gesendeten direkten Nachrichten"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Fehlender Nachrichtentext!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
"Die Nachricht ist zu lang. Die maximale Nachrichtenlänge ist 140 Zeichen."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Empfänger nicht gefunden."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Es können keine direkten Nachrichten an Benutzer geschickt werden mit denen "
@@ -665,18 +665,18 @@ msgstr "Status gelöscht."
msgid "No status with that ID found."
msgstr "Keine Nachricht mit dieser ID gefunden."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
"Das war zu lang. Die Länge einer Nachricht ist auf %d Zeichen beschränkt."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Nicht gefunden."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -790,7 +790,7 @@ msgid "Preview"
msgstr "Vorschau"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Löschen"
@@ -1071,7 +1071,7 @@ msgid "Do not delete this notice"
msgstr "Diese Nachricht nicht löschen"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Nachricht löschen"
@@ -2581,8 +2581,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Bitte nur %s URLs über einfaches HTTP."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Kein unterstütztes Datenformat."
@@ -3294,7 +3294,7 @@ msgstr "Entschuldigung, ungültiger Bestätigungscode."
msgid "Registration successful"
msgstr "Registrierung erfolgreich"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrieren"
@@ -3353,7 +3353,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Längerer Name, bevorzugt dein „echter“ Name"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Inhalte und Daten von %1$s sind privat und vertraulich."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3362,7 +3384,7 @@ msgstr ""
"Abgesehen von folgenden Daten: Passwort, Email Adresse, IM Adresse und "
"Telefonnummer, sind all meine Texte und Dateien unter %s verfügbar."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3395,7 +3417,7 @@ msgstr ""
"\n"
"Danke für deine Anmeldung, wir hoffen das dir der Service gefällt."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3477,7 +3499,7 @@ msgstr "Du kannst deine eigene Nachricht nicht wiederholen."
msgid "You already repeated that notice."
msgstr "Nachricht bereits wiederholt"
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Wiederholt"
@@ -4255,7 +4277,7 @@ msgstr "Verwalten Snapshot-Konfiguration"
#: actions/snapshotadminpanel.php:127
msgid "Invalid snapshot run value."
-msgstr ""
+msgstr "Der Wert zum Ausführen von Snapshots ist ungültig."
#: actions/snapshotadminpanel.php:133
msgid "Snapshot frequency must be a number."
@@ -4655,17 +4677,17 @@ msgstr ""
#: actions/userauthorization.php:303
#, php-format
msgid "Listener URI ‘%s’ not found here."
-msgstr ""
+msgstr "Eine Listener-URI „%s“ wurde hier nicht gefunden."
#: actions/userauthorization.php:308
#, php-format
msgid "Listenee URI ‘%s’ is too long."
-msgstr ""
+msgstr "Die URI „%s“ für den Stream ist zu lang."
#: actions/userauthorization.php:314
#, php-format
msgid "Listenee URI ‘%s’ is a local user."
-msgstr ""
+msgstr "Die URI „%s“ für den Stream ist ein lokaler Benutzer."
#: actions/userauthorization.php:329
#, php-format
@@ -4897,7 +4919,7 @@ msgstr "Problem bei Speichern der Nachricht."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5359,7 +5381,7 @@ msgid "Snapshots configuration"
msgstr "Snapshot Konfiguration"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr "API-Ressource erfordert lesen/schreib Zugriff; du hast nur Leserechte."
@@ -6405,7 +6427,7 @@ msgstr ""
"schicken, um sie in eine Konversation zu verwickeln. Andere Leute können Dir "
"Nachrichten schicken, die nur Du sehen kannst."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "von"
@@ -6567,23 +6589,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "in"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "im Zusammenhang"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Wiederholt von"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Auf diese Nachricht antworten"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Antworten"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Nachricht wiederholt"
diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po
index a75fef345..4e8f62afe 100644
--- a/locale/el/LC_MESSAGES/statusnet.po
+++ b/locale/el/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:39+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:41+0000\n"
"Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: el\n"
"X-Message-Group: out-statusnet\n"
@@ -98,10 +98,10 @@ msgstr "Δεν υπάÏχει τέτοια σελίδα"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "Η μέθοδος του ΑΡΙ δε βÏέθηκε!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -264,7 +264,7 @@ msgstr "Απέτυχε η αποθήκευση του Ï€Ïοφίλ."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -322,20 +322,20 @@ msgstr ""
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr ""
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr ""
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -655,17 +655,17 @@ msgstr "Η κατάσταση διεγÏάφη."
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr ""
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -776,7 +776,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "ΔιαγÏαφή"
@@ -1064,7 +1064,7 @@ msgid "Do not delete this notice"
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr ""
@@ -2531,8 +2531,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3235,7 +3235,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -3287,7 +3287,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3296,7 +3318,7 @@ msgstr ""
"εκτός από τα εξής Ï€Ïοσωπικά δεδομένα: κωδικός Ï€Ïόσβασης, διεÏθυνση email, "
"διεÏθυνση IM, τηλεφωνικό νοÏμεÏο."
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3330,7 +3352,7 @@ msgstr ""
"ΕυχαÏιστοÏμε που εγγÏάφηκες και ευχόμαστε να πεÏάσεις καλά με την υπηÏεσία "
"μας."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3411,7 +3433,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "Αδυναμία διαγÏαφής Î±Ï…Ï„Î¿Ï Ï„Î¿Ï… μηνÏματος."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "ΔημιουÏγία"
@@ -4769,7 +4791,7 @@ msgstr ""
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5251,7 +5273,7 @@ msgid "Snapshots configuration"
msgstr "Επιβεβαίωση διεÏθυνσης email"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6161,7 +6183,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "από"
@@ -6318,23 +6340,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr ""
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Επαναλαμβάνεται από"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Ρυθμίσεις OpenID"
diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po
index bb3c577b6..a3c1605ee 100644
--- a/locale/en_GB/LC_MESSAGES/statusnet.po
+++ b/locale/en_GB/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:42+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:44+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 (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: en-gb\n"
"X-Message-Group: out-statusnet\n"
@@ -96,10 +96,10 @@ msgstr "No such page."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "API method not found."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "This method requires a POST."
@@ -266,7 +266,7 @@ msgstr "Couldn't save profile."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,20 +325,20 @@ msgstr "Direct messages to %s"
msgid "All the direct messages sent to %s"
msgstr "All the direct messages sent to %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "No message text!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "That's too long. Max message size is %d chars."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Recipient user not found."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Can't send direct messages to users who aren't your friend."
@@ -652,17 +652,17 @@ msgstr "Status deleted."
msgid "No status with that ID found."
msgstr "No status with that ID found."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "That's too long. Max notice size is %d chars."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Not found."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Max notice size is %d chars, including attachment URL."
@@ -773,7 +773,7 @@ msgid "Preview"
msgstr "Preview"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Delete"
@@ -1054,7 +1054,7 @@ msgid "Do not delete this notice"
msgstr "Do not delete this notice"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Delete this notice"
@@ -1686,7 +1686,7 @@ msgstr "Invalid role."
#: actions/grantrole.php:66 actions/revokerole.php:66
msgid "This role is reserved and cannot be set."
-msgstr ""
+msgstr "This role is reserved and cannot be set."
#: actions/grantrole.php:75
msgid "You cannot grant user roles on this site."
@@ -1908,6 +1908,8 @@ msgid ""
"If you can't find the group you're looking for, you can [create it](%%action."
"newgroup%%) yourself."
msgstr ""
+"If you can't find the group you're looking for, you can [create it](%%action."
+"newgroup%%) yourself."
#: actions/groupsearch.php:85
#, php-format
@@ -1915,10 +1917,12 @@ msgid ""
"Why not [register an account](%%action.register%%) and [create the group](%%"
"action.newgroup%%) yourself!"
msgstr ""
+"Why not [register an account](%%action.register%%) and [create the group](%%"
+"action.newgroup%%) yourself!"
#: actions/groupunblock.php:91
msgid "Only an admin can unblock group members."
-msgstr ""
+msgstr "Only an admin can unblock group members."
#: actions/groupunblock.php:95
msgid "User is not blocked from group."
@@ -2303,21 +2307,19 @@ msgstr ""
"changing your settings."
#: actions/login.php:270
-#, fuzzy
msgid "Login with your username and password."
-msgstr "Login with a username and password"
+msgstr "Login with your username and password."
#: actions/login.php:273
-#, fuzzy, php-format
+#, php-format
msgid ""
"Don't have a username yet? [Register](%%action.register%%) a new account."
msgstr ""
-"Login with your username and password. Don't have a username yet? [Register]"
-"(%%action.register%%) a new account."
+"Don't have a username yet? [Register](%%action.register%%) a new account."
#: actions/makeadmin.php:92
msgid "Only an admin can make another user an admin."
-msgstr ""
+msgstr "Only and admin can make another user an admin."
#: actions/makeadmin.php:96
#, php-format
@@ -2480,16 +2482,16 @@ msgstr "OAuth applications"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
-msgstr ""
+msgstr "Applications you have registered"
#: actions/oauthappssettings.php:135
#, php-format
msgid "You have not registered any applications yet."
-msgstr ""
+msgstr "You have not registered any applications yet."
#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
-msgstr ""
+msgstr "Connected applications"
#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
@@ -2534,8 +2536,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Not a supported data format."
@@ -3230,7 +3232,7 @@ msgstr "Sorry, invalid invitation code."
msgid "Registration successful"
msgstr "Registration successful"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Register"
@@ -3282,7 +3284,29 @@ msgstr "Used only for updates, announcements, and password recovery"
msgid "Longer name, preferably your \"real\" name"
msgstr "Longer name, preferably your \"real\" name"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3291,7 +3315,7 @@ msgstr ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3324,7 +3348,7 @@ msgstr ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3404,7 +3428,7 @@ msgstr "You can't repeat your own notice."
msgid "You already repeated that notice."
msgstr "You already repeated that notice."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repeated"
@@ -4253,6 +4277,8 @@ msgid ""
"You have no subscribers. Try subscribing to people you know and they might "
"return the favor"
msgstr ""
+"You have no subscribers. Try subscribing to people you know and they might "
+"return the favour"
#: actions/subscribers.php:110
#, php-format
@@ -4779,7 +4805,7 @@ msgstr "Problem saving group inbox."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5117,7 +5143,7 @@ msgstr ""
#: lib/action.php:871
#, php-format
msgid "All %1$s content and data are available under the %2$s license."
-msgstr ""
+msgstr "All %1$s content and data are available under the %2$s licence."
#. TRANS: DT element for pagination (previous/next, etc.).
#: lib/action.php:1182
@@ -5237,7 +5263,7 @@ msgid "Snapshots configuration"
msgstr "Snapshots configuration"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -5665,6 +5691,44 @@ msgid ""
"tracks - not yet implemented.\n"
"tracking - not yet implemented.\n"
msgstr ""
+"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"
#: lib/common.php:135
msgid "No configuration file found. "
@@ -5700,7 +5764,7 @@ msgstr "Connections"
#: lib/connectsettingsaction.php:121
msgid "Authorized connected applications"
-msgstr ""
+msgstr "Authorised connected applications"
#: lib/dberroraction.php:60
msgid "Database error"
@@ -6153,7 +6217,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "from"
@@ -6307,23 +6371,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "in context"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repeated by"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Reply to this notice"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Reply"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Notice repeated"
@@ -6627,7 +6691,7 @@ msgstr "Edit profile settings"
#: lib/userprofile.php:264
msgid "Edit"
-msgstr ""
+msgstr "Edit"
#: lib/userprofile.php:287
msgid "Send a direct message to this user"
@@ -6639,7 +6703,7 @@ msgstr "Message"
#: lib/userprofile.php:326
msgid "Moderate"
-msgstr ""
+msgstr "Moderate"
#: lib/userprofile.php:364
msgid "User role"
@@ -6653,7 +6717,7 @@ msgstr "Administrator"
#: lib/userprofile.php:367
msgctxt "role"
msgid "Moderator"
-msgstr ""
+msgstr "Moderator"
#. TRANS: Used in notices to indicate when the notice was made compared to now.
#: lib/util.php:1083
diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po
index 7147c728f..268cb5c5d 100644
--- a/locale/es/LC_MESSAGES/statusnet.po
+++ b/locale/es/LC_MESSAGES/statusnet.po
@@ -14,12 +14,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:46+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:47+0000\n"
"Language-Team: Spanish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: es\n"
"X-Message-Group: out-statusnet\n"
@@ -100,10 +100,10 @@ msgstr "No existe tal página."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -232,12 +232,12 @@ msgstr "Método de API no encontrado."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Este método requiere un POST."
@@ -269,7 +269,7 @@ msgstr "No se pudo guardar el perfil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -328,20 +328,20 @@ msgstr "Mensajes directos a %s"
msgid "All the direct messages sent to %s"
msgstr "Todos los mensajes directos enviados a %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "¡Sin texto de mensaje!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Demasiado largo. Tamaño máx. de los mensajes es %d caracteres."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "No se encuentra usuario receptor."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "No se puede enviar mensajes directos a usuarios que no son tu amigo."
@@ -660,17 +660,17 @@ msgstr "Status borrado."
msgid "No status with that ID found."
msgstr "No hay estado para ese ID"
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "La entrada es muy larga. El tamaño máximo es de %d caracteres."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "No encontrado."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -783,7 +783,7 @@ msgid "Preview"
msgstr "Vista previa"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Borrar"
@@ -1065,7 +1065,7 @@ msgid "Do not delete this notice"
msgstr "No eliminar este mensaje"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Borrar este aviso"
@@ -2567,8 +2567,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Solamente %s URLs sobre HTTP simples por favor."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "No es un formato de dato soportado"
@@ -3284,7 +3284,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:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrarse"
@@ -3341,7 +3341,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Nombre más largo, preferiblemente tu nombre \"real\""
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "El contenido y datos de %1$s son privados y confidenciales."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3351,7 +3373,7 @@ msgstr ""
"información privada: contraseña, dirección de correo electrónico, dirección "
"de mensajería instantánea y número de teléfono."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3384,7 +3406,7 @@ msgstr ""
"\n"
"¡Gracias por apuntarte! Esperamos que disfrutes usando este servicio."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3467,7 +3489,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repetido"
@@ -4883,7 +4905,7 @@ msgstr "Hubo un problema al guarda la bandeja de entrada del grupo."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5053,7 +5075,7 @@ msgstr "Cerrar sesión en el sitio"
#: lib/action.php:467
msgctxt "MENU"
msgid "Logout"
-msgstr "Cerrar Sesión"
+msgstr "Cerrar sesión"
#. TRANS: Tooltip for main menu option "Register"
#: lib/action.php:472
@@ -5348,7 +5370,7 @@ msgid "Snapshots configuration"
msgstr "Configuración de instantáneas"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API requiere acceso de lectura y escritura, pero sólo tienes acceso de "
@@ -6402,7 +6424,7 @@ msgstr ""
"otros usuarios partícipes de la conversación. La gente puede enviarte "
"mensajes que sólo puedas leer tú."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "desde"
@@ -6563,23 +6585,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "en"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "en contexto"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetido por"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Responder este aviso."
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Aviso repetido"
diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po
index 77e38b3a8..c4a039c31 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-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:52+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:56+0000\n"
"Last-Translator: Ahmad Sufi Mahmudi\n"
"Language-Team: Persian\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
"X-Language-Code: fa\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
#. TRANS: Page title
@@ -99,10 +99,10 @@ msgstr "چنین صÙحه‌ای وجود ندارد"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "رابط مورد نظر پیدا نشد."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "برای استÙاده از این روش باید اطلاعات را به صورت پست بÙرستید"
@@ -265,7 +265,7 @@ msgstr "نمی‌توان شناس‌نامه را ذخیره کرد."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -323,20 +323,20 @@ msgstr "پیام‌های مستقیم به %s"
msgid "All the direct messages sent to %s"
msgstr "تمام پیام‌های مستقیم Ùرستاده‌شده به %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "هیچ پیام متنی وجود ندارد!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "این بسیار طولانی است. بیشینهٔ اندازهٔ پیام %d حر٠است."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "کاربر گیرنده یاÙت نشد."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "نمی‌توان پیام مستقیم را به کاربرانی Ú©Ù‡ دوست شما نیستند، Ùرستاد."
@@ -650,17 +650,17 @@ msgstr "وضعیت حذ٠شد."
msgid "No status with that ID found."
msgstr "هیچ وضعیتی با آن شناسه یاÙت نشد."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "خیلی طولانی است. حداکثر طول مجاز پیام %d حر٠است."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "یاÙت نشد."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "حداکثر طول پیام %d حر٠است که شامل ضمیمه نیز می‌باشد"
@@ -773,7 +773,7 @@ msgid "Preview"
msgstr "پیش‌نمایش"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "حذÙ"
@@ -1065,7 +1065,7 @@ msgid "Do not delete this notice"
msgstr "این پیام را پاک نکن"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "این پیام را پاک کن"
@@ -2554,8 +2554,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست."
@@ -3251,7 +3251,7 @@ msgstr "با عرض تاسÙØŒ کد دعوت نا معتبر است."
msgid "Registration successful"
msgstr "ثبت نام با موÙقیت انجام شد."
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "ثبت نام"
@@ -3303,7 +3303,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "نام بلند تر، به طور بهتر نام واقعیتان"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3312,7 +3334,7 @@ msgstr ""
"به استثنای این داده ی محرمانه : کلمه ی عبور، آدرس ایمیل، آدرس IM، و شماره "
"تلÙÙ†."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3331,7 +3353,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3408,7 +3430,7 @@ msgstr "شما نمی توانید Ø¢Ú¯Ù‡ÛŒ خودتان را تکرار Ú©Ù†ÛŒØ
msgid "You already repeated that notice."
msgstr "شما قبلا آن آگهی را تکرار کردید."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr ""
@@ -4775,7 +4797,7 @@ msgstr "مشکل در ذخیره کردن آگهی."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5254,7 +5276,7 @@ msgid "Snapshots configuration"
msgstr "پیکره بندی اصلی سایت"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6167,7 +6189,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "از"
@@ -6326,23 +6348,23 @@ msgstr ""
msgid "at"
msgstr "در"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "در زمینه"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "تکرار از"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "به این آگهی جواب دهید"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "جواب دادن"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "آگهی تکرار شد"
diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po
index a09c1415d..48a25ce22 100644
--- a/locale/fi/LC_MESSAGES/statusnet.po
+++ b/locale/fi/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:49+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:39:53+0000\n"
"Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fi\n"
"X-Message-Group: out-statusnet\n"
@@ -105,10 +105,10 @@ msgstr "Sivua ei ole."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -236,12 +236,12 @@ msgstr "API-metodia ei löytynyt!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Tämä metodi edellyttää POST sanoman."
@@ -273,7 +273,7 @@ msgstr "Ei voitu tallentaa profiilia."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -333,20 +333,20 @@ msgstr "Suorat viestit käyttäjälle %s"
msgid "All the direct messages sent to %s"
msgstr "Kaikki suorat viestit käyttäjälle %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Viestissä ei ole tekstiä!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Liian pitkä päivitys. Maksimikoko päivitykselle on %d merkkiä."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Vastaanottajaa ei löytynyt."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Et voi lähettää suoraa viestiä käyttäjälle, jonka kanssa et ole vielä kaveri."
@@ -674,17 +674,17 @@ msgstr "Päivitys poistettu."
msgid "No status with that ID found."
msgstr "Käyttäjätunnukselle ei löytynyt statusviestiä."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Päivitys on liian pitkä. Maksimipituus on %d merkkiä."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Ei löytynyt."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Maksimikoko päivitykselle on %d merkkiä, mukaan lukien URL-osoite."
@@ -797,7 +797,7 @@ msgid "Preview"
msgstr "Esikatselu"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Poista"
@@ -1084,7 +1084,7 @@ msgid "Do not delete this notice"
msgstr "Älä poista tätä päivitystä"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Poista tämä päivitys"
@@ -2622,8 +2622,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Tuo ei ole tuettu tietomuoto."
@@ -3343,7 +3343,7 @@ msgstr "Virheellinen kutsukoodin."
msgid "Registration successful"
msgstr "Rekisteröityminen onnistui"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Rekisteröidy"
@@ -3399,7 +3399,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Pitempi nimi, mieluiten oikea nimesi"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3408,7 +3430,7 @@ msgstr ""
"poislukien yksityinen tieto: salasana, sähköpostiosoite, IM-osoite, "
"puhelinnumero."
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3441,7 +3463,7 @@ msgstr ""
"\n"
"Kiitokset rekisteröitymisestäsi ja toivomme että pidät palvelustamme."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3530,7 +3552,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "Luotu"
@@ -4949,7 +4971,7 @@ msgstr "Ongelma päivityksen tallentamisessa."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -5447,7 +5469,7 @@ msgid "Snapshots configuration"
msgstr "SMS vahvistus"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6390,7 +6412,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr " lähteestä "
@@ -6550,25 +6572,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "Ei sisältöä!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "Luotu"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Vastaa tähän päivitykseen"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Vastaus"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Päivitys on poistettu."
diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po
index cf3f5d3b5..f5e2e9a91 100644
--- a/locale/fr/LC_MESSAGES/statusnet.po
+++ b/locale/fr/LC_MESSAGES/statusnet.po
@@ -15,12 +15,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:17:56+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:00+0000\n"
"Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: out-statusnet\n"
@@ -101,10 +101,10 @@ msgstr "Page non trouvée."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -234,12 +234,12 @@ msgstr "Méthode API non trouvée !"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Ce processus requiert un POST."
@@ -271,7 +271,7 @@ msgstr "Impossible d’enregistrer le profil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -330,20 +330,20 @@ msgstr "Messages directs envoyés à %s"
msgid "All the direct messages sent to %s"
msgstr "Tous les messages directs envoyés à %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Message sans texte !"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "C’est trop long ! La taille maximale du message est de %d caractères."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Destinataire non trouvé."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Vous ne pouvez envoyer des messages personnels qu’aux utilisateurs inscrits "
@@ -668,17 +668,17 @@ msgstr "Statut supprimé."
msgid "No status with that ID found."
msgstr "Aucun statut trouvé avec cet identifiant."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "C’est trop long ! La taille maximale de l’avis est de %d caractères."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Non trouvé."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -793,7 +793,7 @@ msgid "Preview"
msgstr "Aperçu"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Supprimer"
@@ -1074,7 +1074,7 @@ msgid "Do not delete this notice"
msgstr "Ne pas supprimer cet avis"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Supprimer cet avis"
@@ -2587,8 +2587,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Veuillez n'utiliser que des URL HTTP complètes en %s."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Format de données non supporté."
@@ -3301,7 +3301,7 @@ msgstr "Désolé, code d’invitation invalide."
msgid "Registration successful"
msgstr "Compte créé avec succès"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Créer un compte"
@@ -3358,7 +3358,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Nom plus long, votre \"vrai\" nom de préférence"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that 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."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3368,7 +3390,7 @@ msgstr ""
"données personnelles : mot de passe, adresse électronique, adresse de "
"messagerie instantanée, numéro de téléphone."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3402,7 +3424,7 @@ msgstr ""
"Merci pour votre inscription ! Nous vous souhaitons d’apprécier notre "
"service."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3484,7 +3506,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repris"
@@ -4913,7 +4935,7 @@ msgstr "Problème lors de l’enregistrement de la boîte de réception du group
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5375,7 +5397,7 @@ msgid "Snapshots configuration"
msgstr "Configuration des instantanés"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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 "
@@ -6436,7 +6458,7 @@ msgstr ""
"pour démarrer des conversations avec d’autres utilisateurs. Ceux-ci peuvent "
"vous envoyer des messages destinés à vous seul(e)."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "de"
@@ -6596,23 +6618,23 @@ msgstr "%1$u° %2$u' %3$u\" %4$s %5$u° %6$u' %7$u\" %8$s"
msgid "at"
msgstr "chez"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "dans le contexte"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repris par"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Répondre à cet avis"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Répondre"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Avis repris"
diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po
index 6fd558045..64a4d3e3b 100644
--- a/locale/ga/LC_MESSAGES/statusnet.po
+++ b/locale/ga/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:04+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:04+0000\n"
"Language-Team: Irish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ga\n"
"X-Message-Group: out-statusnet\n"
@@ -104,10 +104,10 @@ msgstr "Non existe a etiqueta."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -230,12 +230,12 @@ msgstr "Método da API non atopado"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Este método require un POST."
@@ -267,7 +267,7 @@ msgstr "Non se puido gardar o perfil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -327,21 +327,21 @@ msgstr "Mensaxes directas para %s"
msgid "All the direct messages sent to %s"
msgstr "Tódalas mensaxes directas enviadas a %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Non hai mensaxes de texto!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
"Iso é demasiado longo. O tamaño máximo para unha mensaxe é de 140 caracteres."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Usuario destinatario non atopado."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Non se pode enviar a mensaxe directa a usuarios dos que non eres amigo."
@@ -669,18 +669,18 @@ msgstr "Avatar actualizado."
msgid "No status with that ID found."
msgstr "Non existe ningún estado con esa ID atopada."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
"Iso é demasiado longo. O tamaño máximo para un chío é de 140 caracteres."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Non atopado"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -795,7 +795,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
#, fuzzy
msgid "Delete"
msgstr "eliminar"
@@ -1095,7 +1095,7 @@ msgid "Do not delete this notice"
msgstr "Non se pode eliminar este chíos."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
#, fuzzy
msgid "Delete this notice"
msgstr "Eliminar chío"
@@ -2651,8 +2651,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Non é un formato de datos soportado."
@@ -3380,7 +3380,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:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Rexistrar"
@@ -3439,7 +3439,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome máis longo, preferiblemente o teu nome \"real\""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3448,7 +3470,7 @@ msgstr ""
" agás esta informción privada: contrasinal, dirección de correo electrónico, "
"dirección IM, número de teléfono."
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3480,7 +3502,7 @@ msgstr ""
"\n"
"Grazas por rexistrarte e esperamos que laretexes moito."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3569,7 +3591,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "Crear"
@@ -5004,7 +5026,7 @@ msgstr "Aconteceu un erro ó gardar o chío."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -5506,7 +5528,7 @@ msgid "Snapshots configuration"
msgstr "Confirmación de SMS"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6539,7 +6561,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr " dende "
@@ -6702,27 +6724,27 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "Sen contido!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "Crear"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
#, fuzzy
msgid "Reply to this notice"
msgstr "Non se pode eliminar este chíos."
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
#, fuzzy
msgid "Reply"
msgstr "contestar"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Chío publicado"
diff --git a/locale/gl/LC_MESSAGES/statusnet.po b/locale/gl/LC_MESSAGES/statusnet.po
index 0b59b9adb..6639ecf5a 100644
--- a/locale/gl/LC_MESSAGES/statusnet.po
+++ b/locale/gl/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:21+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:08+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:10+0000\n"
"Language-Team: Galician\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: gl\n"
"X-Message-Group: out-statusnet\n"
@@ -95,10 +95,10 @@ msgstr "Esa páxina non existe."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "Non se atopou o método da API."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Este método require un POST."
@@ -264,7 +264,7 @@ msgstr "Non se puido gardar o perfil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -323,21 +323,21 @@ msgstr "Mensaxes directas a %s"
msgid "All the direct messages sent to %s"
msgstr "Todas as mensaxes directas enviadas a %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "A mensaxe non ten texto!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
"Iso é longo de máis. A lonxitude máxima das mensaxes é de %d caracteres."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Non se atopou o destinatario."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Non pode enviar mensaxes directas a usuarios que non sexan amigos seus."
@@ -656,17 +656,17 @@ msgstr "Borrouse o estado."
msgid "No status with that ID found."
msgstr "Non se atopou ningún estado con esa ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Iso é longo de máis. A nota non pode exceder os %d caracteres."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Non se atopou."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -781,7 +781,7 @@ msgid "Preview"
msgstr "Vista previa"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Borrar"
@@ -1062,7 +1062,7 @@ msgid "Do not delete this notice"
msgstr "Non borrar esta nota"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Borrar esta nota"
@@ -2563,8 +2563,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Só %s enderezos URL sobre HTTP simple."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Non se soporta ese formato de datos."
@@ -3281,7 +3281,7 @@ msgstr "O código da invitación é incorrecto."
msgid "Registration successful"
msgstr "Rexistrouse correctamente"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Rexistrarse"
@@ -3338,7 +3338,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome longo, preferiblemente o seu nome \"real\""
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "O contido e os datos de %1$s son privados e confidenciais."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3348,7 +3370,7 @@ msgstr ""
"datos privados: contrasinais, enderezos de correo electrónico e mensaxería "
"instantánea e números de teléfono."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3380,7 +3402,7 @@ msgstr ""
"\n"
"Grazas por rexistrarse. Esperamos que goce deste servizo."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3463,7 +3485,7 @@ msgstr "Non pode repetir a súa propia nota."
msgid "You already repeated that notice."
msgstr "Xa repetiu esa nota."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repetida"
@@ -4880,7 +4902,7 @@ msgstr "Houbo un problema ao gardar a caixa de entrada do grupo."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "â™» @%1$s %2$s"
@@ -5343,7 +5365,7 @@ msgid "Snapshots configuration"
msgstr "Configuración das instantáneas"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"O recurso API precisa permisos de lectura e escritura, pero só dispón de "
@@ -6394,7 +6416,7 @@ msgstr ""
"Non ten mensaxes privadas. Pode enviar mensaxes privadas para conversar con "
"outros usuarios. A xente pode enviarlle mensaxes para que só as lea vostede."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "de"
@@ -6553,23 +6575,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "en"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Responder a esta nota"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Repetiuse a nota"
diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po
index 2c9927ebf..486fc3285 100644
--- a/locale/he/LC_MESSAGES/statusnet.po
+++ b/locale/he/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:12+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:14+0000\n"
"Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n"
"X-Message-Group: out-statusnet\n"
@@ -101,10 +101,10 @@ msgstr "×ין הודעה כזו."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "קוד ×”×ישור ×œ× × ×ž×¦×."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -264,7 +264,7 @@ msgstr "שמירת הפרופיל נכשלה."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -323,20 +323,20 @@ msgstr ""
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr ""
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "×–×” ×רוך מידי. ×ורך מירבי להודעה ×”×•× 140 ×ותיות."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr ""
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -661,18 +661,18 @@ msgstr "התמונה עודכנה."
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "×–×” ×רוך מידי. ×ורך מירבי להודעה ×”×•× 140 ×ותיות."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
#, fuzzy
msgid "Not found."
msgstr "×œ× × ×ž×¦×"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -787,7 +787,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
#, fuzzy
msgid "Delete"
msgstr "מחק"
@@ -1081,7 +1081,7 @@ msgid "Do not delete this notice"
msgstr "×ין הודעה כזו."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr ""
@@ -2583,8 +2583,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3295,7 +3295,7 @@ msgstr "שגי××” ב×ישור הקוד."
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "הירש×"
@@ -3347,14 +3347,36 @@ msgstr "לשימוש רק ×‘×ž×§×¨×™× ×©×œ עידכוני×, הודעות מע×
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3373,7 +3395,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3457,7 +3479,7 @@ msgstr "×œ× × ×™×ª×Ÿ ×œ×”×™×¨×©× ×œ×œ× ×”×¡×›×ž×” לרשיון"
msgid "You already repeated that notice."
msgstr "כבר נכנסת למערכת!"
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "צור"
@@ -4849,7 +4871,7 @@ msgstr "בעיה בשמירת ההודעה."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5343,7 +5365,7 @@ msgid "Snapshots configuration"
msgstr "הרשמות"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6278,7 +6300,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr ""
@@ -6439,26 +6461,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "×ין תוכן!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "צור"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
#, fuzzy
msgid "Reply"
msgstr "הגב"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "הודעות"
diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po
index a5126d75a..8600eaf7d 100644
--- a/locale/hsb/LC_MESSAGES/statusnet.po
+++ b/locale/hsb/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:15+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:17+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hsb\n"
"X-Message-Group: out-statusnet\n"
@@ -96,10 +96,10 @@ msgstr "Strona njeeksistuje."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -220,12 +220,12 @@ msgstr "API-metoda njenamakana."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Tuta metoda wužaduje sej POST."
@@ -255,7 +255,7 @@ msgstr "Profil njeje so składować dał."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -312,20 +312,20 @@ msgstr "Direktne powěsće do %s"
msgid "All the direct messages sent to %s"
msgstr "Wšě do %s pósłane direktne powěsće"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Žadyn powěsćowy tekst!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "To je předołho. Maksimalna powěsćowa wulkosć je %d znamješkow."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Přijimowar njenamakany."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -634,17 +634,17 @@ msgstr "Status zniÄeny."
msgid "No status with that ID found."
msgstr "Žadyn status z tym ID namakany."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "To je předołho. Maksimalna wulkosć zdźělenki je %d znamješkow."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Njenamakany."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -756,7 +756,7 @@ msgid "Preview"
msgstr "Přehlad"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "ZniÄić"
@@ -1029,7 +1029,7 @@ msgid "Do not delete this notice"
msgstr "Tutu zdźělenku njewušmórnyć"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Tutu zdźělenku wušmórnyć"
@@ -2438,8 +2438,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Njeje podpěrany datowy format."
@@ -3120,7 +3120,7 @@ msgstr "Wodaj, njepłaćiwy přeprošenski kod."
msgid "Registration successful"
msgstr "Registrowanje wuspěšne"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrować"
@@ -3172,14 +3172,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Dlěše mjeno, wosebje twoje \"woprawdźite\" mjeno"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3198,7 +3220,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3273,7 +3295,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Wospjetowany"
@@ -4589,7 +4611,7 @@ msgstr ""
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5041,7 +5063,7 @@ msgid "Snapshots configuration"
msgstr "Konfiguracija wobrazowkowych fotow"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -5943,7 +5965,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "wot"
@@ -6097,23 +6119,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr ""
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Wospjetowany wot"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Na tutu zdźělenku wotmołwić"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Wotmołwić"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Zdźělenka wospjetowana"
diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po
index 1b05490b9..18617e5c5 100644
--- a/locale/ia/LC_MESSAGES/statusnet.po
+++ b/locale/ia/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:18+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:20+0000\n"
"Language-Team: Interlingua\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: out-statusnet\n"
@@ -94,10 +94,10 @@ msgstr "Pagina non existe."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -226,12 +226,12 @@ msgstr "Methodo API non trovate."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Iste methodo require un POST."
@@ -263,7 +263,7 @@ msgstr "Non poteva salveguardar le profilo."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -322,20 +322,20 @@ msgstr "Messages directe a %s"
msgid "All the direct messages sent to %s"
msgstr "Tote le messages directe inviate a %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Message sin texto!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Isto es troppo longe. Le maximo es %d characteres."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Usator destinatario non trovate."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Non pote inviar messages directe a usatores que non es tu amicos."
@@ -652,18 +652,18 @@ msgstr "Stato delite."
msgid "No status with that ID found."
msgstr "Nulle stato trovate con iste ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
"Isto es troppo longe. Le longitude maximal del notas es %d characteres."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Non trovate."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -778,7 +778,7 @@ msgid "Preview"
msgstr "Previsualisation"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Deler"
@@ -1059,7 +1059,7 @@ msgid "Do not delete this notice"
msgstr "Non deler iste nota"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Deler iste nota"
@@ -2557,8 +2557,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Solmente le URLs %s es permittite super HTTP simple."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Formato de datos non supportate."
@@ -3264,7 +3264,7 @@ msgstr "Pardono, le codice de invitation es invalide."
msgid "Registration successful"
msgstr "Registration succedite"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Crear conto"
@@ -3320,7 +3320,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Nomine plus longe, preferibilemente tu nomine \"real\""
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Le contento e datos de %1$s es private e confidential."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3330,7 +3352,7 @@ msgstr ""
"contrasigno, adresse de e-mail, adresse de messageria instantanee, numero de "
"telephono."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3362,7 +3384,7 @@ msgstr ""
"\n"
"Gratias pro inscriber te, e nos spera que iste servicio te place."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3445,7 +3467,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repetite"
@@ -4857,7 +4879,7 @@ msgstr "Problema salveguardar le cassa de entrata del gruppo."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5317,7 +5339,7 @@ msgid "Snapshots configuration"
msgstr "Configuration del instantaneos"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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 "
@@ -6366,7 +6388,7 @@ msgstr ""
"altere usatores in conversation. Altere personas pote inviar te messages que "
"solmente tu pote leger."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "de"
@@ -6526,23 +6548,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "a"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "in contexto"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetite per"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Responder a iste nota"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Nota repetite"
diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po
index 2b2f19f5d..b3ced814d 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-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:21+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:24+0000\n"
"Language-Team: Icelandic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: is\n"
"X-Message-Group: out-statusnet\n"
@@ -104,10 +104,10 @@ msgstr "Ekkert þannig merki."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "Aðferð í forritsskilum fannst ekki!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Þessi aðferð krefst POST."
@@ -266,7 +266,7 @@ msgstr "Gat ekki vistað persónulega síðu."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,20 +325,20 @@ msgstr "Bein skilaboð til %s"
msgid "All the direct messages sent to %s"
msgstr "Öll bein skilaboð til %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Enginn texti í skilaboðum!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Þetta er of langt. Hámarkslengd skilaboða er 140 tákn."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Móttakandi fannst ekki."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Gat ekki sent bein skilaboð til notenda sem eru ekki vinir þínir."
@@ -662,17 +662,17 @@ msgstr ""
msgid "No status with that ID found."
msgstr "Engin staða með þessu kenni fannst."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Þetta er of langt. Hámarkslengd babls er 140 tákn."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Fannst ekki."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -785,7 +785,7 @@ msgid "Preview"
msgstr "Forsýn"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Eyða"
@@ -1072,7 +1072,7 @@ msgid "Do not delete this notice"
msgstr ""
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Eyða þessu babli"
@@ -2603,8 +2603,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Enginn stuðningur við gagnasnið."
@@ -3319,7 +3319,7 @@ msgstr ""
msgid "Registration successful"
msgstr "Nýskráning tókst"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Nýskrá"
@@ -3373,14 +3373,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Lengra nafn, ákjósalegast að það sé \"rétta\" nafnið þitt"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3413,7 +3435,7 @@ msgstr ""
"\n"
"Takk fyrir að skrá þig og við vonum að þú njótir þjónustunnar."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3503,7 +3525,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "à sviðsljósinu"
@@ -4899,7 +4921,7 @@ msgstr "Vandamál komu upp við að vista babl."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -5396,7 +5418,7 @@ msgid "Snapshots configuration"
msgstr "SMS staðfesting"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6325,7 +6347,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr "frá"
@@ -6485,24 +6507,24 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr ""
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "à sviðsljósinu"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Svara þessu babli"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Svara"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Babl sent inn"
diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po
index 6b6351f89..ed159ea92 100644
--- a/locale/it/LC_MESSAGES/statusnet.po
+++ b/locale/it/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:25+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:28+0000\n"
"Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: it\n"
"X-Message-Group: out-statusnet\n"
@@ -97,10 +97,10 @@ msgstr "Pagina inesistente."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -230,12 +230,12 @@ msgstr "Metodo delle API non trovato."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Questo metodo richiede POST."
@@ -267,7 +267,7 @@ msgstr "Impossibile salvare il profilo."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -326,20 +326,20 @@ msgstr "Messaggi diretti a %s"
msgid "All the direct messages sent to %s"
msgstr "Tutti i messaggi diretti inviati a %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Nessun testo nel messaggio!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Troppo lungo. La dimensione massima di un messaggio è di %d caratteri."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Destinatario non trovato."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Non puoi inviare messaggi diretti a utenti che non sono tuoi amici."
@@ -656,17 +656,17 @@ msgstr "Messaggio eliminato."
msgid "No status with that ID found."
msgstr "Nessuno stato trovato con quel ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Troppo lungo. Lunghezza massima %d caratteri."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Non trovato."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -779,7 +779,7 @@ msgid "Preview"
msgstr "Anteprima"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Elimina"
@@ -1059,7 +1059,7 @@ msgid "Do not delete this notice"
msgstr "Non eliminare il messaggio"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Elimina questo messaggio"
@@ -2555,8 +2555,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Solo URL %s attraverso HTTP semplice."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Non è un formato di dati supportato."
@@ -3262,7 +3262,7 @@ msgstr "Codice di invito non valido."
msgid "Registration successful"
msgstr "Registrazione riuscita"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrati"
@@ -3318,7 +3318,29 @@ msgstr "Usata solo per aggiornamenti, annunci e recupero password"
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome completo, preferibilmente il tuo \"vero\" nome"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "I contenuti e i dati di %1$s sono privati e confidenziali."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3328,7 +3350,7 @@ msgstr ""
"dati personali: password, indirizzo email, indirizzo messaggistica "
"istantanea e numero di telefono."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3362,7 +3384,7 @@ msgstr ""
"Grazie per la tua iscrizione e speriamo tu possa divertiti usando questo "
"servizio."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3445,7 +3467,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Ripetuti"
@@ -4857,7 +4879,7 @@ msgstr "Problema nel salvare la casella della posta del gruppo."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5319,7 +5341,7 @@ msgid "Snapshots configuration"
msgstr "Configurazione snapshot"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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 "
@@ -6373,7 +6395,7 @@ msgstr ""
"iniziare una conversazione con altri utenti. Altre persone possono mandare "
"messaggi riservati solamente a te."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "via"
@@ -6532,23 +6554,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "presso"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "in una discussione"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Ripetuto da"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Rispondi a questo messaggio"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Rispondi"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Messaggio ripetuto"
diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po
index d3943819a..36b810524 100644
--- a/locale/ja/LC_MESSAGES/statusnet.po
+++ b/locale/ja/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:28+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:31+0000\n"
"Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ja\n"
"X-Message-Group: out-statusnet\n"
@@ -99,10 +99,10 @@ msgstr "ãã®ã‚ˆã†ãªãƒšãƒ¼ã‚¸ã¯ã‚ã‚Šã¾ã›ã‚“。"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "API メソッドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã«ã¯ POST ãŒå¿…è¦ã§ã™ã€‚"
@@ -267,7 +267,7 @@ msgstr "プロフィールをä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -326,20 +326,20 @@ msgstr "%s ã¸ã®ãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
msgid "All the direct messages sent to %s"
msgstr "%s ã¸é€ã£ãŸå…¨ã¦ã®ãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "メッセージã®æœ¬æ–‡ãŒã‚ã‚Šã¾ã›ã‚“ï¼"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "é•·ã™ãŽã¾ã™ã€‚メッセージã¯æœ€å¤§ %d å­—ã¾ã§ã§ã™ã€‚"
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "å—ã‘å–り手ã®ãƒ¦ãƒ¼ã‚¶ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "å‹äººã§ãªã„ユーザã«ãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’é€ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
@@ -654,17 +654,17 @@ msgstr "ステータスを削除ã—ã¾ã—ãŸã€‚"
msgid "No status with that ID found."
msgstr "ãã®ï¼©ï¼¤ã§ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¯ã‚ã‚Šã¾ã›ã‚“。"
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "é•·ã™ãŽã¾ã™ã€‚ã¤ã¶ã‚„ãã¯æœ€å¤§ 140 å­—ã¾ã§ã§ã™ã€‚"
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "見ã¤ã‹ã‚Šã¾ã›ã‚“。"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "ã¤ã¶ã‚„ã㯠URL ã‚’å«ã‚ã¦æœ€å¤§ %d å­—ã¾ã§ã§ã™ã€‚"
@@ -775,7 +775,7 @@ msgid "Preview"
msgstr "プレビュー"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "削除"
@@ -1060,7 +1060,7 @@ msgid "Do not delete this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãを削除ã§ãã¾ã›ã‚“。"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãを削除"
@@ -2576,8 +2576,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„データ形å¼ã€‚"
@@ -3283,7 +3283,7 @@ msgstr "ã™ã¿ã¾ã›ã‚“ã€ä¸æ­£ãªæ‹›å¾…コード。"
msgid "Registration successful"
msgstr "登録æˆåŠŸ"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "登録"
@@ -3339,14 +3339,36 @@ msgstr "æ›´æ–°ã€ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã€ãƒ‘スワードリカãƒãƒªãƒ¼ã§ã®ã¿ä½¿ç”¨
msgid "Longer name, preferably your \"real\" name"
msgstr "é•·ã„åå‰"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr "個人情報を除ã: パスワードã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã€IMアドレスã€é›»è©±ç•ªå·"
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3379,7 +3401,7 @@ msgstr ""
"å‚加ã—ã¦ãã ã•ã£ã¦ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ç§ãŸã¡ã¯ã‚ãªãŸãŒã“ã®ã‚µãƒ¼ãƒ“スを楽ã—ã‚“"
"ã§ä½¿ã£ã¦ãれるã“ã¨ã‚’願ã£ã¦ã„ã¾ã™ã€‚"
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3463,7 +3485,7 @@ msgstr "自分ã®ã¤ã¶ã‚„ãã¯ç¹°ã‚Šè¿”ã›ã¾ã›ã‚“。"
msgid "You already repeated that notice."
msgstr "ã™ã§ã«ãã®ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¦ã„ã¾ã™ã€‚"
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "ç¹°ã‚Šè¿”ã•ã‚ŒãŸ"
@@ -4890,7 +4912,7 @@ msgstr "グループå—信箱をä¿å­˜ã™ã‚‹éš›ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5371,7 +5393,7 @@ msgid "Snapshots configuration"
msgstr "パス設定"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"APIリソースã¯èª­ã¿æ›¸ãアクセスãŒå¿…è¦ã§ã™ã€ã—ã‹ã—ã‚ãªãŸã¯èª­ã¿ã‚¢ã‚¯ã‚»ã‚¹ã—ã‹æŒã£ã¦"
@@ -6354,7 +6376,7 @@ msgstr ""
"ã«å¼•ã込むプライベートメッセージをé€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚人々ã¯ã‚ãªãŸã ã‘ã¸ã®"
"メッセージをé€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "from"
@@ -6521,23 +6543,23 @@ msgstr ""
msgid "at"
msgstr "at"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr ""
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr ""
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "ã“ã®ã¤ã¶ã‚„ãã¸è¿”ä¿¡"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "返信"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "ã¤ã¶ã‚„ãã‚’ç¹°ã‚Šè¿”ã—ã¾ã—ãŸ"
diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po
index 835611a9f..bd688f756 100644
--- a/locale/ko/LC_MESSAGES/statusnet.po
+++ b/locale/ko/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:31+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:35+0000\n"
"Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n"
"X-Message-Group: out-statusnet\n"
@@ -94,10 +94,10 @@ msgstr "해당하는 페ì´ì§€ ì—†ìŒ"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -220,12 +220,12 @@ msgstr "API 메서드 발견 안 ë¨."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "ì´ ë©”ì„œë“œëŠ” POST를 요구합니다."
@@ -255,7 +255,7 @@ msgstr "í”„ë¡œí•„ì„ ì €ìž¥ í•  수 없습니다."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -314,20 +314,20 @@ msgstr "%sì—게 ì§ì ‘ 메시지"
msgid "All the direct messages sent to %s"
msgstr "%sì—게 모든 ì§ì ‘ 메시지"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "메시지 ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "너무 ê¹ë‹ˆë‹¤. 최대 메시지 길ì´ëŠ” %d ìžê¹Œì§€ìž…니다."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "받는 사용ìžê°€ 없습니다."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "ë‹¹ì‹ ì˜ ì¹œêµ¬ê°€ ì•„ë‹Œ 사용ìžì—게 ì§ì ‘ 메시지를 보낼 수 없습니다."
@@ -644,17 +644,17 @@ msgstr "ì‚­ì œëœ ì†Œì‹ìž…니다."
msgid "No status with that ID found."
msgstr "ë°œê²¬ëœ IDì˜ ìƒíƒœê°€ 없습니다."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "너무 ê¹ë‹ˆë‹¤. í†µì§€ì˜ ìµœëŒ€ 길ì´ëŠ” %d ê¸€ìž ìž…ë‹ˆë‹¤."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "ì°¾ì„ ìˆ˜ê°€ 없습니다."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "소ì‹ì˜ 최대 길ì´ëŠ” 첨부 URLì„ í¬í•¨í•˜ì—¬ %d 글ìžìž…니다."
@@ -766,7 +766,7 @@ msgid "Preview"
msgstr "미리보기"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "삭제"
@@ -1054,7 +1054,7 @@ msgid "Do not delete this notice"
msgstr "ì´ í†µì§€ë¥¼ 지울 수 없습니다."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "ì´ ê²Œì‹œê¸€ 삭제하기"
@@ -2572,8 +2572,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "지ì›í•˜ëŠ” 형ì‹ì˜ ë°ì´í„°ê°€ 아닙니다."
@@ -3286,7 +3286,7 @@ msgstr "í™•ì¸ ì½”ë“œ 오류"
msgid "Registration successful"
msgstr "íšŒì› ê°€ìž…ì´ ì„±ê³µì ìž…니다."
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "회ì›ê°€ìž…"
@@ -3340,14 +3340,36 @@ msgstr "ì—…ë°ì´íŠ¸ë‚˜ 공지, 비밀번호 ì°¾ê¸°ì— ì‚¬ìš©í•˜ì„¸ìš”."
msgid "Longer name, preferably your \"real\" name"
msgstr "ë”ìš± 긴 ì´ë¦„ì„ ìš”êµ¬í•©ë‹ˆë‹¤."
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr "ë‹¤ìŒ ê°œì¸ì •ë³´ 제외: 비밀 번호, ë©”ì¼ ì£¼ì†Œ, 메신저 주소, ì „í™” 번호"
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3380,7 +3402,7 @@ msgstr ""
"\n"
"다시 한번 가입하신 ê²ƒì„ í™˜ì˜í•˜ë©´ì„œ ì¦ê±°ìš´ 서비스가 ë˜ì…¨ìœ¼ë©´ 합니다."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3467,7 +3489,7 @@ msgstr "ìžì‹ ì˜ ê¸€ì€ ìž¬ì „ì†¡í•  수 없습니다."
msgid "You already repeated that notice."
msgstr "ë‹¹ì‹ ì€ ì´ë¯¸ ì´ ì‚¬ìš©ìžë¥¼ 차단하고 있습니다."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "재전송ë¨"
@@ -4871,7 +4893,7 @@ msgstr "통지를 ì €ìž¥í•˜ëŠ”ë° ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -5367,7 +5389,7 @@ msgid "Snapshots configuration"
msgstr "SMS ì¸ì¦"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6293,7 +6315,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr "다ìŒì—ì„œ:"
@@ -6453,25 +6475,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "ìƒì„±"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "ì´ ê²Œì‹œê¸€ì— ëŒ€í•´ 답장하기"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "답장하기"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "ê²Œì‹œê¸€ì´ ë“±ë¡ë˜ì—ˆìŠµë‹ˆë‹¤."
diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po
index 215f5089c..2f4fca471 100644
--- a/locale/mk/LC_MESSAGES/statusnet.po
+++ b/locale/mk/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:38+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:38+0000\n"
"Language-Team: Macedonian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: out-statusnet\n"
@@ -97,10 +97,10 @@ msgstr "Ðема таква Ñтраница."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -230,12 +230,12 @@ msgstr "API методот не е пронајден."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Овој метод бара POST."
@@ -267,7 +267,7 @@ msgstr "Ðе може да Ñе зачува профил."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -326,20 +326,20 @@ msgstr "Директни пораки до %s"
msgid "All the direct messages sent to %s"
msgstr "Сите директни пораки иÑпратени до %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Ðема текÑÑ‚ за пораката!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Ова е предолго. МакÑималната должина изнеÑува %d знаци."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Примачот не е пронајден."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Ðеможете да иÑпраќате директни пораки на кориÑници што не ви Ñе пријатели."
@@ -656,17 +656,17 @@ msgstr "СтатуÑот е избришан."
msgid "No status with that ID found."
msgstr "Ðема пронајдено ÑÑ‚Ð°Ñ‚ÑƒÑ Ñо тој ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Ова е предолго. МакÑималната дозволена должина изнеÑува %d знаци."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Ðе е пронајдено."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -781,7 +781,7 @@ msgid "Preview"
msgstr "Преглед"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Бриши"
@@ -1063,7 +1063,7 @@ msgid "Do not delete this notice"
msgstr "Ðе ја бриши оваа забелешка"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Бриши ја оваа забелешка"
@@ -2565,8 +2565,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Ве молиме кориÑтете Ñамо %s URL-адреÑи врз проÑÑ‚ HTTP-код."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Ова не е поддржан формат на податотека."
@@ -3277,7 +3277,7 @@ msgstr "Жалиме, неважечки код за поканата."
msgid "Registration successful"
msgstr "РегиÑтрацијата е уÑпешна"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "РегиÑтрирај Ñе"
@@ -3333,7 +3333,29 @@ msgstr "Се кориÑти Ñамо за подновувања, објави Ð
msgid "Longer name, preferably your \"real\" name"
msgstr "Подолго име, по можноÑÑ‚ Вашето виÑтинÑко име и презиме"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Содржината и податоците на %1$s Ñе лични и доверливи."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3342,7 +3364,7 @@ msgstr ""
"Мојот текÑÑ‚ и податотеки Ñе доÑтапни под %s, оÑвен Ñледниве приватни "
"податоци: лозинка, е-пошта, IM-адреÑа и телефонÑки број."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3376,7 +3398,7 @@ msgstr ""
"Ви благодариме што Ñе зачленивте и Ви пожелуваме пријатни мигови Ñо оваа "
"Ñлужба."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3459,7 +3481,7 @@ msgstr "Ðе можете да повторувате ÑопÑтвена забÐ
msgid "You already repeated that notice."
msgstr "Веќе ја имате повторено таа забелешка."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Повторено"
@@ -4878,7 +4900,7 @@ msgstr "Проблем при зачувувањето на групното пÑ
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5340,7 +5362,7 @@ msgid "Snapshots configuration"
msgstr "ПоÑтавки за Ñнимки"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API-реÑурÑот бара да може и да чита и да запишува, а вие можете Ñамо да "
@@ -6391,7 +6413,7 @@ msgstr ""
"впуштите во разговор Ñо други кориÑници. Луѓето можат да ви иÑпраќаат пораки "
"што ќе можете да ги видите Ñамо Вие."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "од"
@@ -6553,23 +6575,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "во"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "во контекÑÑ‚"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Повторено од"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Одговори на забелешкава"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Одговор"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Забелешката е повторена"
diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po
index c36addf55..5e5539e57 100644
--- a/locale/nb/LC_MESSAGES/statusnet.po
+++ b/locale/nb/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:41+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:41+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 (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: out-statusnet\n"
@@ -95,10 +95,10 @@ msgstr "Ingen slik side."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "API-metode ikke funnet!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Denne metoden krever en POST."
@@ -264,7 +264,7 @@ msgstr "Klarte ikke å lagre profil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -324,20 +324,20 @@ msgstr "Direktemeldinger til %s"
msgid "All the direct messages sent to %s"
msgstr "Alle direktemeldinger sendt til %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Ingen meldingstekst!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Dette er for langt. Meldingen kan bare være %d tegn lang."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Fant ikke mottakeren."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Kan ikke sende direktemeldinger til brukere du ikke er venn med."
@@ -649,17 +649,17 @@ msgstr "Status slettet."
msgid "No status with that ID found."
msgstr "Ingen status med den ID-en funnet."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Det er for langt. Maks notisstørrelse er %d tegn."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Ikke funnet."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Maks notisstørrelse er %d tegn, inklusive vedleggs-URL."
@@ -770,7 +770,7 @@ msgid "Preview"
msgstr "Forhåndsvis"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Slett"
@@ -1051,7 +1051,7 @@ msgid "Do not delete this notice"
msgstr "Ikke slett denne notisen"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Slett denne notisen"
@@ -2531,8 +2531,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Bare %s-nettadresser over vanlig HTTP."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Ikke et støttet dataformat."
@@ -3237,7 +3237,7 @@ msgstr "Beklager, ugyldig invitasjonskode."
msgid "Registration successful"
msgstr "Registrering vellykket"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrer"
@@ -3292,7 +3292,29 @@ msgstr "Kun brukt for oppdateringer, kunngjøringer og passordgjenoppretting"
msgid "Longer name, preferably your \"real\" name"
msgstr "Lengre navn, helst ditt \"ekte\" navn"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3301,7 +3323,7 @@ msgstr ""
"Mine tekster og filer er tilgjengelig under %s med unntak av disse private "
"dataene: passord, e-postadresse, direktemeldingsadresse og telefonnummer."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3334,7 +3356,7 @@ msgstr ""
"\n"
"Takk for at du registrerte deg og vi håper du kommer til å like tjenesten."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3418,7 +3440,7 @@ msgstr "Du kan ikke gjenta din egen notis."
msgid "You already repeated that notice."
msgstr "Du har allerede gjentatt den notisen."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Gjentatt"
@@ -4792,7 +4814,7 @@ msgstr "Problem ved lagring av gruppeinnboks."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5250,7 +5272,7 @@ msgid "Snapshots configuration"
msgstr ""
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6185,6 +6207,9 @@ msgid ""
"\n"
"\t%s"
msgstr ""
+"Hele samtalen kan leses her:\n"
+"\n"
+"%s"
#: lib/mail.php:651
#, php-format
@@ -6255,7 +6280,7 @@ msgstr ""
"engasjere andre brukere i en samtale. Personer kan sende deg meldinger som "
"bare du kan se."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "fra"
@@ -6411,23 +6436,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "på"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr ""
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetert av"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Svar på denne notisen"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Svar"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Notis repetert"
diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po
index f42b33941..2fb17c45f 100644
--- a/locale/nl/LC_MESSAGES/statusnet.po
+++ b/locale/nl/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:47+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:48+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: out-statusnet\n"
@@ -96,10 +96,10 @@ msgstr "Deze pagina bestaat niet."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "De API-functie is niet aangetroffen."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Deze methode vereist een POST."
@@ -266,7 +266,7 @@ msgstr "Het was niet mogelijk het profiel op te slaan."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,20 +325,20 @@ msgstr "Privéberichten aan %s"
msgid "All the direct messages sent to %s"
msgstr "Alle privéberichten aan %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Het bericht is leeg!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Dat is te lang. De maximale berichtlengte is %d tekens."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "De ontvanger is niet aangetroffen."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"U kunt geen privéberichten sturen aan gebruikers die niet op uw "
@@ -666,17 +666,17 @@ msgstr "De status is verwijderd."
msgid "No status with that ID found."
msgstr "Er is geen status gevonden met dit ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "De mededeling is te lang. Gebruik maximaal %d tekens."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Niet aangetroffen."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -790,7 +790,7 @@ msgid "Preview"
msgstr "Voorvertoning"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Verwijderen"
@@ -1072,7 +1072,7 @@ msgid "Do not delete this notice"
msgstr "Deze mededeling niet verwijderen"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Deze mededeling verwijderen"
@@ -2587,8 +2587,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Alleen URL's voor %s via normale HTTP alstublieft."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Geen ondersteund gegevensformaat."
@@ -3303,7 +3303,7 @@ msgstr "Sorry. De uitnodigingscode is ongeldig."
msgid "Registration successful"
msgstr "De registratie is voltooid"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registreren"
@@ -3357,7 +3357,29 @@ msgstr "Alleen gebruikt voor updates, aankondigingen en wachtwoordherstel"
msgid "Longer name, preferably your \"real\" name"
msgstr "Een langere naam, mogelijk uw echte naam"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Inhoud en gegevens van %1$s zijn persoonlijk en vertrouwelijk."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3367,7 +3389,7 @@ msgstr ""
"behalve de volgende privégegevens: wachtwoord, e-mailadres, IM-adres, "
"telefoonnummer."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3401,7 +3423,7 @@ msgstr ""
"Dank u wel voor het registreren en we hopen dat deze dienst u biedt wat u "
"ervan verwacht."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3484,7 +3506,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Herhaald"
@@ -4920,7 +4942,7 @@ msgstr ""
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5383,7 +5405,7 @@ msgid "Snapshots configuration"
msgstr "Snapshotinstellingen"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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 "
@@ -6443,7 +6465,7 @@ msgstr ""
"U hebt geen privéberichten. U kunt privéberichten verzenden aan andere "
"gebruikers. Mensen kunnen u privéberichten sturen die alleen u kunt lezen."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "van"
@@ -6605,23 +6627,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "op"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "in context"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Herhaald door"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Op deze mededeling antwoorden"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Antwoorden"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Mededeling herhaald"
diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po
index ddff42772..f1437b8aa 100644
--- a/locale/nn/LC_MESSAGES/statusnet.po
+++ b/locale/nn/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:44+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:45+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 (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nn\n"
"X-Message-Group: out-statusnet\n"
@@ -103,10 +103,10 @@ msgstr "Dette emneord finst ikkje."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "Fann ikkje API-metode."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Dette krev ein POST."
@@ -266,7 +266,7 @@ msgstr "Kan ikkje lagra profil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -326,20 +326,20 @@ msgstr "Direkte meldingar til %s"
msgid "All the direct messages sent to %s"
msgstr "Alle direkte meldingar sendt til %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Inga meldingstekst!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Det er for langt. Ein notis kan berre være 140 teikn."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Kunne ikkje finne mottakar."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Kan ikkje senda direktemeldingar til brukarar som du ikkje er ven med."
@@ -665,17 +665,17 @@ msgstr "Lasta opp brukarbilete."
msgid "No status with that ID found."
msgstr "Fann ingen status med den ID-en."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Det er for langt! Ein notis kan berre innehalde 140 teikn."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Finst ikkje."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -789,7 +789,7 @@ msgid "Preview"
msgstr "Forhandsvis"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Slett"
@@ -1082,7 +1082,7 @@ msgid "Do not delete this notice"
msgstr "Kan ikkje sletta notisen."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Slett denne notisen"
@@ -2625,8 +2625,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Ikkje eit støtta dataformat."
@@ -3342,7 +3342,7 @@ msgstr "Feil med stadfestingskode."
msgid "Registration successful"
msgstr "Registreringa gikk bra"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrér"
@@ -3397,7 +3397,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Lengre namn, fortrinnsvis ditt «ekte» namn"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3406,7 +3428,7 @@ msgstr ""
" unnateke privatdata: passord, epostadresse, ljonmeldingsadresse og "
"telefonnummer."
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3438,7 +3460,7 @@ msgstr ""
"\n"
"Takk for at du blei med, og vi håpar du vil lika tenesta!"
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3527,7 +3549,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "Lag"
@@ -4938,7 +4960,7 @@ msgstr "Eit problem oppstod ved lagring av notis."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -5436,7 +5458,7 @@ msgid "Snapshots configuration"
msgstr "SMS bekreftelse"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6371,7 +6393,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr " frå "
@@ -6531,25 +6553,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "Ingen innhald."
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "Lag"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Svar på denne notisen"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Svar"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Melding lagra"
diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po
index c816475e1..a6082d4f1 100644
--- a/locale/pl/LC_MESSAGES/statusnet.po
+++ b/locale/pl/LC_MESSAGES/statusnet.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:50+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:51+0000\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pl\n"
"X-Message-Group: out-statusnet\n"
@@ -100,10 +100,10 @@ msgstr "Nie ma takiej strony."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -233,12 +233,12 @@ msgstr "Nie odnaleziono metody API."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Ta metoda wymaga POST."
@@ -269,7 +269,7 @@ msgstr "Nie można zapisać profilu."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -328,20 +328,20 @@ msgstr "Bezpośrednia wiadomość do użytkownika %s"
msgid "All the direct messages sent to %s"
msgstr "Wszystkie bezpośrednie wiadomości wysłane do użytkownika %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Brak tekstu wiadomości."
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Wiadomość jest za długa. Maksymalna długość wynosi %d znaków."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Nie odnaleziono odbiorcy."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Nie można wysłać bezpośredniej wiadomości do użytkowników, którzy nie są "
@@ -657,17 +657,17 @@ msgstr "Usunięto stan."
msgid "No status with that ID found."
msgstr "Nie odnaleziono stanów z tym identyfikatorem."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Wpis jest za długi. Maksymalna długość wynosi %d znaków."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Nie odnaleziono."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Maksymalny rozmiar wpisu wynosi %d znaków, w tym adres URL załącznika."
@@ -778,7 +778,7 @@ msgid "Preview"
msgstr "PodglÄ…d"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Usuń"
@@ -1058,7 +1058,7 @@ msgid "Do not delete this notice"
msgstr "Nie usuwaj tego wpisu"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Usuń ten wpis"
@@ -2546,8 +2546,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Dozwolone są tylko adresy URL %s przez zwykły protokół HTTP."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "To nie jest obsługiwany format danych."
@@ -3253,7 +3253,7 @@ msgstr "Nieprawidłowy kod zaproszenia."
msgid "Registration successful"
msgstr "Rejestracja powiodła się"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Zarejestruj siÄ™"
@@ -3309,7 +3309,29 @@ msgstr "Używane tylko do aktualizacji, ogłoszeń i przywracania hasła"
msgid "Longer name, preferably your \"real\" name"
msgstr "Dłuższa nazwa, najlepiej twoje \"prawdziwe\" imię i nazwisko"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Treść i dane %1$s są prywatne i poufne."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3318,7 +3340,7 @@ msgstr ""
"Tekst i pliki są dostępne na warunkach licencji %s, poza tymi prywatnymi "
"danymi: hasło, adres e-mail, adres komunikatora i numer telefonu."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3351,7 +3373,7 @@ msgstr ""
"Dziękujemy za zarejestrowanie się i mamy nadzieję, że używanie tej usługi "
"sprawi ci przyjemność."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3434,7 +3456,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Powtórzono"
@@ -4851,7 +4873,7 @@ msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5314,7 +5336,7 @@ msgid "Snapshots configuration"
msgstr "Konfiguracja migawek"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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 "
@@ -6369,7 +6391,7 @@ msgstr ""
"rozmowę z innymi użytkownikami. Inni mogą wysyłać ci wiadomości tylko dla "
"twoich oczu."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "z"
@@ -6526,23 +6548,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "w"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "w rozmowie"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Powtórzone przez"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Odpowiedz na ten wpis"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Odpowiedz"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Powtórzono wpis"
diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po
index 2d6571767..f1368936a 100644
--- a/locale/pt/LC_MESSAGES/statusnet.po
+++ b/locale/pt/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:53+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:55+0000\n"
"Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: out-statusnet\n"
@@ -96,10 +96,10 @@ msgstr "Página não foi encontrada."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "Método da API não encontrado."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Este método requer um POST."
@@ -263,7 +263,7 @@ msgstr "Não foi possível gravar o perfil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -322,20 +322,20 @@ msgstr "Mensagens directas para %s"
msgid "All the direct messages sent to %s"
msgstr "Todas as mensagens directas enviadas para %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Mensagem não tem texto!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Demasiado longo. Tamanho máx. das mensagens é %d caracteres."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Destinatário não encontrado."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Não pode enviar mensagens directas a utilizadores que não sejam amigos."
@@ -649,17 +649,17 @@ msgstr "Estado apagado."
msgid "No status with that ID found."
msgstr "Não foi encontrado um estado com esse ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Demasiado longo. Tamanho máx. das notas é %d caracteres."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Não encontrado."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Tamanho máx. das notas é %d caracteres, incluíndo a URL do anexo."
@@ -770,7 +770,7 @@ msgid "Preview"
msgstr "Antevisão"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Apagar"
@@ -1051,7 +1051,7 @@ msgid "Do not delete this notice"
msgstr "Não apagar esta nota"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Apagar esta nota"
@@ -2546,8 +2546,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Só URLs %s sobre HTTP simples, por favor."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Formato de dados não suportado."
@@ -3256,7 +3256,7 @@ msgstr "Desculpe, código de convite inválido."
msgid "Registration successful"
msgstr "Registo efectuado"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registar"
@@ -3311,7 +3311,29 @@ msgstr "Usado apenas para actualizações, anúncios e recuperação da senha"
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome mais longo, de preferência o seu nome \"verdadeiro\""
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "O conteúdo e dados do site %1$s são privados e confidenciais."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3321,7 +3343,7 @@ msgstr ""
"estes dados privados: senha, endereço de correio electrónico, endereço de "
"mensageiro instantâneo, número de telefone."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3354,7 +3376,7 @@ msgstr ""
"\n"
"Obrigado por se ter registado e esperamos que se divirta usando este serviço."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3437,7 +3459,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repetida"
@@ -4849,7 +4871,7 @@ msgstr "Problema na gravação da caixa de entrada do grupo."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5314,7 +5336,7 @@ msgid "Snapshots configuration"
msgstr "Configuração dos instântaneos"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr "API requer acesso de leitura e escrita, mas só tem acesso de leitura."
@@ -6359,7 +6381,7 @@ msgstr ""
"conversa com outros utilizadores. Outros podem enviar-lhe mensagens, a que "
"só você terá acesso."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "de"
@@ -6519,23 +6541,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "coords."
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Responder a esta nota"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Nota repetida"
diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po
index 1409dc614..a464b0cae 100644
--- a/locale/pt_BR/LC_MESSAGES/statusnet.po
+++ b/locale/pt_BR/LC_MESSAGES/statusnet.po
@@ -12,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:56+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:40:58+0000\n"
"Language-Team: Brazilian Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: out-statusnet\n"
@@ -98,10 +98,10 @@ msgstr "Esta página não existe."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -231,12 +231,12 @@ msgstr "O método da API não foi encontrado!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Este método requer um POST."
@@ -268,7 +268,7 @@ msgstr "Não foi possível salvar o perfil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -327,20 +327,20 @@ msgstr "Mensagens diretas para %s"
msgid "All the direct messages sent to %s"
msgstr "Todas as mensagens diretas enviadas para %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Nenhuma mensagem de texto!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Isso é muito extenso. O tamanho máximo das mensagens é %d caracteres."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "O usuário destinatário não foi encontrado."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Não é possível enviar mensagens diretas para usuários que não sejam seus "
@@ -662,17 +662,17 @@ msgstr "A mensagem foi excluída."
msgid "No status with that ID found."
msgstr "Não foi encontrada nenhuma mensagem com esse ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Está muito extenso. O tamanho máximo é de %s caracteres."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Não encontrado."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "O tamanho máximo da mensagem é de %s caracteres"
@@ -784,7 +784,7 @@ msgid "Preview"
msgstr "Visualização"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Excluir"
@@ -1066,7 +1066,7 @@ msgid "Do not delete this notice"
msgstr "Não excluir esta mensagem."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Excluir esta mensagem"
@@ -2552,9 +2552,8 @@ msgstr ""
"aplicações "
#: actions/oembed.php:79 actions/shownotice.php:100
-#, fuzzy
msgid "Notice has no profile."
-msgstr "A mensagem não está associada a nenhum perfil"
+msgstr "A mensagem não está associada a nenhum perfil."
#: actions/oembed.php:86 actions/shownotice.php:175
#, php-format
@@ -2563,19 +2562,19 @@ msgstr "Mensagem de %1$s no %2$s"
#. TRANS: Error message displaying attachments. %s is a raw MIME type (eg 'image/png')
#: actions/oembed.php:158
-#, fuzzy, php-format
+#, php-format
msgid "Content type %s not supported."
-msgstr "tipo de conteúdo "
+msgstr "O tipo de conteúdo %s não é suportado."
#. TRANS: Error message displaying attachments. %s is the site's base URL.
#: actions/oembed.php:162
#, php-format
msgid "Only %s URLs over plain HTTP please."
-msgstr ""
+msgstr "Por favor, somente URLs %s sobre HTTP puro."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Não é um formato de dados suportado."
@@ -2726,24 +2725,24 @@ msgid "Path and server settings for this StatusNet site."
msgstr "Configurações dos caminhos e do servidor para este site StatusNet."
#: actions/pathsadminpanel.php:157
-#, fuzzy, php-format
+#, php-format
msgid "Theme directory not readable: %s."
-msgstr "Sem permissão de leitura no diretório de temas: %s"
+msgstr "Sem permissão de leitura no diretório de temas: %s."
#: actions/pathsadminpanel.php:163
-#, fuzzy, php-format
+#, php-format
msgid "Avatar directory not writable: %s."
-msgstr "Sem permissão de escrita no diretório de avatares: %s"
+msgstr "Sem permissão de escrita no diretório de avatares: %s."
#: actions/pathsadminpanel.php:169
-#, fuzzy, php-format
+#, php-format
msgid "Background directory not writable: %s."
-msgstr "Sem permissão de escrita no diretório de imagens de fundo: %s"
+msgstr "Sem permissão de escrita no diretório de imagens de fundo: %s."
#: actions/pathsadminpanel.php:177
-#, fuzzy, php-format
+#, php-format
msgid "Locales directory not readable: %s."
-msgstr "Sem permissão de leitura no diretório de locales: %s"
+msgstr "Sem permissão de leitura no diretório de locales: %s."
#: actions/pathsadminpanel.php:183
msgid "Invalid SSL server. The maximum length is 255 characters."
@@ -2884,9 +2883,9 @@ msgid "People search"
msgstr "Procurar pessoas"
#: actions/peopletag.php:68
-#, fuzzy, php-format
+#, php-format
msgid "Not a valid people tag: %s."
-msgstr "Não é uma etiqueta de pessoa válida: %s"
+msgstr "Não é uma etiqueta de pessoa válida: %s."
#: actions/peopletag.php:142
#, php-format
@@ -2894,9 +2893,8 @@ 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:95
-#, fuzzy
msgid "Invalid notice content."
-msgstr "O conteúdo da mensagem é inválido"
+msgstr "O conteúdo da mensagem é inválido."
#: actions/postnotice.php:101
#, php-format
@@ -3042,9 +3040,9 @@ msgid "Settings saved."
msgstr "As configurações foram salvas."
#: actions/public.php:83
-#, fuzzy, php-format
+#, php-format
msgid "Beyond the page limit (%s)."
-msgstr "Além do limite da página (%s)"
+msgstr "Além do limite da página (%s)."
#: actions/public.php:92
msgid "Could not retrieve public stream."
@@ -3288,7 +3286,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:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrar-se"
@@ -3309,7 +3307,6 @@ msgid "Invalid username or password."
msgstr "Nome de usuário e/ou senha inválido(s)"
#: actions/register.php:343
-#, fuzzy
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -3344,16 +3341,39 @@ msgstr "Usado apenas para atualizações, anúncios e recuperações de senha"
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome completo, de preferência seu nome \"real\""
-#: actions/register.php:494
+#: actions/register.php:511
#, fuzzy, php-format
msgid ""
+"I understand that 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."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
+#, php-format
+msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-" exceto estes dados particulares: senha, endereço de e-mail, endereço de MI "
+"Meus textos e arquivos estão disponíveis sob a %s, exceto estes dados "
+"particulares: senha, endereço de e-mail, endereço do mensageiro instantâneo "
"e número de telefone."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3386,7 +3406,7 @@ msgstr ""
"\n"
"Obrigado por se registrar e esperamos que você aproveite o serviço."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3468,7 +3488,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Repetida"
@@ -3971,7 +3991,6 @@ msgid "Minimum text limit is 0 (unlimited)."
msgstr "O valor mínimo para o limite de texto é 0 (sem limites)."
#: actions/siteadminpanel.php:171
-#, fuzzy
msgid "Dupe limit must be one or more seconds."
msgstr "O limite de duplicatas deve ser de um ou mais segundos."
@@ -4064,7 +4083,6 @@ msgid "Unable to save site notice."
msgstr "Não foi possível salvar os avisos do site."
#: actions/sitenoticeadminpanel.php:113
-#, fuzzy
msgid "Max length for the site-wide notice is 255 chars."
msgstr "O tamanho máximo para os avisos é de 255 caracteres."
@@ -4099,9 +4117,8 @@ msgstr "SMS não está disponível."
#. TRANS: Form legend for SMS settings form.
#: actions/smssettings.php:111
-#, fuzzy
msgid "SMS address"
-msgstr "Endereço do MI"
+msgstr "Endereço de SMS"
#. TRANS: Form guide in SMS settings form.
#: actions/smssettings.php:120
@@ -4125,7 +4142,6 @@ msgstr "Informe o código que você recebeu no seu telefone."
#. TRANS: Button label to confirm SMS confirmation code in SMS settings.
#: actions/smssettings.php:148
-#, fuzzy
msgctxt "BUTTON"
msgid "Confirm"
msgstr "Confirmar"
@@ -4142,9 +4158,8 @@ msgstr "Número de telefone, sem pontuação ou espaços, com código de área"
#. TRANS: Form legend for SMS preferences form.
#: actions/smssettings.php:195
-#, fuzzy
msgid "SMS preferences"
-msgstr "Preferências"
+msgstr "Preferências do SMS"
#. TRANS: Checkbox label in SMS preferences form.
#: actions/smssettings.php:201
@@ -4157,9 +4172,8 @@ msgstr ""
#. TRANS: Confirmation message for successful SMS preferences save.
#: actions/smssettings.php:315
-#, fuzzy
msgid "SMS preferences saved."
-msgstr "As preferências foram salvas."
+msgstr "As preferências do SMS foram salvas."
#. TRANS: Message given saving SMS phone number without having provided one.
#: actions/smssettings.php:338
@@ -4197,9 +4211,8 @@ msgstr "Isso é um número de confirmação errado."
#. TRANS: Message given after successfully canceling SMS phone number confirmation.
#: actions/smssettings.php:427
-#, fuzzy
msgid "SMS confirmation cancelled."
-msgstr "A confirmação foi cancelada."
+msgstr "A confirmação do SMS foi cancelada."
#. TRANS: Message given trying to remove an SMS phone number that is not
#. TRANS: registered for the active user.
@@ -4209,9 +4222,8 @@ msgstr "Esse não é seu número de telefone."
#. TRANS: Message given after successfully removing a registered SMS phone number.
#: actions/smssettings.php:470
-#, fuzzy
msgid "The SMS phone number was removed."
-msgstr "Telefone para SMS"
+msgstr "O número de telefone para SMS foi removido."
#. TRANS: Label for mobile carrier dropdown menu in SMS settings.
#: actions/smssettings.php:511
@@ -4262,9 +4274,8 @@ msgid "Invalid snapshot report URL."
msgstr "A URL para o envio das estatísticas é inválida."
#: actions/snapshotadminpanel.php:200
-#, fuzzy
msgid "Randomly during web hit"
-msgstr "Aleatoriamente durante o funcionamento"
+msgstr "Aleatoriamente durante as visitas ao site"
#: actions/snapshotadminpanel.php:201
msgid "In a scheduled job"
@@ -4497,9 +4508,8 @@ msgid "User is not silenced."
msgstr "O usuário não está silenciado."
#: actions/unsubscribe.php:77
-#, fuzzy
msgid "No profile ID in request."
-msgstr "Nenhuma ID de perfil na requisição."
+msgstr "A requisição não possui nenhuma ID de perfil."
#: actions/unsubscribe.php:98
msgid "Unsubscribed"
@@ -4852,7 +4862,7 @@ msgstr "Não foi possível atualizar a mensagem com a nova URI."
#. TRANS: Server exception. %s are the error details.
#: classes/Notice.php:176
-#, fuzzy, php-format
+#, php-format
msgid "Database error inserting hashtag: %s"
msgstr "Erro no banco de dados durante a inserção da hashtag: %s"
@@ -4893,7 +4903,7 @@ msgstr "Problema no salvamento das mensagens recebidas do grupo."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5176,7 +5186,7 @@ msgstr "Licença do software StatusNet"
#. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set.
#: lib/action.php:817
-#, fuzzy, php-format
+#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%)."
@@ -5232,7 +5242,7 @@ msgstr ""
#: lib/action.php:871
#, php-format
msgid "All %1$s content and data are available under the %2$s license."
-msgstr ""
+msgstr "Todo o conteúdo e dados de %1$s estão disponíveis sob a licença %2$s."
#. TRANS: DT element for pagination (previous/next, etc.).
#: lib/action.php:1182
@@ -5354,7 +5364,7 @@ msgid "Snapshots configuration"
msgstr "Configurações das estatísticas"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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 "
@@ -5444,25 +5454,22 @@ msgstr "Cancelar"
#. TRANS: Application access type
#: lib/applicationlist.php:136
-#, fuzzy
msgid "read-write"
-msgstr "Leitura e escrita"
+msgstr "leitura e escrita"
#. TRANS: Application access type
#: lib/applicationlist.php:138
-#, fuzzy
msgid "read-only"
-msgstr "Somente leitura"
+msgstr "somente leitura"
#. TRANS: Used in application list. %1$s is a modified date, %2$s is access type (read-write or read-only)
#: lib/applicationlist.php:144
#, php-format
msgid "Approved %1$s - \"%2$s\" access."
-msgstr ""
+msgstr "Aprovado em %1$s - acesso \"%2$s\"."
#. TRANS: Button label
#: lib/applicationlist.php:159
-#, fuzzy
msgctxt "BUTTON"
msgid "Revoke"
msgstr "Revogar"
@@ -6382,7 +6389,7 @@ msgstr ""
"privadas para envolver outras pessoas em uma conversa. Você também pode "
"receber mensagens privadas."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "de"
@@ -6544,23 +6551,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "em"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "no contexto"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Repetida por"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Responder a esta mensagem"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Responder"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Mensagem repetida"
diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po
index 054ed2bc2..249d59d65 100644
--- a/locale/ru/LC_MESSAGES/statusnet.po
+++ b/locale/ru/LC_MESSAGES/statusnet.po
@@ -12,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:18:59+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:01+0000\n"
"Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: out-statusnet\n"
@@ -100,10 +100,10 @@ msgstr "Ðет такой Ñтраницы."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -231,12 +231,12 @@ msgstr "Метод API не найден."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Этот метод требует POST."
@@ -268,7 +268,7 @@ msgstr "Ðе удаётÑÑ Ñохранить профиль."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -327,20 +327,20 @@ msgstr "ПрÑмые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ %s"
msgid "All the direct messages sent to %s"
msgstr "Ð’Ñе прÑмые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñланные Ð´Ð»Ñ %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "ОтÑутÑтвует текÑÑ‚ ÑообщениÑ!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Слишком длинно. МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ â€” %d знаков."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Получатель не найден."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Ðе удаётÑÑ Ð¿Ð¾Ñылать прÑмые ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñм, которые не ÑвлÑÑŽÑ‚ÑÑ "
@@ -661,17 +661,17 @@ msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ ÑƒÐ´Ð°Ð»Ñ‘Ð½."
msgid "No status with that ID found."
msgstr "Ðе найдено ÑтатуÑа Ñ Ñ‚Ð°ÐºÐ¸Ð¼ ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Слишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ. МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° — %d знаков."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Ðе найдено."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° запиÑи — %d Ñимволов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ URL вложениÑ."
@@ -783,7 +783,7 @@ msgid "Preview"
msgstr "ПроÑмотр"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Удалить"
@@ -1064,7 +1064,7 @@ msgid "Do not delete this notice"
msgstr "Ðе удалÑÑ‚ÑŒ Ñту запиÑÑŒ"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Удалить Ñту запиÑÑŒ"
@@ -2567,8 +2567,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Только %s URL в проÑтом HTTP, пожалуйÑта."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Ðеподдерживаемый формат данных."
@@ -3271,7 +3271,7 @@ msgstr "Извините, неверный приглаÑительный код
msgid "Registration successful"
msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ ÑƒÑпешна!"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "РегиÑтрациÑ"
@@ -3329,7 +3329,29 @@ msgstr "Ðужна только Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ð¹, оÑведомлеÐ
msgid "Longer name, preferably your \"real\" name"
msgstr "Полное имÑ, предпочтительно Ваше наÑтоÑщее имÑ"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Содержание и данные %1$s ÑвлÑÑŽÑ‚ÑÑ Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ и конфиденциальными."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3338,7 +3360,7 @@ msgstr ""
"Мои текÑÑ‚Ñ‹ и файлы доÑтупны на уÑловиÑÑ… %s, за иÑключением Ñледующей личной "
"информации: паролÑ, почтового адреÑа, номера меÑÑенджера и номера телефона."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3372,7 +3394,7 @@ msgstr ""
"СпаÑибо за то, что приÑоединилиÑÑŒ к нам, надеемÑÑ, что вы получите "
"удовольÑтвие от иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑервиÑа!"
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3451,7 +3473,7 @@ msgstr "Ð’Ñ‹ не можете повторить ÑобÑтвенную запÐ
msgid "You already repeated that notice."
msgstr "Ð’Ñ‹ уже повторили Ñту запиÑÑŒ."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Повторено"
@@ -4869,7 +4891,7 @@ msgstr "Проблемы Ñ Ñохранением входÑщих Ñообще
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5330,7 +5352,7 @@ msgid "Snapshots configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñнимков"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API реÑурÑа требует доÑтуп Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸ запиÑи, но у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ только доÑтуп "
@@ -6381,7 +6403,7 @@ msgstr ""
"Ð²Ð¾Ð²Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… пользователей в разговор. СообщениÑ, получаемые от других "
"людей, видите только вы."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "от "
@@ -6540,23 +6562,23 @@ msgstr "%1$u°%2$u'%3$u\" %4$s %5$u°%6$u'%7$u\" %8$s"
msgid "at"
msgstr "на"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "в контекÑте"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Повторено"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Ответить на Ñту запиÑÑŒ"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Ответить"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "ЗапиÑÑŒ повторена"
diff --git a/locale/statusnet.pot b/locale/statusnet.pot
index caa8258f9..da42f33dd 100644
--- a/locale/statusnet.pot
+++ b/locale/statusnet.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-03 19:17+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+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"
@@ -92,10 +92,10 @@ msgstr ""
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -216,12 +216,12 @@ msgstr ""
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -251,7 +251,7 @@ msgstr ""
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -308,20 +308,20 @@ msgstr ""
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr ""
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr ""
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -630,17 +630,17 @@ msgstr ""
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr ""
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -751,7 +751,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr ""
@@ -1024,7 +1024,7 @@ msgid "Do not delete this notice"
msgstr ""
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr ""
@@ -2426,8 +2426,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3106,7 +3106,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -3158,14 +3158,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr ""
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3184,7 +3206,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3259,7 +3281,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr ""
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr ""
@@ -4575,7 +4597,7 @@ msgstr ""
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5027,7 +5049,7 @@ msgid "Snapshots configuration"
msgstr ""
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -5923,7 +5945,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr ""
@@ -6077,23 +6099,23 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr ""
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr ""
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr ""
diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po
index e50bf1a32..0cd352cbc 100644
--- a/locale/sv/LC_MESSAGES/statusnet.po
+++ b/locale/sv/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:02+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:05+0000\n"
"Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: sv\n"
"X-Message-Group: out-statusnet\n"
@@ -96,10 +96,10 @@ msgstr "Ingen sådan sida"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -227,12 +227,12 @@ msgstr "API-metod hittades inte."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Denna metod kräver en POST."
@@ -262,7 +262,7 @@ msgstr "Kunde inte spara profil."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -321,20 +321,20 @@ msgstr "Direktmeddelande till %s"
msgid "All the direct messages sent to %s"
msgstr "Alla direktmeddelanden skickade till %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "Ingen meddelandetext!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Detta är för långt. Maximal meddelandestorlek är %d tecken."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Mottagare hittades inte."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "Kan inte skicka direktmeddelanden till användare som inte är din vän."
@@ -647,17 +647,17 @@ msgstr "Status borttagen."
msgid "No status with that ID found."
msgstr "Ingen status med det ID:t hittades."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Det är för långt. Maximal notisstorlek är %d tecken."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Hittades inte."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "Maximal notisstorlek är %d tecken, inklusive webbadress för bilaga."
@@ -769,7 +769,7 @@ msgid "Preview"
msgstr "Förhandsgranska"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Ta bort"
@@ -1051,7 +1051,7 @@ msgid "Do not delete this notice"
msgstr "Ta inte bort denna notis"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Ta bort denna notis"
@@ -2545,8 +2545,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Endast %s-webbadresser över vanlig HTTP."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Ett dataformat som inte stödjs"
@@ -3252,7 +3252,7 @@ msgstr "Tyvärr, ogiltig inbjudningskod."
msgid "Registration successful"
msgstr "Registreringen genomförd"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrera"
@@ -3310,7 +3310,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr "Längre namn, förslagsvis ditt \"verkliga\" namn"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "Innehåll och data av %1$s är privat och konfidensiell."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3319,7 +3341,7 @@ msgstr ""
"Mina texter och filer är tillgängliga under %s med undantag av den här "
"privata datan: lösenord, e-postadress, IM-adress, telefonnummer."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3352,7 +3374,7 @@ msgstr ""
"Tack för att du anmält dig och vi hoppas att du kommer tycka om att använda "
"denna tjänst."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3435,7 +3457,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Upprepad"
@@ -4846,7 +4868,7 @@ msgstr "Problem med att spara gruppinkorg."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5304,7 +5326,7 @@ msgid "Snapshots configuration"
msgstr "Konfiguration av ögonblicksbilder"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
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."
@@ -6347,7 +6369,7 @@ msgstr ""
"engagera andra användare i konversationen. Folk kan skicka meddelanden till "
"dig som bara du ser."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "från"
@@ -6507,23 +6529,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "på"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "i sammanhang"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Upprepad av"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "Svara på denna notis"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Svara"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Notis upprepad"
diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po
index 7084c9114..c205085d3 100644
--- a/locale/te/LC_MESSAGES/statusnet.po
+++ b/locale/te/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:21+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:06+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:08+0000\n"
"Language-Team: Telugu\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: te\n"
"X-Message-Group: out-statusnet\n"
@@ -95,10 +95,10 @@ msgstr "à°…à°Ÿà±à°µà°‚à°Ÿà°¿ పేజీ లేదà±."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -220,12 +220,12 @@ msgstr "నిరà±à°§à°¾à°°à°£ సంకేతం కనబడలేదà±."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -257,7 +257,7 @@ msgstr "à°ªà±à°°à±Šà°«à±ˆà°²à±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°²à±‡à°•à±à°¨à±à°
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -315,20 +315,20 @@ msgstr "%s à°•à°¿ నేరౠసందేశాలà±"
msgid "All the direct messages sent to %s"
msgstr "%sà°•à°¿ పంపిన à°…à°¨à±à°¨à°¿ నేరౠసందేశాలà±"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "సందేశపౠపాఠà±à°¯à°‚ లేదà±!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "చాలా పొడవà±à°‚ది. à°—à°°à°¿à°·à±à°  సందేశ పరిమాణం %d à°…à°•à±à°·à°°à°¾à°²à±."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "à°…à°‚à°¦à±à°•à±‹à°µà°¾à°²à±à°¸à°¿à°¨ వాడà±à°•à°°à°¿ కనబడలేదà±."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "మీ à°¸à±à°¨à±‡à°¹à°¿à°¤à±à°²à± కాని వాడà±à°•à°°à±à°²à°•à°¿ నేరౠసందేశాలౠపంపించలేరà±."
@@ -642,17 +642,17 @@ msgstr "à°¸à±à°¥à°¿à°¤à°¿à°¨à°¿ తొలగించాం."
msgid "No status with that ID found."
msgstr "à°† IDతో ఠనోటీసౠకనబడలేదà±."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "అది చాలా పొడవà±à°‚ది. à°—à°°à°¿à°·à±à°  నోటీసౠపరిమాణం %d à°…à°•à±à°·à°°à°¾à°²à±."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "కనబడలేదà±."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr "à°—à°°à°¿à°·à±à°  నోటీసౠపొడవౠ%d à°…à°•à±à°·à°°à°¾à°²à±, జోడింపౠURLని à°•à°²à±à°ªà±à°•à±à°¨à°¿."
@@ -765,7 +765,7 @@ msgid "Preview"
msgstr "à°®à±à°¨à±à°œà±‚à°ªà±"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "తొలగించà±"
@@ -1044,7 +1044,7 @@ msgid "Do not delete this notice"
msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించకà±"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "à°ˆ నోటీసà±à°¨à°¿ తొలగించà±"
@@ -2350,7 +2350,7 @@ msgstr "విషయం లేదà±!"
#: actions/newmessage.php:158
msgid "No recipient specified."
-msgstr ""
+msgstr "ఎవరికి పంపించాలో పేరà±à°•à±Šà°¨à°²à±‡à°¦à±."
#: actions/newmessage.php:164 lib/command.php:484
msgid ""
@@ -2460,7 +2460,7 @@ msgstr "సంధానిత ఉపకరణాలà±"
#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
-msgstr ""
+msgstr "మీ ఖాతాని à°ªà±à°°à°¾à°ªà°¿à°‚చడానికి మీరౠఈ à°•à±à°°à°¿à°‚ది ఉపకరణాలకి à°…à°¨à±à°®à°¤à°¿à°¨à°¿à°šà±à°šà°¾à°°à±."
#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
@@ -2502,8 +2502,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3203,7 +3203,7 @@ msgstr "à°•à±à°·à°®à°¿à°‚à°šà°‚à°¡à°¿, తపà±à°ªà± ఆహà±à°µà°¾à°¨ à°¸à°
msgid "Registration successful"
msgstr "నమోదౠవిజయవంతం"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "నమోదà±"
@@ -3255,14 +3255,38 @@ msgstr "తాజా విశేషాలà±, à°ªà±à°°à°•à°Ÿà°¨à°²à±, మరà
msgid "Longer name, preferably your \"real\" name"
msgstr "పొడà±à°—ాటి పేరà±, మీ \"అసలà±\" పేరైతే మంచిది"
-#: actions/register.php:494
-#, fuzzy, php-format
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
+#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
-msgstr " à°ˆ అంతరంగిక భోగటà±à°Ÿà°¾ తపà±à°ª: సంకేతపదం, ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾, IM à°šà°¿à°°à±à°¨à°¾à°®à°¾, మరియౠఫోనౠనంబరà±."
+msgstr ""
+"నా పాఠà±à°¯à°‚ మరియౠదసà±à°¤à±à°°à°¾à°²à± %s à°•à±à°°à°¿à°‚à°¦ లభà±à°¯à°‚, à°ˆ అంతరంగిక భోగటà±à°Ÿà°¾ తపà±à°ª: సంకేతపదం, ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾, IM "
+"à°šà°¿à°°à±à°¨à°¾à°®à°¾, మరియౠఫోనౠనంబరà±."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3293,7 +3317,7 @@ msgstr ""
"\n"
"నమోదà±à°šà±‡à°¸à±à°•à±à°¨à±à°¨à°‚à°¦à±à°•à± కృతజà±à°žà°¤à°²à± మరియౠఈ సేవని ఉపయోగిసà±à°¤à±‚ మీరౠఆనందిసà±à°¤à°¾à°°à°¨à°¿ మేం ఆశిసà±à°¤à±à°¨à±à°¨à°¾à°‚."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3314,7 +3338,7 @@ msgstr ""
#: actions/remotesubscribe.php:112
msgid "Remote subscribe"
-msgstr ""
+msgstr "à°¸à±à°¦à±‚à°° చందా"
#: actions/remotesubscribe.php:124
#, fuzzy
@@ -3327,7 +3351,7 @@ msgstr "వాడà±à°•à°°à°¿ పేరà±"
#: actions/remotesubscribe.php:130
msgid "Nickname of the user you want to follow"
-msgstr ""
+msgstr "మీరౠఅనà±à°¸à°°à°¿à°‚చాలనà±à°•à±à°‚à°Ÿà±à°¨à±à°¨ వాడà±à°•à°°à°¿ యొకà±à°• à°®à±à°¦à±à°¦à±à°ªà±‡à°°à±"
#: actions/remotesubscribe.php:133
msgid "Profile URL"
@@ -3375,7 +3399,7 @@ msgstr "మీ నోటీసà±à°¨à°¿ మీరే à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°¿
msgid "You already repeated that notice."
msgstr "మీరౠఇపà±à°ªà°Ÿà°¿à°•à±‡ à°† నోటీసà±à°¨à°¿ à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°¿à°‚చారà±."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
@@ -3594,9 +3618,9 @@ msgid "Feed for favorites of %s (RSS 1.0)"
msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడà±"
#: actions/showfavorites.php:178
-#, fuzzy, php-format
+#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
-msgstr "%s యొకà±à°• మితà±à°°à±à°² ఫీడà±"
+msgstr "%s యొకà±à°• ఇషà±à°Ÿà°¾à°‚శాల ఫీడౠ(RSS 2.0)"
#: actions/showfavorites.php:185
#, php-format
@@ -4698,19 +4722,17 @@ msgid "Database error inserting hashtag: %s"
msgstr "అవతారానà±à°¨à°¿ పెటà±à°Ÿà°¡à°‚లో పొరపాటà±"
#: classes/Notice.php:245
-#, fuzzy
msgid "Problem saving notice. Too long."
-msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
+msgstr "నోటీసà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±. చాలా పొడవà±à°—à°¾ ఉంది."
#: classes/Notice.php:249
-#, fuzzy
msgid "Problem saving notice. Unknown user."
-msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±."
+msgstr "నోటీసà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొరపాటà±. à°—à±à°°à±à°¤à±à°¤à±†à°²à°¿à°¯à°¨à°¿ వాడà±à°•à°°à°¿."
#: classes/Notice.php:254
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
-msgstr ""
+msgstr "చాలా à°Žà°•à±à°•à±à°µ నోటీసà±à°²à± à°…à°‚à°¤ వేగంగా; కాసà±à°¤ ఊపిరి తీసà±à°•à±à°¨à°¿ మళà±à°³à±€ కొనà±à°¨à°¿ నిమిషాల తరà±à°µà°¾à°¤ à°µà±à°°à°¾à°¯à°‚à°¡à°¿."
#: classes/Notice.php:260
msgid ""
@@ -4733,7 +4755,7 @@ msgstr "సందేశానà±à°¨à°¿ à°­à°¦à±à°°à°ªà°°à°šà°¡à°‚లో పొà
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -4842,7 +4864,7 @@ msgstr "శీరà±à°·à°¿à°•à°²à±‡à°¨à°¿ పేజీ"
#. TRANS: DT element for primary navigation menu. String is hidden in default CSS.
#: lib/action.php:426
msgid "Primary site navigation"
-msgstr ""
+msgstr "à°ªà±à°°à°¾à°§à°®à°¿à°• సైటౠమారà±à°—దరà±à°¶à°¿à°¨à°¿"
#. TRANS: Tooltip for main menu option "Personal"
#: lib/action.php:432
@@ -4858,7 +4880,6 @@ msgstr "à°µà±à°¯à°•à±à°¤à°¿à°—à°¤"
#. TRANS: Tooltip for main menu option "Account"
#: lib/action.php:437
-#, fuzzy
msgctxt "TOOLTIP"
msgid "Change your email, avatar, password, profile"
msgstr "మీ ఈమెయిలà±, అవతారం, సంకేతపదం మరియౠపà±à°°à±Œà°«à±ˆà°³à±à°³à°¨à± మారà±à°šà±à°•à±‹à°‚à°¡à°¿"
@@ -4975,9 +4996,8 @@ msgstr "పేజీ గమనిక"
#. TRANS: DT element for secondary navigation menu. String is hidden in default CSS.
#: lib/action.php:752
-#, fuzzy
msgid "Secondary site navigation"
-msgstr "చందాలà±"
+msgstr "à°¦à±à°µà°¿à°¤à±€à°¯ సైటౠమారà±à°—దరà±à°¶à°¿à°¨à°¿"
#. TRANS: Secondary navigation menu option leading to help on StatusNet.
#: lib/action.php:758
@@ -5025,13 +5045,13 @@ msgstr "à°¸à±à°Ÿà±‡à°Ÿà°¸à±â€Œà°¨à±†à°Ÿà± మృదూపకరణ లైసà
#. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is set.
#: lib/action.php:817
-#, fuzzy, php-format
+#, php-format
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%)."
msgstr ""
"**%%site.name%%** అనేది [%%site.broughtby%%](%%site.broughtbyurl%%) వారౠ"
-"అందిసà±à°¤à±à°¨à±à°¨ మైకà±à°°à±‹ à°¬à±à°²à°¾à°—ింగౠసదà±à°ªà°¾à°¯à°‚. "
+"అందిసà±à°¤à±à°¨à±à°¨ సూకà±à°·à±à°® à°¬à±à°²à°¾à°—ింగౠసేవ."
#. TRANS: First sentence of the StatusNet site license. Used if 'broughtby' is not set.
#: lib/action.php:820
@@ -5205,7 +5225,7 @@ msgid "Snapshots configuration"
msgstr "SMS నిరà±à°§à°¾à°°à°£"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -5362,9 +5382,8 @@ msgid "Command failed"
msgstr "ఆదేశం విఫలమైంది"
#: lib/command.php:83 lib/command.php:105
-#, fuzzy
msgid "Notice with that id does not exist"
-msgstr "à°† ఈమెయిలౠచిరà±à°¨à°¾à°®à°¾ లేదా వాడà±à°•à°°à°¿à°ªà±‡à°°à±à°¤à±‹ వాడà±à°•à°°à±à°²à±†à°µà°°à±‚ లేరà±."
+msgstr "à°† à°—à±à°°à±à°¤à°¿à°‚à°ªà±à°¤à±‹ ఠనోటీసౠలేదà±"
#: lib/command.php:99 lib/command.php:596
#, fuzzy
@@ -5413,7 +5432,7 @@ msgstr ""
#: lib/command.php:302
msgid "Notice marked as fave."
-msgstr ""
+msgstr "నోటీసà±à°¨à°¿ ఇషà±à°Ÿà°¾à°‚శంగా à°—à±à°°à±à°¤à°¿à°‚చాం."
#: lib/command.php:323
msgid "You are already a member of that group"
@@ -5429,9 +5448,9 @@ msgstr "వాడà±à°•à°°à°¿ %1$sని %2$s à°—à±à°‚à°ªà±à°²à±‹ చేరà±
#. TRANS: Message given having failed to remove a user from a group.
#. TRANS: %1$s is the nickname of the user, %2$s is the nickname of the group.
#: lib/command.php:385
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %1$s from group %2$s"
-msgstr "వాడà±à°•à°°à°¿ %1$sని %2$s à°—à±à°‚పౠనà±à°‚à°¡à°¿ తొలగించలేకపోయాం."
+msgstr "వాడà±à°•à°°à°¿ %1$sని %2$s à°—à±à°‚పౠనà±à°‚à°¡à°¿ తొలగించలేకపోయాం"
#. TRANS: Whois output. %s is the full name of the queried user.
#: lib/command.php:418
@@ -6205,7 +6224,7 @@ msgstr ""
"మీకౠఅంతరంగిక సందేశాలౠలేవà±. ఇతర వాడà±à°•à°°à±à°²à°¤à±‹ సంభాషణకై మీరౠవారికి అంతరంగిక సందేశాలౠ"
"పంపించవచà±à°šà±. మీ à°•à°‚à°Ÿà°¿à°•à°¿ మాతà±à°°à°®à±‡ కనబడేలా వారౠమీకౠసందేశాలౠపంపవచà±à°šà±."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "à°¨à±à°‚à°¡à°¿"
@@ -6363,27 +6382,26 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "సందరà±à°­à°‚లో"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "సృషà±à°Ÿà°¿à°¤à°‚"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "à°ˆ నోటీసà±à°ªà±ˆ à°¸à±à°ªà°‚దించండి"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "à°¸à±à°ªà°‚దించండి"
-#: lib/noticelist.php:674
-#, fuzzy
+#: lib/noticelist.php:666
msgid "Notice repeated"
-msgstr "నోటీసà±à°¨à°¿ తొలగించాం."
+msgstr "నోటీసà±à°¨à°¿ à°ªà±à°¨à°°à°¾à°µà±ƒà°¤à°¿à°‚చారà±"
#: lib/nudgeform.php:116
msgid "Nudge this user"
diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po
index 28869e63f..54d1a00d7 100644
--- a/locale/tr/LC_MESSAGES/statusnet.po
+++ b/locale/tr/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:10+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:12+0000\n"
"Language-Team: Turkish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: out-statusnet\n"
@@ -103,10 +103,10 @@ msgstr "Böyle bir durum mesajı yok."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -229,12 +229,12 @@ msgstr "Onay kodu bulunamadı."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -266,7 +266,7 @@ msgstr "Profil kaydedilemedi."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,21 +325,21 @@ msgstr ""
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr ""
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
"Ah, durumunuz biraz uzun kaçtı. Azami 180 karaktere sığdırmaya ne dersiniz?"
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr ""
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -666,19 +666,19 @@ msgstr "Avatar güncellendi."
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
"Ah, durumunuz biraz uzun kaçtı. Azami 180 karaktere sığdırmaya ne dersiniz?"
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
#, fuzzy
msgid "Not found."
msgstr "İstek bulunamadı!"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -793,7 +793,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr ""
@@ -1085,7 +1085,7 @@ msgid "Do not delete this notice"
msgstr "Böyle bir durum mesajı yok."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr ""
@@ -2587,8 +2587,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3305,7 +3305,7 @@ msgstr "Onay kodu hatası."
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Kayıt"
@@ -3358,7 +3358,29 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3367,7 +3389,7 @@ msgstr ""
"bu özel veriler haricinde: parola, eposta adresi, IM adresi, telefon "
"numarası."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3386,7 +3408,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3466,7 +3488,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "Yarat"
@@ -4852,7 +4874,7 @@ msgstr "Durum mesajını kaydederken hata oluştu."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5347,7 +5369,7 @@ msgid "Snapshots configuration"
msgstr "Eposta adresi onayı"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6284,7 +6306,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr ""
@@ -6444,26 +6466,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "İçerik yok!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "Yarat"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
#, fuzzy
msgid "Reply"
msgstr "cevapla"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Durum mesajları"
diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po
index 349e2da72..ce85953d6 100644
--- a/locale/uk/LC_MESSAGES/statusnet.po
+++ b/locale/uk/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:13+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:15+0000\n"
"Language-Team: Ukrainian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: out-statusnet\n"
@@ -100,10 +100,10 @@ msgstr "Ðемає такої Ñторінки."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -230,12 +230,12 @@ msgstr "API метод не знайдено."
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Цей метод потребує POST."
@@ -266,7 +266,7 @@ msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ профіль."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,20 +325,20 @@ msgstr "ПрÑме Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ %s"
msgid "All the direct messages sent to %s"
msgstr "Ð’ÑÑ– прÑмі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð°Ð´Ñ–Ñлані до %s"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð±ÐµÐ· текÑту!"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Ðадто довго. МакÑимальний розмір %d знаків."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "Отримувача не знайдено."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
"Ðе можна надіÑлати прÑме Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачеві, Ñкий не Ñ” Вашим другом."
@@ -657,17 +657,17 @@ msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð¾."
msgid "No status with that ID found."
msgstr "Ðе знайдено жодних ÑтатуÑів з таким ID."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Ðадто довго. МакÑимальний розмір допиÑу — %d знаків."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
msgid "Not found."
msgstr "Ðе знайдено."
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -780,7 +780,7 @@ msgid "Preview"
msgstr "ПереглÑд"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr "Видалити"
@@ -1059,7 +1059,7 @@ msgid "Do not delete this notice"
msgstr "Ðе видалÑти цей допиÑ"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr "Видалити допиÑ"
@@ -2555,8 +2555,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "URL-адреÑа %s лише в проÑтому HTTP, будь лаÑка."
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Такий формат даних не підтримуєтьÑÑ."
@@ -3264,7 +3264,7 @@ msgstr "Даруйте, помилка у коді запрошеннÑ."
msgid "Registration successful"
msgstr "РеєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ ÑƒÑпішна"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "РеєÑтраціÑ"
@@ -3320,7 +3320,29 @@ msgstr "ВикориÑтовуєтьÑÑ Ð»Ð¸ÑˆÐµ Ð´Ð»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½ÑŒ, огÐ
msgid "Longer name, preferably your \"real\" name"
msgstr "Повне ім’Ñ, звіÑно ж Ваше Ñправжнє Ñ–Ð¼â€™Ñ :)"
-#: actions/register.php:494
+#: actions/register.php:511
+#, fuzzy, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr "ЗміÑÑ‚ Ñ– дані %1$s Ñ” приватними Ñ– конфіденційними."
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
@@ -3329,7 +3351,7 @@ msgstr ""
"Мої текÑти Ñ– файли доÑтупні під %s, окрім цих приватних даних: пароль, "
"електронна адреÑа, адреÑа IM, телефонний номер."
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3362,7 +3384,7 @@ msgstr ""
"ДÑкуємо, що зареєÑтрувалиÑÑŒ у наÑ, Ñ–, ÑподіваємоÑÑŒ, Вам ÑподобаєтьÑÑ Ð½Ð°Ñˆ "
"ÑервіÑ."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3443,7 +3465,7 @@ msgstr "Ви не можете повторювати Ñвої влаÑні до
msgid "You already repeated that notice."
msgstr "Ви вже повторили цей допиÑ."
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
msgid "Repeated"
msgstr "Повторено"
@@ -4854,7 +4876,7 @@ msgstr "Проблема при збереженні вхідних допиÑÑ–
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@@ -5313,7 +5335,7 @@ msgid "Snapshots configuration"
msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð½Ñ–Ð¼ÐºÑ–Ð²"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
"API-реÑÑƒÑ€Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ” дозвіл типу «читаннÑ-запиÑ», але у Ð²Ð°Ñ Ñ” лише доÑтуп Ð´Ð»Ñ "
@@ -6363,7 +6385,7 @@ msgstr ""
"Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°Ð±Ð¸ долучити кориÑтувачів до розмови. Такі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð±Ð°Ñ‡Ð¸Ñ‚Ðµ "
"лише Ви."
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr "від"
@@ -6522,23 +6544,23 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
msgid "at"
msgstr "в"
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
msgid "in context"
msgstr "в контекÑÑ‚Ñ–"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
msgid "Repeated by"
msgstr "Повторено"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr "ВідповіÑти на цей допиÑ"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "ВідповіÑти"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
msgid "Notice repeated"
msgstr "Ð”Ð¾Ð¿Ð¸Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð¸Ð»Ð¸"
diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po
index 5c22fbad6..de5d64dc1 100644
--- a/locale/vi/LC_MESSAGES/statusnet.po
+++ b/locale/vi/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:17+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:18+0000\n"
"Language-Team: Vietnamese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.17alpha (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: vi\n"
"X-Message-Group: out-statusnet\n"
@@ -102,10 +102,10 @@ msgstr "Không có tin nhắn nào."
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -228,12 +228,12 @@ msgstr "Phương thức API không tìm thấy!"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "Phương thức này yêu cầu là POST."
@@ -265,7 +265,7 @@ msgstr "Không thể lưu hồ sơ cá nhân."
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -325,22 +325,22 @@ msgstr "Tin nhắn riêng"
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
#, fuzzy
msgid "No message text!"
msgstr "Không có tin nhắn nào."
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "Quá dài. Tối đa là 140 ký tự."
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
#, fuzzy
msgid "Recipient user not found."
msgstr "Không tìm thấy user."
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -668,18 +668,18 @@ msgstr "Hình đại diện đã được cập nhật."
msgid "No status with that ID found."
msgstr "Không tìm thấy trạng thái nào tương ứng với ID đó."
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "Quá dài. Tối đa là 140 ký tự."
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
#, fuzzy
msgid "Not found."
msgstr "Không tìm thấy"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -795,7 +795,7 @@ msgid "Preview"
msgstr "Xem trÆ°á»›c"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
#, fuzzy
msgid "Delete"
msgstr "Xóa tin nhắn"
@@ -1091,7 +1091,7 @@ msgid "Do not delete this notice"
msgstr "Không thể xóa tin nhắn này."
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
#, fuzzy
msgid "Delete this notice"
msgstr "Xóa tin nhắn"
@@ -2677,8 +2677,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "Không hỗ trợ định dạng dữ liệu này."
@@ -3406,7 +3406,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:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "Äăng ký"
@@ -3461,14 +3461,36 @@ msgstr "Chỉ dùng để cập nhật, thông báo, và hồi phục mật kháº
msgid "Longer name, preferably your \"real\" name"
msgstr "HỠtên đầy đủ của bạn, tốt nhất là tên thật của bạn."
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr " ngoại trừ thông tin riêng: mật khẩu, email, địa chỉ IM, số điện thoại"
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3499,7 +3521,7 @@ msgstr ""
"\n"
"Cảm ơn bạn đã đăng ký để là thành viên và rất mong bạn sẽ thích dịch vụ này."
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3586,7 +3608,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:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "Tạo"
@@ -5006,7 +5028,7 @@ msgstr "Có lỗi xảy ra khi lưu tin nhắn."
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%s (%s)"
@@ -5508,7 +5530,7 @@ msgid "Snapshots configuration"
msgstr "Xác nhận SMS"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6507,7 +6529,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr " từ "
@@ -6671,26 +6693,26 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "Không có nội dung!"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "Tạo"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
#, fuzzy
msgid "Reply to this notice"
msgstr "Trả lá»i tin nhắn này"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr "Trả lá»i"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "Tin đã gửi"
diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po
index 71d3293f4..771e303de 100644
--- a/locale/zh_CN/LC_MESSAGES/statusnet.po
+++ b/locale/zh_CN/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:20+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:21+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 (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n"
"X-Message-Group: out-statusnet\n"
@@ -105,10 +105,10 @@ msgstr "没有该页é¢"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -230,12 +230,12 @@ msgstr "API 方法未实现ï¼"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr "此方法接å—POST请求。"
@@ -267,7 +267,7 @@ msgstr "无法ä¿å­˜ä¸ªäººä¿¡æ¯ã€‚"
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -327,20 +327,20 @@ msgstr "å‘ç»™ %s 的直接消æ¯"
msgid "All the direct messages sent to %s"
msgstr "å‘ç»™ %s 的直接消æ¯"
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr "消æ¯æ²¡æœ‰æ­£æ–‡ï¼"
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, fuzzy, php-format
msgid "That's too long. Max message size is %d chars."
msgstr "超出长度é™åˆ¶ã€‚ä¸èƒ½è¶…过 140 个字符。"
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr "未找到收件人。"
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr "无法å‘并éžå¥½å‹çš„用户å‘é€ç›´æŽ¥æ¶ˆæ¯ã€‚"
@@ -666,18 +666,18 @@ msgstr "头åƒå·²æ›´æ–°ã€‚"
msgid "No status with that ID found."
msgstr "没有找到此IDçš„ä¿¡æ¯ã€‚"
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, fuzzy, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr "超出长度é™åˆ¶ã€‚ä¸èƒ½è¶…过 140 个字符。"
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
#, fuzzy
msgid "Not found."
msgstr "未找到"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -791,7 +791,7 @@ msgid "Preview"
msgstr "预览"
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
#, fuzzy
msgid "Delete"
msgstr "删除"
@@ -1089,7 +1089,7 @@ msgid "Do not delete this notice"
msgstr "无法删除通告。"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
#, fuzzy
msgid "Delete this notice"
msgstr "删除通告"
@@ -2629,8 +2629,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr "ä¸æ”¯æŒçš„æ•°æ®æ ¼å¼ã€‚"
@@ -3346,7 +3346,7 @@ msgstr "验è¯ç å‡ºé”™ã€‚"
msgid "Registration successful"
msgstr "注册æˆåŠŸã€‚"
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr "注册"
@@ -3398,14 +3398,36 @@ msgstr "åªç”¨äºŽæ›´æ–°ã€é€šå‘Šæˆ–密ç æ¢å¤"
msgid "Longer name, preferably your \"real\" name"
msgstr "é•¿å字,最好是“实åâ€"
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr "除了éšç§å†…容:密ç ï¼Œç”µå­é‚®ä»¶ï¼Œå³æ—¶é€šè®¯å¸å·ï¼Œç”µè¯å·ç ã€‚"
-#: actions/register.php:542
+#: actions/register.php:576
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3436,7 +3458,7 @@ msgstr ""
"\n"
"感谢您的注册,希望您喜欢这个æœåŠ¡ã€‚"
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3522,7 +3544,7 @@ msgstr "您必须åŒæ„此授æƒæ–¹å¯æ³¨å†Œã€‚"
msgid "You already repeated that notice."
msgstr "您已æˆåŠŸé˜»æ­¢è¯¥ç”¨æˆ·ï¼š"
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "创建"
@@ -4935,7 +4957,7 @@ msgstr "ä¿å­˜é€šå‘Šæ—¶å‡ºé”™ã€‚"
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, fuzzy, php-format
msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)"
@@ -5440,7 +5462,7 @@ msgid "Snapshots configuration"
msgstr "SMS短信确认"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6384,7 +6406,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
#, fuzzy
msgid "from"
msgstr " 从 "
@@ -6547,27 +6569,27 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "没有内容ï¼"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "创建"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
#, fuzzy
msgid "Reply to this notice"
msgstr "无法删除通告。"
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
#, fuzzy
msgid "Reply"
msgstr "回å¤"
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "消æ¯å·²å‘布。"
diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po
index b7aca62bc..43e6effc8 100644
--- a/locale/zh_TW/LC_MESSAGES/statusnet.po
+++ b/locale/zh_TW/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-24 14:16+0000\n"
-"PO-Revision-Date: 2010-05-03 19:19:23+0000\n"
+"POT-Creation-Date: 2010-05-16 15:39+0000\n"
+"PO-Revision-Date: 2010-05-16 15:41:24+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 (r65870); Translate extension (2010-05-01)\n"
+"X-Generator: MediaWiki 1.17alpha (r66533); Translate extension (2010-05-15)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hant\n"
"X-Message-Group: out-statusnet\n"
@@ -99,10 +99,10 @@ msgstr "無此通知"
#: 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/apidirectmessagenew.php:74 actions/apigroupcreate.php:112
#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99
#: actions/apigroupleave.php:99 actions/apigrouplist.php:72
-#: actions/apistatusesupdate.php:239 actions/apisubscriptions.php:87
+#: actions/apistatusesupdate.php:227 actions/apisubscriptions.php:87
#: actions/apitimelinefavorites.php:71 actions/apitimelinefriends.php:173
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
@@ -225,12 +225,12 @@ msgstr "確èªç¢¼éºå¤±"
#: 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/apiblockdestroy.php:88 actions/apidirectmessagenew.php:109
#: 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/apimediaupload.php:67
-#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:209
+#: actions/apistatusesretweet.php:65 actions/apistatusesupdate.php:197
msgid "This method requires a POST."
msgstr ""
@@ -262,7 +262,7 @@ msgstr "無法儲存個人資料"
#: actions/apiaccountupdateprofilebackgroundimage.php:108
#: actions/apiaccountupdateprofileimage.php:97 actions/apimediaupload.php:80
-#: actions/apistatusesupdate.php:222 actions/avatarsettings.php:257
+#: actions/apistatusesupdate.php:210 actions/avatarsettings.php:257
#: actions/designadminpanel.php:123 actions/editapplication.php:118
#: actions/newapplication.php:101 actions/newnotice.php:94
#: lib/designsettings.php:283
@@ -321,20 +321,20 @@ msgstr ""
msgid "All the direct messages sent to %s"
msgstr ""
-#: actions/apidirectmessagenew.php:126
+#: actions/apidirectmessagenew.php:118
msgid "No message text!"
msgstr ""
-#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150
+#: actions/apidirectmessagenew.php:127 actions/newmessage.php:150
#, php-format
msgid "That's too long. Max message size is %d chars."
msgstr ""
-#: actions/apidirectmessagenew.php:146
+#: actions/apidirectmessagenew.php:138
msgid "Recipient user not found."
msgstr ""
-#: actions/apidirectmessagenew.php:150
+#: actions/apidirectmessagenew.php:142
msgid "Can't send direct messages to users who aren't your friend."
msgstr ""
@@ -657,18 +657,18 @@ msgstr "更新個人圖åƒ"
msgid "No status with that ID found."
msgstr ""
-#: actions/apistatusesupdate.php:252 actions/newnotice.php:155
+#: actions/apistatusesupdate.php:240 actions/newnotice.php:155
#: lib/mailhandler.php:60
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: actions/apistatusesupdate.php:293 actions/apiusershow.php:96
+#: actions/apistatusesupdate.php:281 actions/apiusershow.php:96
#, fuzzy
msgid "Not found."
msgstr "ç›®å‰ç„¡è«‹æ±‚"
-#: actions/apistatusesupdate.php:316 actions/newnotice.php:178
+#: actions/apistatusesupdate.php:304 actions/newnotice.php:178
#, php-format
msgid "Max notice size is %d chars, including attachment URL."
msgstr ""
@@ -781,7 +781,7 @@ msgid "Preview"
msgstr ""
#: actions/avatarsettings.php:149 actions/showapplication.php:252
-#: lib/deleteuserform.php:66 lib/noticelist.php:656
+#: lib/deleteuserform.php:66 lib/noticelist.php:648
msgid "Delete"
msgstr ""
@@ -1071,7 +1071,7 @@ msgid "Do not delete this notice"
msgstr "無此通知"
#. TRANS: Submit button title for 'Yes' when deleting a notice.
-#: actions/deletenotice.php:158 lib/noticelist.php:656
+#: actions/deletenotice.php:158 lib/noticelist.php:648
msgid "Delete this notice"
msgstr ""
@@ -2537,8 +2537,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr ""
#. TRANS: Client error on an API request with an unsupported data format.
-#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1131
-#: lib/apiaction.php:1160 lib/apiaction.php:1277
+#: actions/oembed.php:183 actions/oembed.php:202 lib/apiaction.php:1156
+#: lib/apiaction.php:1185 lib/apiaction.php:1302
msgid "Not a supported data format."
msgstr ""
@@ -3237,7 +3237,7 @@ msgstr "確èªç¢¼ç™¼ç”ŸéŒ¯èª¤"
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:507 lib/logingroupnav.php:85
+#: actions/register.php:114 actions/register.php:499 lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -3289,14 +3289,36 @@ msgstr ""
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:494
+#: actions/register.php:511
+#, php-format
+msgid ""
+"I understand that content and data of %1$s are private and confidential."
+msgstr ""
+
+#: actions/register.php:521
+#, php-format
+msgid "My text and files are copyright by %1$s."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved with ownership left to contributors.
+#: actions/register.php:525
+msgid "My text and files remain under my own copyright."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
+#: actions/register.php:528
+msgid "All rights reserved."
+msgstr ""
+
+#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
+#: actions/register.php:533
#, fuzzy, php-format
msgid ""
"My text and files are available under %s except this private data: password, "
"email address, IM address, and phone number."
msgstr "ä¸åŒ…å«é€™äº›å€‹äººè³‡æ–™ï¼šå¯†ç¢¼ã€é›»å­ä¿¡ç®±ã€ç·šä¸Šå³æ™‚通信箱ã€é›»è©±è™Ÿç¢¼"
-#: actions/register.php:542
+#: actions/register.php:576
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -3315,7 +3337,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:566
+#: actions/register.php:600
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3393,7 +3415,7 @@ msgstr ""
msgid "You already repeated that notice."
msgstr "無此使用者"
-#: actions/repeat.php:114 lib/noticelist.php:675
+#: actions/repeat.php:114 lib/noticelist.php:667
#, fuzzy
msgid "Repeated"
msgstr "新增"
@@ -4760,7 +4782,7 @@ msgstr "儲存使用者發生錯誤"
#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
-#: classes/Notice.php:1533
+#: classes/Notice.php:1552
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""
@@ -5248,7 +5270,7 @@ msgid "Snapshots configuration"
msgstr "確èªä¿¡ç®±"
#. TRANS: Client error 401.
-#: lib/apiauth.php:113
+#: lib/apiauth.php:112
msgid "API resource requires read-write access, but you only have read access."
msgstr ""
@@ -6168,7 +6190,7 @@ msgid ""
"users in conversation. People can send you messages for your eyes only."
msgstr ""
-#: lib/mailbox.php:227 lib/noticelist.php:494
+#: lib/mailbox.php:227 lib/noticelist.php:497
msgid "from"
msgstr ""
@@ -6327,25 +6349,25 @@ msgstr ""
msgid "at"
msgstr ""
-#: lib/noticelist.php:567
+#: lib/noticelist.php:559
#, fuzzy
msgid "in context"
msgstr "無內容"
-#: lib/noticelist.php:602
+#: lib/noticelist.php:594
#, fuzzy
msgid "Repeated by"
msgstr "新增"
-#: lib/noticelist.php:629
+#: lib/noticelist.php:621
msgid "Reply to this notice"
msgstr ""
-#: lib/noticelist.php:630
+#: lib/noticelist.php:622
msgid "Reply"
msgstr ""
-#: lib/noticelist.php:674
+#: lib/noticelist.php:666
#, fuzzy
msgid "Notice repeated"
msgstr "更新個人圖åƒ"
diff --git a/plugins/AutoSandbox/AutoSandboxPlugin.php b/plugins/AutoSandbox/AutoSandboxPlugin.php
new file mode 100644
index 000000000..ffd8bf455
--- /dev/null
+++ b/plugins/AutoSandbox/AutoSandboxPlugin.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to automatically sandbox newly registered users in an effort to beat
+ * spammers. If the user proves to be legitimate, moderators can un-sandbox them.
+ *
+ * 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 Sean Carmody<seancarmody@gmail.com>
+ * @copyright 2010
+ * @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);
+}
+
+define('AUTOSANDBOX', '0.1');
+
+//require_once(INSTALLDIR.'/plugins/AutoSandbox/autosandbox.php');
+
+class AutoSandboxPlugin extends Plugin
+{
+ var $contact;
+ var $debug;
+
+ function onInitializePlugin()
+ {
+ if(!isset($this->debug))
+ {
+ $this->debug = 0;
+ }
+
+ if(!isset($this->contact)) {
+ $default = common_config('newuser', 'default');
+ if (!empty($default)) {
+ $this->contact = $default;
+ }
+ }
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'AutoSandbox',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Sean Carmody',
+ 'homepage' => 'http://status.net/wiki/Plugin:AutoSandbox',
+ 'rawdescription' =>
+ _m('Automatically sandboxes newly registered members.'));
+ return true;
+ }
+
+ function onStartRegistrationFormData($action)
+ {
+
+ $instr = 'Note you will initially be "sandboxed" so your posts will not appear in the public timeline.';
+
+ if (isset($this->contact)) {
+ $contactuser = User::staticGet('nickname', $this->contact);
+ if (!empty($contactuser)) {
+ $contactlink = "@<a href=\"$contactuser->uri\">$contactuser->nickname</a>";
+ $instr = $instr . " Send a message to $contactlink to speed up the unsandboxing process.";
+ }
+ }
+
+ $output = common_markup_to_html($instr);
+ $action->elementStart('div', 'instructions');
+ $action->raw($output);
+ $action->elementEnd('div');
+ }
+
+ function onEndUserRegister(&$profile,&$user)
+ {
+ $profile->sandbox();
+ if ($this->debug) {
+ common_log(LOG_WARNING, "AutoSandbox: sandboxed of $user->nickname");
+ }
+ }
+}
diff --git a/plugins/AutoSandbox/LICENSE b/plugins/AutoSandbox/LICENSE
new file mode 100644
index 000000000..011faa4e7
--- /dev/null
+++ b/plugins/AutoSandbox/LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) 2010 Stubborn Mule - http://www.stubbornmule.net
+AUTHORS:
+ Sean Carmody
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/plugins/AutoSandbox/README b/plugins/AutoSandbox/README
new file mode 100644
index 000000000..2f5d625f7
--- /dev/null
+++ b/plugins/AutoSandbox/README
@@ -0,0 +1,39 @@
+StatusNet AutoSandbox plugin 0.1 03/16/10
+=========================================
+Automatically sandboxes newly registered users as a spam-management technique.
+Only really suits small sites where all users can be hand-moderated. A moderator
+will then have to unbox legimate users, using the following built-in script:
+
+./scripts/userrole.php -n username -r moderator
+
+(replace 'username' with the nickname of the user you wish to make a moderator).
+
+The following note will be added to the top of the Registration form:
+
+"Note you will initially be "sandboxed" so your posts will not appear in the
+public timeline."
+
+This can be followed by the following extra information if a contact user (denoted
+here by XXX) is specified:
+
+"Send a message to @XXX to speed up the unsandboxing process."
+
+If no contact user is specified, it will default to the "Default subscription" user
+who automatically subscribes to new users (set in Admin -> User).
+
+Use:
+1. Add plugin:
+
+Default usage:
+addPlugin('AutoSandbox');
+
+Specify a contact user (replace 'someuser' with appropriate username):
+addPlugin('AutoSandbox', array('contact' => 'someuser'));
+
+Stop contact user from defaulting to the Defaul subscription:
+addPlugin('AutoSandbox', array('contact' => ''));
+
+Changelog
+=========
+0.1 initial release
+
diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php
index d586631a4..b2b18bf27 100644
--- a/plugins/Autocomplete/AutocompletePlugin.php
+++ b/plugins/Autocomplete/AutocompletePlugin.php
@@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once(INSTALLDIR.'/plugins/Autocomplete/autocomplete.php');
-
class AutocompletePlugin extends Plugin
{
function __construct()
@@ -40,6 +38,16 @@ class AutocompletePlugin extends Plugin
parent::__construct();
}
+ function onAutoload($cls)
+ {
+ switch ($cls)
+ {
+ case 'AutocompleteAction':
+ require_once(INSTALLDIR.'/plugins/Autocomplete/autocomplete.php');
+ return false;
+ }
+ }
+
function onEndShowScripts($action){
if (common_logged_in()) {
$action->script('plugins/Autocomplete/jquery-autocomplete/jquery.autocomplete.pack.js');
diff --git a/plugins/ClientSideShorten/ClientSideShortenPlugin.php b/plugins/ClientSideShorten/ClientSideShortenPlugin.php
new file mode 100644
index 000000000..ba1f7d3a7
--- /dev/null
+++ b/plugins/ClientSideShorten/ClientSideShortenPlugin.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to enable client side url shortening in the status box
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+require_once(INSTALLDIR.'/plugins/ClientSideShorten/shorten.php');
+
+class ClientSideShortenPlugin extends Plugin
+{
+ function __construct()
+ {
+ parent::__construct();
+ }
+
+ function onAutoload($cls)
+ {
+ switch ($cls)
+ {
+ case 'ShortenAction':
+ require_once(INSTALLDIR.'/plugins/ClientSideShorten/shorten.php');
+ return false;
+ }
+ }
+
+ function onEndShowScripts($action){
+ $action->inlineScript('var Notice_maxContent = ' . Notice::maxContent());
+ if (common_logged_in()) {
+ $action->script('plugins/ClientSideShorten/shorten.js');
+ }
+ }
+
+ function onRouterInitialized($m)
+ {
+ if (common_logged_in()) {
+ $m->connect('plugins/ClientSideShorten/shorten', array('action'=>'shorten'));
+ }
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Shorten',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Craig Andrews',
+ 'homepage' => 'http://status.net/wiki/Plugin:ClientSideShorten',
+ 'rawdescription' =>
+ _m('ClientSideShorten causes the web interface\'s notice form to automatically shorten urls as they entered, and before the notice is submitted.'));
+ return true;
+ }
+
+}
+
diff --git a/plugins/ClientSideShorten/README b/plugins/ClientSideShorten/README
new file mode 100644
index 000000000..e6524c9c7
--- /dev/null
+++ b/plugins/ClientSideShorten/README
@@ -0,0 +1,6 @@
+ClientSideShorten causes the web interface's notice form to automatically shorten urls as they entered, and before the notice is submitted.
+
+Installation
+============
+Add "addPlugin('ClientSideShorten');" to the bottom of your config.php
+That's it!
diff --git a/plugins/ClientSideShorten/shorten.js b/plugins/ClientSideShorten/shorten.js
new file mode 100644
index 000000000..856c7f05f
--- /dev/null
+++ b/plugins/ClientSideShorten/shorten.js
@@ -0,0 +1,66 @@
+//wrap everything in a self-executing anonymous function to avoid conflicts
+(function(){
+
+ // smart(x) from Paul Irish
+ // http://paulirish.com/2009/throttled-smartresize-jquery-event-handler/
+
+ (function($,sr){
+
+ // debouncing function from John Hann
+ // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
+ var debounce = function (func, threshold, execAsap) {
+ var timeout;
+
+ return function debounced () {
+ var obj = this, args = arguments;
+ function delayed () {
+ if (!execAsap)
+ func.apply(obj, args);
+ timeout = null;
+ };
+
+ if (timeout)
+ clearTimeout(timeout);
+ else if (execAsap)
+ func.apply(obj, args);
+
+ timeout = setTimeout(delayed, threshold || 100);
+ };
+ }
+ jQuery.fn[sr] = function(fn){ return fn ? this.bind('keypress', debounce(fn, 1000)) : this.trigger(sr); };
+
+ })(jQuery,'smartkeypress');
+
+ function shorten()
+ {
+ $noticeDataText = $('#'+SN.C.S.NoticeDataText);
+ if(Notice_maxContent > 0 && $noticeDataText.val().length > Notice_maxContent){
+ var original = $noticeDataText.val();
+ shortenAjax = $.ajax({
+ url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten',
+ data: { text: $noticeDataText.val() },
+ dataType: 'text',
+ success: function(data) {
+ if(original == $noticeDataText.val()) {
+ $noticeDataText.val(data).keyup();
+ }
+ }
+ });
+ }
+ }
+
+ $(document).ready(function(){
+ $noticeDataText = $('#'+SN.C.S.NoticeDataText);
+ $noticeDataText.smartkeypress(function(e){
+ //if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort();
+ if(e.charCode == '32') {
+ shorten();
+ }
+ });
+ $noticeDataText.bind('paste', function() {
+ //if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort();
+ setTimeout(shorten,1);
+ });
+ });
+
+})();
diff --git a/plugins/ClientSideShorten/shorten.php b/plugins/ClientSideShorten/shorten.php
new file mode 100644
index 000000000..07c19e2e7
--- /dev/null
+++ b/plugins/ClientSideShorten/shorten.php
@@ -0,0 +1,68 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * List users for autocompletion
+ *
+ * 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 2008-2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+/**
+ * Shorten all URLs in a string
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+class ShortenAction extends Action
+{
+ private $text;
+
+ function prepare($args)
+ {
+ parent::prepare($args);
+ $this->groups=array();
+ $this->users=array();
+ $this->text = $this->arg('text');
+ if(is_null($this->text)){
+ throw new ClientException(_m('\'text\' argument must be specified.'));
+ }
+ return true;
+ }
+
+ function handle($args)
+ {
+ parent::handle($args);
+ header('Content-Type: text/plain');
+ $shortened_text = common_shorten_links($this->text);
+ print $shortened_text;
+ }
+}
+
diff --git a/plugins/DirectionDetector/DirectionDetectorPlugin.php b/plugins/DirectionDetector/DirectionDetectorPlugin.php
index 34c511e21..b1362b166 100644
--- a/plugins/DirectionDetector/DirectionDetectorPlugin.php
+++ b/plugins/DirectionDetector/DirectionDetectorPlugin.php
@@ -1,5 +1,4 @@
<?php
-
/**
* DirectionDetector plugin, detects notices with RTL content & sets RTL
* style for them.
@@ -29,7 +28,7 @@ if (!defined('STATUSNET')) {
exit(1);
}
-define('DIRECTIONDETECTORPLUGIN_VERSION', '0.1.1');
+define('DIRECTIONDETECTORPLUGIN_VERSION', '0.1.2');
class DirectionDetectorPlugin extends Plugin {
/**
@@ -46,7 +45,7 @@ class DirectionDetectorPlugin extends Plugin {
/**
* SN plugin API, here we will add css needed for modifiyed rendered
*
- * @param
+ * @param
*/
public function onEndShowStatusNetStyles($xml){
$xml->element('style', array('type' => 'text/css'), 'span.rtl {display:block;direction:rtl;text-align:right;float:right;width:490px;} .notice .author {float:left}');
@@ -54,7 +53,7 @@ class DirectionDetectorPlugin extends Plugin {
/**
* checks that passed string is a RTL language or not
*
- * @param string $str string to be checked
+ * @param string $str String to be checked
*/
public static function isRTL($str){
self::getClearText($str);
@@ -62,15 +61,15 @@ class DirectionDetectorPlugin extends Plugin {
$cc = $cc[0];
else
return false;
- if($cc>=1536 && $cc<=1791) // arabic, persian, urdu, kurdish, ...
+ if($cc>=1536 && $cc<=1791) // Arabic, Persian, Urdu, Kurdish, ...
return true;
- if($cc>=65136 && $cc<=65279) // arabic peresent 2
+ if($cc>=65136 && $cc<=65279) // Arabic peresent 2
return true;
- if($cc>=64336 && $cc<=65023) // arabic peresent 1
+ if($cc>=64336 && $cc<=65023) // Arabic peresent 1
return true;
- if($cc>=1424 && $cc<=1535) // hebrew
+ if($cc>=1424 && $cc<=1535) // Hebrew
return true;
- if($cc>=64256 && $cc<=64335) // hebrew peresent
+ if($cc>=64256 && $cc<=64335) // Hebrew peresent
return true;
if($cc>=1792 && $cc<=1871) // Syriac
return true;
@@ -84,7 +83,7 @@ class DirectionDetectorPlugin extends Plugin {
}
/**
- * clears text from replys, tags, groups, reteets & whitespaces
+ * clears text from replies, tags, groups, repeats & whitespaces
*
* @param string &$str string to be cleared
*/
@@ -95,9 +94,9 @@ class DirectionDetectorPlugin extends Plugin {
}
/**
- * Takes an UTF-8 string and returns an array of ints representing the
- * Unicode characters. Astral planes are supported ie. the ints in the
- * output can be > 0xFFFF. O$ccurrances of the BOM are ignored. Surrogates
+ * Takes a UTF-8 string and returns an array of ints representing the
+ * Unicode characters. Astral planes are supported i.e. the ints in the
+ * output can be > 0xFFFF. Occurrances of the BOM are ignored. Surrogates
* are not allowed. ### modified ### returns first character code
*
* Returns false if the input string isn't a valid UTF-8 octet sequence.
@@ -200,7 +199,7 @@ class DirectionDetectorPlugin extends Plugin {
}
} else {
/* ((0xC0 & (*in) != 0x80) && (mState != 0))
- *
+ *
* Incomplete multi-octet sequence.
*/
return false;
@@ -217,8 +216,9 @@ class DirectionDetectorPlugin extends Plugin {
$versions[] = array(
'name' => 'Direction detector',
'version' => DIRECTIONDETECTORPLUGIN_VERSION,
- 'author' => 'behrooz shabani',
- 'rawdescription' => _m('shows notices with right-to-left content in correct direction.')
+ 'author' => 'Behrooz Shabani',
+ // TRANS: Direction detector plugin description.
+ 'rawdescription' => _m('Shows notices with right-to-left content in correct direction.')
);
return true;
}
diff --git a/plugins/DirectionDetector/locale/DirectionDetector.pot b/plugins/DirectionDetector/locale/DirectionDetector.pot
index ebeda2dc4..44bbcca4d 100644
--- a/plugins/DirectionDetector/locale/DirectionDetector.pot
+++ b/plugins/DirectionDetector/locale/DirectionDetector.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-05-08 22:32+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"
@@ -16,6 +16,6 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: DirectionDetectorPlugin.php:221
-msgid "shows notices with right-to-left content in correct direction."
+#: DirectionDetectorPlugin.php:222
+msgid "Shows notices with right-to-left content in correct direction."
msgstr ""
diff --git a/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..e8dae6ea8
--- /dev/null
+++ b/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,22 @@
+# Translation of StatusNet plugin DirectionDetector to Dutch
+#
+# Author@translatewiki.net: Siebrand
+# --
+# 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-05-08 22:32+0000\n"
+"PO-Revision-Date: 2010-05-08 23:32+0100\n"
+"Last-Translator: Siebrand Mazeland <s.mazeland@xs4all.nl>\n"
+"Language-Team: Dutch\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DirectionDetectorPlugin.php:222
+msgid "Geeft mededelingen met rechts-naar-linksinhoud weer in de juiste richting."
+msgstr ""
diff --git a/plugins/FirePHP/FirePHPPlugin.php b/plugins/FirePHP/FirePHPPlugin.php
index 452f79024..9143ff69c 100644
--- a/plugins/FirePHP/FirePHPPlugin.php
+++ b/plugins/FirePHP/FirePHPPlugin.php
@@ -52,8 +52,8 @@ class FirePHPPlugin extends Plugin
{
static $firephp_priorities = array(FirePHP::ERROR, FirePHP::ERROR, FirePHP::ERROR, FirePHP::ERROR,
FirePHP::WARN, FirePHP::LOG, FirePHP::LOG, FirePHP::INFO);
- $priority = $firephp_priorities[$priority];
- $this->firephp->fb($msg, $priority);
+ $fp_priority = $firephp_priorities[$priority];
+ $this->firephp->fb($msg, $fp_priority);
}
function onPluginVersion(&$versions)
diff --git a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
index 483209676..0dfc4c63b 100644
--- a/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
+++ b/plugins/LdapAuthentication/LdapAuthenticationPlugin.php
@@ -31,48 +31,25 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once 'Net/LDAP2.php';
-
class LdapAuthenticationPlugin extends AuthenticationPlugin
{
- public $host=null;
- public $port=null;
- public $version=null;
- public $starttls=null;
- public $binddn=null;
- public $bindpw=null;
- public $basedn=null;
- public $options=null;
- public $filter=null;
- public $scope=null;
- public $password_encoding=null;
- public $attributes=array();
-
function onInitializePlugin(){
parent::onInitializePlugin();
- if(!isset($this->host)){
- throw new Exception("must specify a host");
- }
- if(!isset($this->basedn)){
- throw new Exception("must specify a basedn");
- }
if(!isset($this->attributes['nickname'])){
throw new Exception("must specify a nickname attribute");
}
- if(!isset($this->attributes['username'])){
- throw new Exception("must specify a username attribute");
- }
if($this->password_changeable && (! isset($this->attributes['password']) || !isset($this->password_encoding))){
throw new Exception("if password_changeable is set, the password attribute and password_encoding must also be specified");
}
+ $this->ldapCommon = new LdapCommon(get_object_vars($this));
}
function onAutoload($cls)
{
switch ($cls)
{
- case 'MemcacheSchemaCache':
- require_once(INSTALLDIR.'/plugins/LdapAuthentication/MemcacheSchemaCache.php');
+ case 'LdapCommon':
+ require_once(INSTALLDIR.'/plugins/LdapCommon/LdapCommon.php');
return false;
}
}
@@ -107,19 +84,7 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
function checkPassword($username, $password)
{
- $entry = $this->ldap_get_user($username);
- if(!$entry){
- return false;
- }else{
- $config = $this->ldap_get_config();
- $config['binddn']=$entry->dn();
- $config['bindpw']=$password;
- if($this->ldap_get_connection($config)){
- return true;
- }else{
- return false;
- }
- }
+ return $this->ldapCommon->checkPassword($username,$password);
}
function autoRegister($username, $nickname)
@@ -127,11 +92,16 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
if(is_null($nickname)){
$nickname = $username;
}
- $entry = $this->ldap_get_user($username,$this->attributes);
+ $entry = $this->ldapCommon->get_user($username,$this->attributes);
if($entry){
$registration_data = array();
foreach($this->attributes as $sn_attribute=>$ldap_attribute){
- $registration_data[$sn_attribute]=$entry->getValue($ldap_attribute,'single');
+ //ldap won't let us read a user's password,
+ //and we're going to set the password to a random string later anyways,
+ //so don't bother trying to read it.
+ if($sn_attribute != 'password'){
+ $registration_data[$sn_attribute]=$entry->getValue($ldap_attribute,'single');
+ }
}
if(isset($registration_data['email']) && !empty($registration_data['email'])){
$registration_data['email_confirmed']=true;
@@ -148,45 +118,12 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
function changePassword($username,$oldpassword,$newpassword)
{
- if(! isset($this->attributes['password']) || !isset($this->password_encoding)){
- //throw new Exception(_('Sorry, changing LDAP passwords is not supported at this time'));
- return false;
- }
- $entry = $this->ldap_get_user($username);
- if(!$entry){
- return false;
- }else{
- $config = $this->ldap_get_config();
- $config['binddn']=$entry->dn();
- $config['bindpw']=$oldpassword;
- if($ldap = $this->ldap_get_connection($config)){
- $entry = $this->ldap_get_user($username,array(),$ldap);
-
- $newCryptedPassword = $this->hashPassword($newpassword, $this->password_encoding);
- if ($newCryptedPassword===false) {
- return false;
- }
- if($this->password_encoding=='ad') {
- //TODO I believe this code will work once this bug is fixed: http://pear.php.net/bugs/bug.php?id=16796
- $oldCryptedPassword = $this->hashPassword($oldpassword, $this->password_encoding);
- $entry->delete( array($this->attributes['password'] => $oldCryptedPassword ));
- }
- $entry->replace( array($this->attributes['password'] => $newCryptedPassword ), true);
- if( Net_LDAP2::isError($entry->upate()) ) {
- return false;
- }
- return true;
- }else{
- return false;
- }
- }
-
- return false;
+ return $this->ldapCommon->changePassword($username,$oldpassword,$newpassword);
}
function suggestNicknameForUsername($username)
{
- $entry = $this->ldap_get_user($username, $this->attributes);
+ $entry = $this->ldapCommon->get_user($username, $this->attributes);
if(!$entry){
//this really shouldn't happen
$nickname = $username;
@@ -198,203 +135,6 @@ class LdapAuthenticationPlugin extends AuthenticationPlugin
}
return common_nicknamize($nickname);
}
-
- //---utility functions---//
- function ldap_get_config(){
- $config = array();
- $keys = array('host','port','version','starttls','binddn','bindpw','basedn','options','filter','scope');
- foreach($keys as $key){
- $value = $this->$key;
- if($value!==null){
- $config[$key]=$value;
- }
- }
- return $config;
- }
-
- function ldap_get_connection($config = null){
- if($config == null && isset($this->default_ldap)){
- return $this->default_ldap;
- }
-
- //cannot use Net_LDAP2::connect() as StatusNet uses
- //PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
- //PEAR handling can be overridden on instance objects, so we do that.
- $ldap = new Net_LDAP2(isset($config)?$config:$this->ldap_get_config());
- $ldap->setErrorHandling(PEAR_ERROR_RETURN);
- $err=$ldap->bind();
- if (Net_LDAP2::isError($err)) {
- // 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;
-
- $c = common_memcache();
- if (!empty($c)) {
- $cacheObj = new MemcacheSchemaCache(
- array('c'=>$c,
- 'cacheKey' => common_cache_key('ldap_schema:' . crc32(serialize($config)))));
- $ldap->registerSchemaCache($cacheObj);
- }
- return $ldap;
- }
-
- /**
- * get an LDAP entry for a user with a given username
- *
- * @param string $username
- * $param array $attributes LDAP attributes to retrieve
- * @return string DN
- */
- function ldap_get_user($username,$attributes=array(),$ldap=null){
- if($ldap==null) {
- $ldap = $this->ldap_get_connection();
- }
- $filter = Net_LDAP2_Filter::create($this->attributes['username'], 'equals', $username);
- $options = array(
- 'attributes' => $attributes
- );
- $search = $ldap->search($this->basedn, $filter, $options);
-
- if (PEAR::isError($search)) {
- common_log(LOG_WARNING, 'Error while getting DN for user: '.$search->getMessage());
- return false;
- }
-
- $searchcount = $search->count();
- if($searchcount == 0) {
- return false;
- }else if($searchcount == 1) {
- $entry = $search->shiftEntry();
- return $entry;
- }else{
- common_log(LOG_WARNING, 'Found ' . $searchcount . ' ldap user with the username: ' . $username);
- return false;
- }
- }
-
- /**
- * Code originaly from the phpLDAPadmin development team
- * http://phpldapadmin.sourceforge.net/
- *
- * Hashes a password and returns the hash based on the specified enc_type.
- *
- * @param string $passwordClear The password to hash in clear text.
- * @param string $encodageType Standard LDAP encryption type which must be one of
- * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear.
- * @return string The hashed password.
- *
- */
-
- function hashPassword( $passwordClear, $encodageType )
- {
- $encodageType = strtolower( $encodageType );
- switch( $encodageType ) {
- case 'crypt':
- $cryptedPassword = '{CRYPT}' . crypt($passwordClear,$this->randomSalt(2));
- break;
-
- case 'ext_des':
- // extended des crypt. see OpenBSD crypt man page.
- if ( ! defined( 'CRYPT_EXT_DES' ) || CRYPT_EXT_DES == 0 ) {return FALSE;} //Your system crypt library does not support extended DES encryption.
- $cryptedPassword = '{CRYPT}' . crypt( $passwordClear, '_' . $this->randomSalt(8) );
- break;
-
- case 'md5crypt':
- if( ! defined( 'CRYPT_MD5' ) || CRYPT_MD5 == 0 ) {return FALSE;} //Your system crypt library does not support md5crypt encryption.
- $cryptedPassword = '{CRYPT}' . crypt( $passwordClear , '$1$' . $this->randomSalt(9) );
- break;
-
- case 'blowfish':
- if( ! defined( 'CRYPT_BLOWFISH' ) || CRYPT_BLOWFISH == 0 ) {return FALSE;} //Your system crypt library does not support blowfish encryption.
- $cryptedPassword = '{CRYPT}' . crypt( $passwordClear , '$2a$12$' . $this->randomSalt(13) ); // hardcoded to second blowfish version and set number of rounds
- break;
-
- case 'md5':
- $cryptedPassword = '{MD5}' . base64_encode( pack( 'H*' , md5( $passwordClear) ) );
- break;
-
- case 'sha':
- if( function_exists('sha1') ) {
- // use php 4.3.0+ sha1 function, if it is available.
- $cryptedPassword = '{SHA}' . base64_encode( pack( 'H*' , sha1( $passwordClear) ) );
- } elseif( function_exists( 'mhash' ) ) {
- $cryptedPassword = '{SHA}' . base64_encode( mhash( MHASH_SHA1, $passwordClear) );
- } else {
- return FALSE; //Your PHP install does not have the mhash() function. Cannot do SHA hashes.
- }
- break;
-
- case 'ssha':
- if( function_exists( 'mhash' ) && function_exists( 'mhash_keygen_s2k' ) ) {
- mt_srand( (double) microtime() * 1000000 );
- $salt = mhash_keygen_s2k( MHASH_SHA1, $passwordClear, substr( pack( "h*", md5( mt_rand() ) ), 0, 8 ), 4 );
- $cryptedPassword = "{SSHA}".base64_encode( mhash( MHASH_SHA1, $passwordClear.$salt ).$salt );
- } else {
- return FALSE; //Your PHP install does not have the mhash() function. Cannot do SHA hashes.
- }
- break;
-
- case 'smd5':
- if( function_exists( 'mhash' ) && function_exists( 'mhash_keygen_s2k' ) ) {
- mt_srand( (double) microtime() * 1000000 );
- $salt = mhash_keygen_s2k( MHASH_MD5, $passwordClear, substr( pack( "h*", md5( mt_rand() ) ), 0, 8 ), 4 );
- $cryptedPassword = "{SMD5}".base64_encode( mhash( MHASH_MD5, $passwordClear.$salt ).$salt );
- } else {
- return FALSE; //Your PHP install does not have the mhash() function. Cannot do SHA hashes.
- }
- break;
-
- case 'ad':
- $cryptedPassword = '';
- $passwordClear = "\"" . $passwordClear . "\"";
- $len = strlen($passwordClear);
- for ($i = 0; $i < $len; $i++) {
- $cryptedPassword .= "{$passwordClear{$i}}\000";
- }
-
- case 'clear':
- default:
- $cryptedPassword = $passwordClear;
- }
-
- return $cryptedPassword;
- }
-
- /**
- * Code originaly from the phpLDAPadmin development team
- * http://phpldapadmin.sourceforge.net/
- *
- * Used to generate a random salt for crypt-style passwords. Salt strings are used
- * to make pre-built hash cracking dictionaries difficult to use as the hash algorithm uses
- * not only the user's password but also a randomly generated string. The string is
- * stored as the first N characters of the hash for reference of hashing algorithms later.
- *
- * --- added 20021125 by bayu irawan <bayuir@divnet.telkom.co.id> ---
- * --- ammended 20030625 by S C Rigler <srigler@houston.rr.com> ---
- *
- * @param int $length The length of the salt string to generate.
- * @return string The generated salt string.
- */
-
- function randomSalt( $length )
- {
- $possible = '0123456789'.
- 'abcdefghijklmnopqrstuvwxyz'.
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
- './';
- $str = "";
- mt_srand((double)microtime() * 1000000);
-
- while( strlen( $str ) < $length )
- $str .= substr( $possible, ( rand() % strlen( $possible ) ), 1 );
-
- return $str;
- }
function onPluginVersion(&$versions)
{
diff --git a/plugins/LdapAuthorization/LdapAuthorizationPlugin.php b/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
index 042b2db8d..97103d158 100644
--- a/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
+++ b/plugins/LdapAuthorization/LdapAuthorizationPlugin.php
@@ -31,41 +31,28 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
-require_once 'Net/LDAP2.php';
-
class LdapAuthorizationPlugin extends AuthorizationPlugin
{
- public $host=null;
- public $port=null;
- public $version=null;
- public $starttls=null;
- public $binddn=null;
- public $bindpw=null;
- public $basedn=null;
- public $options=null;
- public $filter=null;
- public $scope=null;
- public $provider_name = null;
- public $uniqueMember_attribute = null;
public $roles_to_groups = array();
public $login_group = null;
- public $attributes = array();
function onInitializePlugin(){
- if(!isset($this->host)){
- throw new Exception("must specify a host");
- }
- if(!isset($this->basedn)){
- throw new Exception("must specify a basedn");
- }
if(!isset($this->provider_name)){
throw new Exception("provider_name must be set. Use the provider_name from the LDAP Authentication plugin.");
}
if(!isset($this->uniqueMember_attribute)){
throw new Exception("uniqueMember_attribute must be set.");
}
- if(!isset($this->attributes['username'])){
- throw new Exception("username attribute must be set.");
+ $this->ldapCommon = new LdapCommon(get_object_vars($this));
+ }
+
+ function onAutoload($cls)
+ {
+ switch ($cls)
+ {
+ case 'LdapCommon':
+ require_once(INSTALLDIR.'/plugins/LdapCommon/LdapCommon.php');
+ return false;
}
}
@@ -75,17 +62,17 @@ class LdapAuthorizationPlugin extends AuthorizationPlugin
$user_username->user_id=$user->id;
$user_username->provider_name=$this->provider_name;
if($user_username->find() && $user_username->fetch()){
- $entry = $this->ldap_get_user($user_username->username);
+ $entry = $this->ldapCommon->get_user($user_username->username);
if($entry){
if(isset($this->login_group)){
if(is_array($this->login_group)){
foreach($this->login_group as $group){
- if($this->ldap_is_dn_member_of_group($entry->dn(),$group)){
+ if($this->ldapCommon->is_dn_member_of_group($entry->dn(),$group)){
return true;
}
}
}else{
- if($this->ldap_is_dn_member_of_group($entry->dn(),$this->login_group)){
+ if($this->ldapCommon->is_dn_member_of_group($entry->dn(),$this->login_group)){
return true;
}
}
@@ -107,17 +94,17 @@ class LdapAuthorizationPlugin extends AuthorizationPlugin
$user_username->user_id=$profile->id;
$user_username->provider_name=$this->provider_name;
if($user_username->find() && $user_username->fetch()){
- $entry = $this->ldap_get_user($user_username->username);
+ $entry = $this->ldapCommon->get_user($user_username->username);
if($entry){
if(isset($this->roles_to_groups[$name])){
if(is_array($this->roles_to_groups[$name])){
foreach($this->roles_to_groups[$name] as $group){
- if($this->ldap_is_dn_member_of_group($entry->dn(),$group)){
+ if($this->ldapCommon->is_dn_member_of_group($entry->dn(),$group)){
return true;
}
}
}else{
- if($this->ldap_is_dn_member_of_group($entry->dn(),$this->roles_to_groups[$name])){
+ if($this->ldapCommon->is_dn_member_of_group($entry->dn(),$this->roles_to_groups[$name])){
return true;
}
}
@@ -127,94 +114,6 @@ class LdapAuthorizationPlugin extends AuthorizationPlugin
return false;
}
- function ldap_is_dn_member_of_group($userDn, $groupDn)
- {
- $ldap = $this->ldap_get_connection();
- $link = $ldap->getLink();
- $r = @ldap_compare($link, $groupDn, $this->uniqueMember_attribute, $userDn);
- if ($r === true){
- return true;
- }else if($r === false){
- return false;
- }else{
- common_log(LOG_ERR, "LDAP error determining if userDn=$userDn is a member of groupDn=groupDn using uniqueMember_attribute=$this->uniqueMember_attribute error: ".ldap_error($link));
- return false;
- }
- }
-
- function ldap_get_config(){
- $config = array();
- $keys = array('host','port','version','starttls','binddn','bindpw','basedn','options','filter','scope');
- foreach($keys as $key){
- $value = $this->$key;
- if($value!==null){
- $config[$key]=$value;
- }
- }
- return $config;
- }
-
- //-----the below function were copied from LDAPAuthenticationPlugin. They will be moved to a utility class soon.----\\
- function ldap_get_connection($config = null){
- if($config == null && isset($this->default_ldap)){
- return $this->default_ldap;
- }
-
- //cannot use Net_LDAP2::connect() as StatusNet uses
- //PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
- //PEAR handling can be overridden on instance objects, so we do that.
- $ldap = new Net_LDAP2(isset($config)?$config:$this->ldap_get_config());
- $ldap->setErrorHandling(PEAR_ERROR_RETURN);
- $err=$ldap->bind();
- if (Net_LDAP2::isError($err)) {
- // 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;
- return $ldap;
- }
-
- /**
- * get an LDAP entry for a user with a given username
- *
- * @param string $username
- * $param array $attributes LDAP attributes to retrieve
- * @return string DN
- */
- function ldap_get_user($username,$attributes=array(),$ldap=null){
- 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
- );
- $search = $ldap->search(null,$filter,$options);
-
- if (PEAR::isError($search)) {
- common_log(LOG_WARNING, 'Error while getting DN for user: '.$search->getMessage());
- return false;
- }
-
- if($search->count()==0){
- return false;
- }else if($search->count()==1){
- $entry = $search->shiftEntry();
- return $entry;
- }else{
- common_log(LOG_WARNING, 'Found ' . $search->count() . ' ldap user with the username: ' . $username);
- return false;
- }
- }
-
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'LDAP Authorization',
diff --git a/plugins/LdapCommon/LdapCommon.php b/plugins/LdapCommon/LdapCommon.php
new file mode 100644
index 000000000..ee436d824
--- /dev/null
+++ b/plugins/LdapCommon/LdapCommon.php
@@ -0,0 +1,369 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Utility class of LDAP functions
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+// We bundle the Net/LDAP2 library...
+set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib');
+
+class LdapCommon
+{
+ protected static $ldap_connections = array();
+ public $host=null;
+ public $port=null;
+ public $version=null;
+ public $starttls=null;
+ public $binddn=null;
+ public $bindpw=null;
+ public $basedn=null;
+ public $options=null;
+ public $filter=null;
+ public $scope=null;
+ public $uniqueMember_attribute = null;
+ public $attributes=array();
+ public $password_encoding=null;
+
+ public function __construct($config)
+ {
+ Event::addHandler('Autoload',array($this,'onAutoload'));
+ foreach($config as $key=>$value) {
+ $this->$key = $value;
+ }
+ $this->ldap_config = $this->get_ldap_config();
+
+ if(!isset($this->host)){
+ throw new Exception("must specify a host");
+ }
+ if(!isset($this->basedn)){
+ throw new Exception("must specify a basedn");
+ }
+ if(!isset($this->attributes['username'])){
+ throw new Exception("username attribute must be set.");
+ }
+ }
+
+ function onAutoload($cls)
+ {
+ switch ($cls)
+ {
+ case 'MemcacheSchemaCache':
+ require_once(INSTALLDIR.'/plugins/LdapCommon/MemcacheSchemaCache.php');
+ return false;
+ case 'Net_LDAP2':
+ require_once 'Net/LDAP2.php';
+ return false;
+ case 'Net_LDAP2_Filter':
+ require_once 'Net/LDAP2/Filter.php';
+ return false;
+ case 'Net_LDAP2_Filter':
+ require_once 'Net/LDAP2/Filter.php';
+ return false;
+ case 'Net_LDAP2_Entry':
+ require_once 'Net/LDAP2/Entry.php';
+ return false;
+ }
+ }
+
+ function get_ldap_config(){
+ $config = array();
+ $keys = array('host','port','version','starttls','binddn','bindpw','basedn','options','filter','scope');
+ foreach($keys as $key){
+ $value = $this->$key;
+ if($value!==null){
+ $config[$key]=$value;
+ }
+ }
+ return $config;
+ }
+
+ function get_ldap_connection($config = null){
+ if($config == null) {
+ $config = $this->ldap_config;
+ }
+ $config_id = crc32(serialize($config));
+ if(array_key_exists($config_id,self::$ldap_connections)) {
+ $ldap = self::$ldap_connections[$config_id];
+ } else {
+ //cannot use Net_LDAP2::connect() as StatusNet uses
+ //PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handleError');
+ //PEAR handling can be overridden on instance objects, so we do that.
+ $ldap = new Net_LDAP2($config);
+ $ldap->setErrorHandling(PEAR_ERROR_RETURN);
+ $err=$ldap->bind();
+ if (Net_LDAP2::isError($err)) {
+ // if we were called with a config, assume caller will handle
+ // incorrect username/password (LDAP_INVALID_CREDENTIALS)
+ if (isset($config) && $err->getCode() == 0x31) {
+ throw new LdapInvalidCredentialsException('Could not connect to LDAP server: '.$err->getMessage());
+ }
+ throw new Exception('Could not connect to LDAP server: '.$err->getMessage());
+ }
+ $c = common_memcache();
+ if (!empty($c)) {
+ $cacheObj = new MemcacheSchemaCache(
+ array('c'=>$c,
+ 'cacheKey' => common_cache_key('ldap_schema:' . $config_id)));
+ $ldap->registerSchemaCache($cacheObj);
+ }
+ self::$ldap_connections[$config_id] = $ldap;
+ }
+ return $ldap;
+ }
+
+ function checkPassword($username, $password)
+ {
+ $entry = $this->get_user($username);
+ if(!$entry){
+ return false;
+ }else{
+ $config = $this->get_ldap_config();
+ $config['binddn']=$entry->dn();
+ $config['bindpw']=$password;
+ try {
+ $this->get_ldap_connection($config);
+ } catch (LdapInvalidCredentialsException $e) {
+ return false;
+ }
+ return true;
+ }
+ }
+
+ function changePassword($username,$oldpassword,$newpassword)
+ {
+ if(! isset($this->attributes['password']) || !isset($this->password_encoding)){
+ //throw new Exception(_('Sorry, changing LDAP passwords is not supported at this time'));
+ return false;
+ }
+ $entry = $this->get_user($username);
+ if(!$entry){
+ return false;
+ }else{
+ $config = $this->get_ldap_config();
+ $config['binddn']=$entry->dn();
+ $config['bindpw']=$oldpassword;
+ try {
+ $ldap = $this->get_ldap_connection($config);
+
+ $entry = $this->get_user($username,array(),$ldap);
+
+ $newCryptedPassword = $this->hashPassword($newpassword, $this->password_encoding);
+ if ($newCryptedPassword===false) {
+ return false;
+ }
+ if($this->password_encoding=='ad') {
+ //TODO I believe this code will work once this bug is fixed: http://pear.php.net/bugs/bug.php?id=16796
+ $oldCryptedPassword = $this->hashPassword($oldpassword, $this->password_encoding);
+ $entry->delete( array($this->attributes['password'] => $oldCryptedPassword ));
+ }
+ $entry->replace( array($this->attributes['password'] => $newCryptedPassword ), true);
+ if( Net_LDAP2::isError($entry->upate()) ) {
+ return false;
+ }
+ return true;
+ } catch (LdapInvalidCredentialsException $e) {
+ return false;
+ }
+ }
+
+ return false;
+ }
+
+ function is_dn_member_of_group($userDn, $groupDn)
+ {
+ $ldap = $this->get_ldap_connection();
+ $link = $ldap->getLink();
+ $r = @ldap_compare($link, $groupDn, $this->uniqueMember_attribute, $userDn);
+ if ($r === true){
+ return true;
+ }else if($r === false){
+ return false;
+ }else{
+ common_log(LOG_ERR, "LDAP error determining if userDn=$userDn is a member of groupDn=$groupDn using uniqueMember_attribute=$this->uniqueMember_attribute error: ".ldap_error($link));
+ return false;
+ }
+ }
+
+ /**
+ * get an LDAP entry for a user with a given username
+ *
+ * @param string $username
+ * $param array $attributes LDAP attributes to retrieve
+ * @return string DN
+ */
+ function get_user($username,$attributes=array()){
+ $ldap = $this->get_ldap_connection();
+ $filter = Net_LDAP2_Filter::create($this->attributes['username'], 'equals', $username);
+ $options = array(
+ 'attributes' => $attributes
+ );
+ $search = $ldap->search(null,$filter,$options);
+
+ if (PEAR::isError($search)) {
+ common_log(LOG_WARNING, 'Error while getting DN for user: '.$search->getMessage());
+ return false;
+ }
+
+ if($search->count()==0){
+ return false;
+ }else if($search->count()==1){
+ $entry = $search->shiftEntry();
+ return $entry;
+ }else{
+ common_log(LOG_WARNING, 'Found ' . $search->count() . ' ldap user with the username: ' . $username);
+ return false;
+ }
+ }
+
+ /**
+ * Code originaly from the phpLDAPadmin development team
+ * http://phpldapadmin.sourceforge.net/
+ *
+ * Hashes a password and returns the hash based on the specified enc_type.
+ *
+ * @param string $passwordClear The password to hash in clear text.
+ * @param string $encodageType Standard LDAP encryption type which must be one of
+ * crypt, ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear.
+ * @return string The hashed password.
+ *
+ */
+
+ function hashPassword( $passwordClear, $encodageType )
+ {
+ $encodageType = strtolower( $encodageType );
+ switch( $encodageType ) {
+ case 'crypt':
+ $cryptedPassword = '{CRYPT}' . crypt($passwordClear,$this->randomSalt(2));
+ break;
+
+ case 'ext_des':
+ // extended des crypt. see OpenBSD crypt man page.
+ if ( ! defined( 'CRYPT_EXT_DES' ) || CRYPT_EXT_DES == 0 ) {return FALSE;} //Your system crypt library does not support extended DES encryption.
+ $cryptedPassword = '{CRYPT}' . crypt( $passwordClear, '_' . $this->randomSalt(8) );
+ break;
+
+ case 'md5crypt':
+ if( ! defined( 'CRYPT_MD5' ) || CRYPT_MD5 == 0 ) {return FALSE;} //Your system crypt library does not support md5crypt encryption.
+ $cryptedPassword = '{CRYPT}' . crypt( $passwordClear , '$1$' . $this->randomSalt(9) );
+ break;
+
+ case 'blowfish':
+ if( ! defined( 'CRYPT_BLOWFISH' ) || CRYPT_BLOWFISH == 0 ) {return FALSE;} //Your system crypt library does not support blowfish encryption.
+ $cryptedPassword = '{CRYPT}' . crypt( $passwordClear , '$2a$12$' . $this->randomSalt(13) ); // hardcoded to second blowfish version and set number of rounds
+ break;
+
+ case 'md5':
+ $cryptedPassword = '{MD5}' . base64_encode( pack( 'H*' , md5( $passwordClear) ) );
+ break;
+
+ case 'sha':
+ if( function_exists('sha1') ) {
+ // use php 4.3.0+ sha1 function, if it is available.
+ $cryptedPassword = '{SHA}' . base64_encode( pack( 'H*' , sha1( $passwordClear) ) );
+ } elseif( function_exists( 'mhash' ) ) {
+ $cryptedPassword = '{SHA}' . base64_encode( mhash( MHASH_SHA1, $passwordClear) );
+ } else {
+ return FALSE; //Your PHP install does not have the mhash() function. Cannot do SHA hashes.
+ }
+ break;
+
+ case 'ssha':
+ if( function_exists( 'mhash' ) && function_exists( 'mhash_keygen_s2k' ) ) {
+ mt_srand( (double) microtime() * 1000000 );
+ $salt = mhash_keygen_s2k( MHASH_SHA1, $passwordClear, substr( pack( "h*", md5( mt_rand() ) ), 0, 8 ), 4 );
+ $cryptedPassword = "{SSHA}".base64_encode( mhash( MHASH_SHA1, $passwordClear.$salt ).$salt );
+ } else {
+ return FALSE; //Your PHP install does not have the mhash() function. Cannot do SHA hashes.
+ }
+ break;
+
+ case 'smd5':
+ if( function_exists( 'mhash' ) && function_exists( 'mhash_keygen_s2k' ) ) {
+ mt_srand( (double) microtime() * 1000000 );
+ $salt = mhash_keygen_s2k( MHASH_MD5, $passwordClear, substr( pack( "h*", md5( mt_rand() ) ), 0, 8 ), 4 );
+ $cryptedPassword = "{SMD5}".base64_encode( mhash( MHASH_MD5, $passwordClear.$salt ).$salt );
+ } else {
+ return FALSE; //Your PHP install does not have the mhash() function. Cannot do SHA hashes.
+ }
+ break;
+
+ case 'ad':
+ $cryptedPassword = '';
+ $passwordClear = "\"" . $passwordClear . "\"";
+ $len = strlen($passwordClear);
+ for ($i = 0; $i < $len; $i++) {
+ $cryptedPassword .= "{$passwordClear{$i}}\000";
+ }
+
+ case 'clear':
+ default:
+ $cryptedPassword = $passwordClear;
+ }
+
+ return $cryptedPassword;
+ }
+
+ /**
+ * Code originaly from the phpLDAPadmin development team
+ * http://phpldapadmin.sourceforge.net/
+ *
+ * Used to generate a random salt for crypt-style passwords. Salt strings are used
+ * to make pre-built hash cracking dictionaries difficult to use as the hash algorithm uses
+ * not only the user's password but also a randomly generated string. The string is
+ * stored as the first N characters of the hash for reference of hashing algorithms later.
+ *
+ * --- added 20021125 by bayu irawan <bayuir@divnet.telkom.co.id> ---
+ * --- ammended 20030625 by S C Rigler <srigler@houston.rr.com> ---
+ *
+ * @param int $length The length of the salt string to generate.
+ * @return string The generated salt string.
+ */
+
+ function randomSalt( $length )
+ {
+ $possible = '0123456789'.
+ 'abcdefghijklmnopqrstuvwxyz'.
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
+ './';
+ $str = "";
+ mt_srand((double)microtime() * 1000000);
+
+ while( strlen( $str ) < $length )
+ $str .= substr( $possible, ( rand() % strlen( $possible ) ), 1 );
+
+ return $str;
+ }
+
+}
+
+class LdapInvalidCredentialsException extends Exception
+{
+
+}
diff --git a/plugins/LdapAuthentication/MemcacheSchemaCache.php b/plugins/LdapCommon/MemcacheSchemaCache.php
index 6b91d17d6..6b91d17d6 100644
--- a/plugins/LdapAuthentication/MemcacheSchemaCache.php
+++ b/plugins/LdapCommon/MemcacheSchemaCache.php
diff --git a/extlib/Net/LDAP2.php b/plugins/LdapCommon/extlib/Net/LDAP2.php
index 26f5e7560..26f5e7560 100644
--- a/extlib/Net/LDAP2.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2.php
diff --git a/extlib/Net/LDAP2/Entry.php b/plugins/LdapCommon/extlib/Net/LDAP2/Entry.php
index 66de96678..66de96678 100644
--- a/extlib/Net/LDAP2/Entry.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/Entry.php
diff --git a/extlib/Net/LDAP2/Filter.php b/plugins/LdapCommon/extlib/Net/LDAP2/Filter.php
index 0723edab2..0723edab2 100644
--- a/extlib/Net/LDAP2/Filter.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/Filter.php
diff --git a/extlib/Net/LDAP2/LDIF.php b/plugins/LdapCommon/extlib/Net/LDAP2/LDIF.php
index 34f3e75dd..34f3e75dd 100644
--- a/extlib/Net/LDAP2/LDIF.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/LDIF.php
diff --git a/extlib/Net/LDAP2/RootDSE.php b/plugins/LdapCommon/extlib/Net/LDAP2/RootDSE.php
index 8dc81fd4f..8dc81fd4f 100644
--- a/extlib/Net/LDAP2/RootDSE.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/RootDSE.php
diff --git a/extlib/Net/LDAP2/Schema.php b/plugins/LdapCommon/extlib/Net/LDAP2/Schema.php
index b590eabc5..b590eabc5 100644
--- a/extlib/Net/LDAP2/Schema.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/Schema.php
diff --git a/extlib/Net/LDAP2/SchemaCache.interface.php b/plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php
index e0c3094c4..e0c3094c4 100644
--- a/extlib/Net/LDAP2/SchemaCache.interface.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/SchemaCache.interface.php
diff --git a/extlib/Net/LDAP2/Search.php b/plugins/LdapCommon/extlib/Net/LDAP2/Search.php
index de4fde122..de4fde122 100644
--- a/extlib/Net/LDAP2/Search.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/Search.php
diff --git a/extlib/Net/LDAP2/SimpleFileSchemaCache.php b/plugins/LdapCommon/extlib/Net/LDAP2/SimpleFileSchemaCache.php
index 8019654ac..8019654ac 100644
--- a/extlib/Net/LDAP2/SimpleFileSchemaCache.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/SimpleFileSchemaCache.php
diff --git a/extlib/Net/LDAP2/Util.php b/plugins/LdapCommon/extlib/Net/LDAP2/Util.php
index 48b03f9f9..48b03f9f9 100644
--- a/extlib/Net/LDAP2/Util.php
+++ b/plugins/LdapCommon/extlib/Net/LDAP2/Util.php
diff --git a/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
deleted file mode 100644
index 0956d2f9b..000000000
--- a/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
+++ /dev/null
@@ -1,109 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-07 14:14-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"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: FeedSubPlugin.php:77
-msgid "Feeds"
-msgstr "Flux"
-
-#: FeedSubPlugin.php:78
-msgid "Feed subscription options"
-msgstr "Préférences pour abonnement flux"
-
-#: feedmunger.php:215
-#, php-format
-msgid "New post: \"%1$s\" %2$s"
-msgstr "Nouveau: \"%1$s\" %2$s"
-
-#: actions/feedsubsettings.php:41
-msgid "Feed subscriptions"
-msgstr "Abonnements aux fluxes"
-
-#: actions/feedsubsettings.php:52
-msgid ""
-"You can subscribe to feeds from other sites; updates will appear in your "
-"personal timeline."
-msgstr ""
-"Abonner aux fluxes RSS ou Atom des autres sites web; les temps se trouverair"
-"en votre flux personnel."
-
-#: actions/feedsubsettings.php:96
-msgid "Subscribe"
-msgstr "Abonner"
-
-#: actions/feedsubsettings.php:98
-msgid "Continue"
-msgstr "Prochaine"
-
-#: actions/feedsubsettings.php:151
-msgid "Empty feed URL!"
-msgstr ""
-
-#: actions/feedsubsettings.php:161
-msgid "Invalid URL or could not reach server."
-msgstr ""
-
-#: actions/feedsubsettings.php:164
-msgid "Cannot read feed; server returned error."
-msgstr ""
-
-#: actions/feedsubsettings.php:167
-msgid "Cannot read feed; server returned an empty page."
-msgstr ""
-
-#: actions/feedsubsettings.php:170
-msgid "Bad HTML, could not find feed link."
-msgstr ""
-
-#: actions/feedsubsettings.php:173
-msgid "Could not find a feed linked from this URL."
-msgstr ""
-
-#: actions/feedsubsettings.php:176
-msgid "Not a recognized feed type."
-msgstr ""
-
-#: actions/feedsubsettings.php:180
-msgid "Bad feed URL."
-msgstr ""
-
-#: actions/feedsubsettings.php:188
-msgid "Feed is not PuSH-enabled; cannot subscribe."
-msgstr ""
-
-#: actions/feedsubsettings.php:208
-msgid "Feed subscription failed! Bad response from hub."
-msgstr ""
-
-#: actions/feedsubsettings.php:218
-msgid "Already subscribed!"
-msgstr ""
-
-#: actions/feedsubsettings.php:220
-msgid "Feed subscribed!"
-msgstr ""
-
-#: actions/feedsubsettings.php:222
-msgid "Feed subscription failed!"
-msgstr ""
-
-#: actions/feedsubsettings.php:231
-msgid "Previewing feed:"
-msgstr ""
-
-msgid "Confirm"
-msgstr "Confirmer"
diff --git a/plugins/OpenID/OpenIDPlugin.php b/plugins/OpenID/OpenIDPlugin.php
index 9eac9f6fc..fdcfacfa5 100644
--- a/plugins/OpenID/OpenIDPlugin.php
+++ b/plugins/OpenID/OpenIDPlugin.php
@@ -215,16 +215,16 @@ class OpenIDPlugin extends Plugin
if (common_config('site', 'openidonly') && !common_logged_in()) {
// 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
$action->menuItem(common_local_url('openidlogin'),
+ // TRANS: Main menu option when not logged in to log in
_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
$action->menuItem(common_local_url('doc', array('title' => 'help')),
+ // TRANS: Main menu option for help on the StatusNet site
_m('MENU', 'Help'),
$tooltip,
false,
@@ -232,8 +232,8 @@ class OpenIDPlugin extends Plugin
if (!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
$action->menuItem(common_local_url('peoplesearch'),
+ // TRANS: Main menu option when logged in or when the StatusNet instance is not private
_m('MENU', 'Search'), $tooltip, false, 'nav_search');
}
Event::handle('EndPrimaryNav', array($action));
@@ -293,7 +293,9 @@ class OpenIDPlugin extends Plugin
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('openidlogin'),
- _m('OpenID'),
+ // TRANS: OpenID plugin menu item on site logon page.
+ _m('MENU', 'OpenID'),
+ // TRANS: OpenID plugin tooltip for logon menu item.
_m('Login or register with OpenID'),
$action_name === 'openidlogin');
}
@@ -329,7 +331,9 @@ class OpenIDPlugin extends Plugin
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('openidsettings'),
- _m('OpenID'),
+ // TRANS: OpenID plugin menu item on user settings page.
+ _m('MENU', 'OpenID'),
+ // TRANS: OpenID plugin tooltip for user settings menu item.
_m('Add or remove OpenIDs'),
$action_name === 'openidsettings');
@@ -637,6 +641,7 @@ class OpenIDPlugin extends Plugin
'author' => 'Evan Prodromou, Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:OpenID',
'rawdescription' =>
+ // TRANS: OpenID plugin description.
_m('Use <a href="http://openid.net/">OpenID</a> to login to the site.'));
return true;
}
diff --git a/plugins/OpenID/finishaddopenid.php b/plugins/OpenID/finishaddopenid.php
index df1763a52..e07ab764e 100644
--- a/plugins/OpenID/finishaddopenid.php
+++ b/plugins/OpenID/finishaddopenid.php
@@ -64,6 +64,7 @@ class FinishaddopenidAction extends Action
{
parent::handle($args);
if (!common_logged_in()) {
+ // TRANS: Client error message
$this->clientError(_m('Not logged in.'));
} else {
$this->tryLogin();
@@ -85,10 +86,12 @@ class FinishaddopenidAction extends Action
$response = $consumer->complete(common_local_url('finishaddopenid'));
if ($response->status == Auth_OpenID_CANCEL) {
+ // TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
$this->message(_m('OpenID authentication cancelled.'));
return;
} else if ($response->status == Auth_OpenID_FAILURE) {
- // Authentication failed; display the error message.
+ // TRANS: OpenID authentication failed; display the error message.
+ // TRANS: %s is the error message.
$this->message(sprintf(_m('OpenID authentication failed: %s'),
$response->message));
} else if ($response->status == Auth_OpenID_SUCCESS) {
@@ -115,8 +118,10 @@ class FinishaddopenidAction extends Action
if ($other) {
if ($other->id == $cur->id) {
+ // TRANS: message in case a user tries to add an OpenID that is already connected to them.
$this->message(_m('You already have this OpenID!'));
} else {
+ // TRANS: message in case a user tries to add an OpenID that is already used by another user.
$this->message(_m('Someone else already has this OpenID.'));
}
return;
@@ -129,11 +134,13 @@ class FinishaddopenidAction extends Action
$result = oid_link_user($cur->id, $canonical, $display);
if (!$result) {
+ // TRANS: message in case the OpenID object cannot be connected to the user.
$this->message(_m('Error connecting user.'));
return;
}
if ($sreg) {
if (!oid_update_user($cur, $sreg)) {
+ // TRANS: message in case the user or the user profile cannot be saved in StatusNet.
$this->message(_m('Error updating profile'));
return;
}
@@ -173,6 +180,7 @@ class FinishaddopenidAction extends Action
function title()
{
+ // TRANS: Title after getting the status of the OpenID authorisation request.
return _m('OpenID Login');
}
diff --git a/plugins/OpenID/finishopenidlogin.php b/plugins/OpenID/finishopenidlogin.php
index 57723ff97..a9ab14199 100644
--- a/plugins/OpenID/finishopenidlogin.php
+++ b/plugins/OpenID/finishopenidlogin.php
@@ -31,15 +31,18 @@ class FinishopenidloginAction extends Action
{
parent::handle($args);
if (common_is_real_login()) {
+ // TRANS: Client error message trying to log on with OpenID while already logged on.
$this->clientError(_m('Already logged in.'));
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
+ // TRANS: Message given when there is a problem with the user's session token.
$this->showForm(_m('There was a problem with your session token. Try again, please.'));
return;
}
if ($this->arg('create')) {
if (!$this->boolean('license')) {
+ // TRANS: Message given if user does not agree with the site's license.
$this->showForm(_m('You can\'t register if you don\'t agree to the license.'),
$this->trimmed('newname'));
return;
@@ -48,7 +51,8 @@ class FinishopenidloginAction extends Action
} else if ($this->arg('connect')) {
$this->connectUser();
} else {
- $this->showForm(_m('Something weird happened.'),
+ // TRANS: Messag given on an unknown error.
+ $this->showForm(_m('An unknown error has occured.'),
$this->trimmed('newname'));
}
} else {
@@ -62,12 +66,15 @@ class FinishopenidloginAction extends Action
$this->element('div', array('class' => 'error'), $this->error);
} else {
$this->element('div', 'instructions',
+ // TRANS: Instructions given after a first successful logon using OpenID.
+ // TRANS: %s is the site name.
sprintf(_m('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.'), common_config('site', 'name')));
}
}
function title()
{
+ // TRANS: Title
return _m('OpenID Account Setup');
}
@@ -115,6 +122,8 @@ class FinishopenidloginAction extends Action
'value' => 'true'));
$this->elementStart('label', array('for' => 'license',
'class' => 'checkbox'));
+ // TRANS: OpenID plugin link text.
+ // TRANS: %s is a link to a licese with the license name as link text.
$message = _('My text and files are available under %s ' .
'except this private data: password, ' .
'email address, IM address, and phone number.');
@@ -127,23 +136,29 @@ class FinishopenidloginAction extends Action
$this->elementEnd('label');
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('create', _m('Create'));
+ // TRANS: Button label in form in which to create a new user on the site for an OpenID.
+ $this->submit('create', _m('BUTTON', 'Create'));
$this->elementEnd('fieldset');
$this->elementStart('fieldset', array('id' => 'form_openid_createaccount'));
$this->element('legend', null,
+ // TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
_m('Connect existing account'));
$this->element('p', null,
+ // TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
_m('If you already have an account, login with your username and password to connect it to your OpenID.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
$this->input('nickname', _m('Existing nickname'));
$this->elementEnd('li');
$this->elementStart('li');
+ // TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
$this->password('password', _m('Password'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('connect', _m('Connect'));
+ // TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+ $this->submit('connect', _m('BUTTON', 'Connect'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
@@ -155,10 +170,11 @@ class FinishopenidloginAction extends Action
$response = $consumer->complete(common_local_url('finishopenidlogin'));
if ($response->status == Auth_OpenID_CANCEL) {
+ // TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
$this->message(_m('OpenID authentication cancelled.'));
return;
} else if ($response->status == Auth_OpenID_FAILURE) {
- // Authentication failed; display the error message.
+ // TRANS: OpenID authentication failed; display the error message. %s is the error message.
$this->message(sprintf(_m('OpenID authentication failed: %s'), $response->message));
} else if ($response->status == Auth_OpenID_SUCCESS) {
// This means the authentication succeeded; extract the
@@ -230,6 +246,7 @@ class FinishopenidloginAction extends Action
# FIXME: save invite code before redirect, and check here
if (common_config('site', 'closed')) {
+ // TRANS: OpenID plugin message. No new user registration is allowed on the site.
$this->clientError(_m('Registration not allowed.'));
return;
}
@@ -239,6 +256,7 @@ class FinishopenidloginAction extends Action
if (common_config('site', 'inviteonly')) {
$code = $_SESSION['invitecode'];
if (empty($code)) {
+ // TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
$this->clientError(_m('Registration not allowed.'));
return;
}
@@ -246,6 +264,7 @@ class FinishopenidloginAction extends Action
$invite = Invitation::staticGet($code);
if (empty($invite)) {
+ // TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
$this->clientError(_m('Not a valid invitation code.'));
return;
}
@@ -256,16 +275,19 @@ class FinishopenidloginAction extends Action
if (!Validate::string($nickname, array('min_length' => 1,
'max_length' => 64,
'format' => NICKNAME_FMT))) {
+ // TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
$this->showForm(_m('Nickname must have only lowercase letters and numbers and no spaces.'));
return;
}
if (!User::allowed_nickname($nickname)) {
+ // TRANS: OpenID plugin message. The entered new user name is blacklisted.
$this->showForm(_m('Nickname not allowed.'));
return;
}
if (User::staticGet('nickname', $nickname)) {
+ // TRANS: OpenID plugin message. The entered new user name is already used.
$this->showForm(_m('Nickname already in use. Try another one.'));
return;
}
@@ -273,6 +295,7 @@ class FinishopenidloginAction extends Action
list($display, $canonical, $sreg) = $this->getSavedValues();
if (!$display || !$canonical) {
+ // TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
$this->serverError(_m('Stored OpenID not found.'));
return;
}
@@ -282,6 +305,7 @@ class FinishopenidloginAction extends Action
$other = oid_get_user($canonical);
if ($other) {
+ // TRANS: OpenID plugin server error.
$this->serverError(_m('Creating new account for OpenID that already has a user.'));
return;
}
@@ -342,6 +366,7 @@ class FinishopenidloginAction extends Action
$password = $this->trimmed('password');
if (!common_check_user($nickname, $password)) {
+ // TRANS: OpenID plugin message.
$this->showForm(_m('Invalid username or password.'));
return;
}
@@ -353,6 +378,7 @@ class FinishopenidloginAction extends Action
list($display, $canonical, $sreg) = $this->getSavedValues();
if (!$display || !$canonical) {
+ // TRANS: OpenID plugin server error. A stored OpenID cannot be found.
$this->serverError(_m('Stored OpenID not found.'));
return;
}
@@ -360,6 +386,7 @@ class FinishopenidloginAction extends Action
$result = oid_link_user($user->id, $canonical, $display);
if (!$result) {
+ // TRANS: OpenID plugin server error. The user or user profile could not be saved.
$this->serverError(_m('Error connecting user to OpenID.'));
return;
}
diff --git a/plugins/OpenID/openid.php b/plugins/OpenID/openid.php
index 5ee9343d2..4dc924695 100644
--- a/plugins/OpenID/openid.php
+++ b/plugins/OpenID/openid.php
@@ -134,6 +134,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
$consumer = oid_consumer();
if (!$consumer) {
+ // TRANS: OpenID plugin server error.
common_server_error(_m('Cannot instantiate OpenID consumer object.'));
return false;
}
@@ -144,8 +145,11 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
// Handle failure status return values.
if (!$auth_request) {
+ // TRANS: OpenID plugin message. Given when an OpenID is not valid.
return _m('Not a valid OpenID.');
} else if (Auth_OpenID::isFailure($auth_request)) {
+ // TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+ // TRANS: %s is the failure message.
return sprintf(_m('OpenID failure: %s'), $auth_request->message);
}
@@ -182,6 +186,8 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
$immediate);
if (!$redirect_url) {
} else if (Auth_OpenID::isFailure($redirect_url)) {
+ // TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+ // TRANS: %s is the failure message.
return sprintf(_m('Could not redirect to server: %s'), $redirect_url->message);
} else {
common_redirect($redirect_url, 303);
@@ -200,6 +206,8 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
// Display an error if the form markup couldn't be generated;
// otherwise, render the HTML.
if (Auth_OpenID::isFailure($form_html)) {
+ // TRANS: OpenID plugin server error if the form markup could not be generated.
+ // TRANS: %s is the failure message.
common_server_error(sprintf(_m('Could not create OpenID form: %s'), $form_html->message));
} else {
$action = new AutosubmitAction(); // see below
@@ -216,6 +224,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
function _oid_print_instructions()
{
common_element('div', 'instructions',
+ // TRANS: OpenID plugin user instructions.
_m('This form should automatically submit itself. '.
'If not, click the submit button to go to your '.
'OpenID provider.'));
@@ -248,6 +257,7 @@ function oid_update_user(&$user, &$sreg)
# XXX save timezone if it's passed
if (!$profile->update($orig_profile)) {
+ // TRANS: OpenID plugin server error.
common_server_error(_m('Error saving the profile.'));
return false;
}
@@ -259,6 +269,7 @@ function oid_update_user(&$user, &$sreg)
}
if (!$user->update($orig_user)) {
+ // TRANS: OpenID plugin server error.
common_server_error(_m('Error saving the user.'));
return false;
}
@@ -288,6 +299,7 @@ function oid_assert_allowed($url)
return;
}
}
+ // TRANS: OpenID plugin client exception (403).
throw new ClientException(_m("Unauthorized URL used for OpenID login."), 403);
}
}
@@ -335,6 +347,7 @@ class AutosubmitAction extends Action
function title()
{
+ // TRANS: Title
return _m('OpenID Login Submission');
}
@@ -345,9 +358,11 @@ class AutosubmitAction extends Action
$this->element('img', array('src' => Theme::path('images/icons/icon_processing.gif', 'base'),
// for some reason the base CSS sets <img>s as block display?!
'style' => 'display: inline'));
+ // TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
$this->text(_m('Requesting authorization from your login provider...'));
$this->raw('</p>');
$this->raw('<p style="margin-top: 60px; font-style: italic">');
+ // TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
$this->text(_m('If you are not redirected to your login provider in a few seconds, try pushing the button below.'));
$this->raw('</p>');
$this->raw($this->form_html);
diff --git a/plugins/OpenID/openidlogin.php b/plugins/OpenID/openidlogin.php
index 8c559c934..34e00ccce 100644
--- a/plugins/OpenID/openidlogin.php
+++ b/plugins/OpenID/openidlogin.php
@@ -27,6 +27,7 @@ class OpenidloginAction extends Action
{
parent::handle($args);
if (common_is_real_login()) {
+ // TRANS: Client error message trying to log on with OpenID while already logged on.
$this->clientError(_m('Already logged in.'));
} else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$provider = common_config('openid', 'trusted_provider');
@@ -41,6 +42,7 @@ class OpenidloginAction extends Action
# CSRF protection
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
+ // TRANS: Message given when there is a problem with the user's session token.
$this->showForm(_m('There was a problem with your session token. Try again, please.'), $openid_url);
return;
}
@@ -70,10 +72,14 @@ class OpenidloginAction extends Action
common_get_returnto()) {
// rememberme logins have to reauthenticate before
// changing any profile settings (cookie-stealing protection)
+ // TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+ // TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
return _m('For security reasons, please re-login with your ' .
'[OpenID](%%doc.openid%%) ' .
'before changing your settings.');
} else {
+ // TRANS: OpenID plugin message.
+ // TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
return _m('Login with an [OpenID](%%doc.openid%%) account.');
}
}
@@ -99,6 +105,7 @@ class OpenidloginAction extends Action
function title()
{
+ // TRANS: OpenID plugin message. Title.
return _m('OpenID Login');
}
@@ -116,6 +123,7 @@ class OpenidloginAction extends Action
'class' => 'form_settings',
'action' => $formaction));
$this->elementStart('fieldset');
+ // TRANS: OpenID plugin logon form legend.
$this->element('legend', null, _m('OpenID login'));
$this->hidden('token', common_session_token());
@@ -129,18 +137,23 @@ class OpenidloginAction extends Action
_m('You will be sent to the provider\'s site for authentication.'));
$this->hidden('openid_url', $provider);
} else {
+ // TRANS: OpenID plugin logon form field label.
$this->input('openid_url', _m('OpenID URL'),
$this->openid_url,
+ // TRANS: OpenID plugin logon form field instructions.
_m('Your OpenID URL'));
}
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'settings_rememberme'));
+ // TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
$this->checkbox('rememberme', _m('Remember me'), false,
+ // TRANS: OpenID plugin logon form field instructions.
_m('Automatically login in the future; ' .
'not for shared computers!'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('submit', _m('Login'));
+ // TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+ $this->submit('submit', _m('BUTTON', 'Login'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
diff --git a/plugins/OpenID/openidserver.php b/plugins/OpenID/openidserver.php
index afbca553f..f7e3a45f2 100644
--- a/plugins/OpenID/openidserver.php
+++ b/plugins/OpenID/openidserver.php
@@ -71,7 +71,7 @@ class OpenidserverAction extends Action
}else{
/* Go log in, and then come back. */
common_set_returnto($_SERVER['REQUEST_URI']);
- common_redirect(common_local_url('login'));
+ common_redirect(common_local_url('login'), 303);
return;
}
}else if(common_profile_url($user->nickname) == $request->identity || $request->idSelect()){
@@ -91,7 +91,7 @@ class OpenidserverAction extends Action
$_SESSION['openid_allow_url'] = $allowResponse->encodeToUrl();
$_SESSION['openid_deny_url'] = $denyResponse->encodeToUrl();
//ask the user to trust this trust root
- common_redirect(common_local_url('openidtrust'));
+ common_redirect(common_local_url('openidtrust'), 303);
return;
}
}else{
@@ -103,6 +103,7 @@ class OpenidserverAction extends Action
$response = $this->generateDenyResponse($request);
} else {
//invalid
+ // TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
$this->clientError(sprintf(_m('You are not authorized to use the identity %s.'),$request->identity),$code=403);
}
} else {
@@ -123,6 +124,7 @@ class OpenidserverAction extends Action
}
$this->raw($response->body);
}else{
+ // TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
$this->clientError(_m('Just an OpenID provider. Nothing to see here, move along...'),$code=500);
}
}
diff --git a/plugins/SpotifyPlugin.php b/plugins/SpotifyPlugin.php
new file mode 100644
index 000000000..e7a5a5382
--- /dev/null
+++ b/plugins/SpotifyPlugin.php
@@ -0,0 +1,113 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to create pretty Spotify URLs
+ *
+ * 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 Nick Holliday <n.g.holliday@gmail.com>
+ * @copyright Nick Holliday
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see Event
+ */
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+define('SPOTIFYPLUGIN_VERSION', '0.1');
+
+/**
+ * Plugin to create pretty Spotify URLs
+ *
+ * The Spotify API is called before the notice is saved to gather artist and track information.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Nick Holliday <n.g.holliday@gmail.com>
+ * @copyright Nick Holliday
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see Event
+ */
+
+class SpotifyPlugin extends Plugin
+{
+
+ function __construct()
+ {
+ parent::__construct();
+ }
+
+ function onStartNoticeSave($notice)
+ {
+ $notice->rendered = preg_replace_callback('/spotify:[a-z]{5,6}:[a-z0-9]{22}/i',
+ "renderSpotifyURILink",
+ $notice->rendered);
+
+ $notice->rendered = preg_replace_callback('/<a href="http:\/\/open.spotify.com\/[a-z]{5,6}\/[a-z0-9]{22}" title="http:\/\/open.spotify.com\/[a-z]{5,6}\/[a-z0-9]{22}" rel="external">http:\/\/open.spotify.com\/[a-z]{5,6}\/[a-z0-9]{22}<\/a>/i',
+ "renderSpotifyHTTPLink",
+ $notice->rendered);
+
+ return true;
+ }
+
+ function userAgent()
+ {
+ return 'SpotifyPlugin/'.SPOTIFYPLUGIN_VERSION .
+ ' StatusNet/' . STATUSNET_VERSION;
+ }
+}
+
+function doSpotifyLookup($uri, $isArtist)
+{
+ $request = HTTPClient::start();
+ $response = $request->get('http://ws.spotify.com/lookup/1/?uri=' . $uri);
+ if ($response->isOk()) {
+ $xml = simplexml_load_string($response->getBody());
+
+ if($isArtist)
+ return $xml->name;
+ else
+ return $xml->artist->name . ' - ' . $xml->name;
+ }
+}
+
+function renderSpotifyURILink($match)
+{
+ $isArtist = false;
+ if(preg_match('/artist/', $match[0]) > 0) $isArtist = true;
+
+ $name = doSpotifyLookup($match[0], $isArtist);
+ return "<a href=\"{$match[0]}\">" . $name . "</a>";
+}
+
+function renderSpotifyHTTPLink($match)
+{
+ $match[0] = preg_replace('/<a href="http:\/\/open.spotify.com\/[a-z]{5,6}\/[a-z0-9]{22}" title="http:\/\/open.spotify.com\/[a-z]{5,6}\/[a-z0-9]{22}" rel="external">http:\/\/open.spotify.com\//i', 'spotify:', $match[0]);
+ $match[0] = preg_replace('/<\/a>/', '', $match[0]);
+ $match[0] = preg_replace('/\//', ':', $match[0]);
+
+ $isArtist = false;
+ if(preg_match('/artist/', $match[0]) > 0) $isArtist = true;
+
+ $name = doSpotifyLookup($match[0], $isArtist);
+ return "<a href=\"{$match[0]}\">" . $name . "</a>";
+}
diff --git a/scripts/apidocs.config b/scripts/apidocs.config
new file mode 100644
index 000000000..fdbe35ba1
--- /dev/null
+++ b/scripts/apidocs.config
@@ -0,0 +1,1551 @@
+# Doxyfile 1.6.2
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = "StatusNet REST API"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = ../apidocs
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = NO
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = NO
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = NO
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = NO
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= NO
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = NO
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = NO
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ../actions ../lib
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS = api*.php
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS = *Action Api* if*
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = NO
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/scripts/docgen.php b/scripts/docgen.php
new file mode 100755
index 000000000..ac0a5c83d
--- /dev/null
+++ b/scripts/docgen.php
@@ -0,0 +1,114 @@
+#!/usr/bin/env php
+<?php
+
+$shortoptions = '';
+$longoptions = array('plugin=');
+
+
+$helptext = <<<ENDOFHELP
+Build HTML documentation from doc comments in source.
+
+Usage: docgen.php [options] output-directory
+Options:
+
+ --plugin=... build docs for given plugin instead of core
+
+
+ENDOFHELP;
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
+set_include_path(INSTALLDIR . DIRECTORY_SEPARATOR . 'extlib' . PATH_SEPARATOR . get_include_path());
+
+$pattern = "*.php *.inc";
+$exclude = 'config.php */extlib/* */local/* */plugins/* */scripts/*';
+$plugin = false;
+
+require_once 'Console/Getopt.php';
+$parser = new Console_Getopt();
+$result = $parser->getopt($_SERVER['argv'], $shortoptions, $longoptions);
+if (PEAR::isError($result)) {
+ print $result->getMessage() . "\n";
+ exit(1);
+}
+list($options, $args) = $result;
+
+foreach ($options as $option) {
+ $arg = $option[0];
+ if ($arg == '--plugin') {
+ $plugin = $options[1];
+ } else if ($arg == 'h' || $arg == '--help') {
+ print $helptext;
+ exit(0);
+ }
+}
+
+if (isset($args[0])) {
+ $outdir = $args[0];
+ if (!is_dir($outdir)) {
+ echo "Output directory $outdir is not a directory.\n";
+ exit(1);
+ }
+} else {
+ print $helptext;
+ exit(1);
+}
+
+if ($plugin) {
+ $exclude = "*/extlib/*";
+ $indir = INSTALLDIR . "/plugins/" . $plugin;
+ if (!is_dir($indir)) {
+ $indir = INSTALLDIR . "/plugins";
+ $filename = "{$plugin}Plugin.php";
+ if (!file_exists("$indir/$filename")) {
+ echo "Can't find plugin $plugin.\n";
+ exit(1);
+ } else {
+ $pattern = $filename;
+ }
+ }
+} else {
+ $indir = INSTALLDIR;
+}
+
+function getVersion()
+{
+ // define('STATUSNET_VERSION', '0.9.1');
+ $source = file_get_contents(INSTALLDIR . '/lib/common.php');
+ if (preg_match('/^\s*define\s*\(\s*[\'"]STATUSNET_VERSION[\'"]\s*,\s*[\'"](.*)[\'"]\s*\)\s*;/m', $source, $matches)) {
+ return $matches[1];
+ }
+ return 'unknown';
+}
+
+
+$replacements = array(
+ '%%version%%' => getVersion(),
+ '%%indir%%' => $indir,
+ '%%pattern%%' => $pattern,
+ '%%outdir%%' => $outdir,
+ '%%htmlout%%' => $outdir,
+ '%%exclude%%' => $exclude,
+);
+
+var_dump($replacements);
+
+$template = file_get_contents(dirname(__FILE__) . '/doxygen.tmpl');
+$template = strtr($template, $replacements);
+
+$templateFile = tempnam(sys_get_temp_dir(), 'statusnet-doxygen');
+file_put_contents($templateFile, $template);
+
+$cmd = "doxygen " . escapeshellarg($templateFile);
+
+$retval = 0;
+passthru($cmd, $retval);
+
+if ($retval == 0) {
+ echo "Done!\n";
+ unlink($templateFile);
+ exit(0);
+} else {
+ echo "Failed! Doxygen config left in $templateFile\n";
+ exit($retval);
+}
+
diff --git a/scripts/doxygen.tmpl b/scripts/doxygen.tmpl
new file mode 100644
index 000000000..15d03e3bb
--- /dev/null
+++ b/scripts/doxygen.tmpl
@@ -0,0 +1,1516 @@
+# Doxyfile 1.6.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = StatusNet
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = %%version%%
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = %%outdir%%
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH = %%indir%%
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it parses.
+# With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this tag.
+# The format is ext=language, where ext is a file extension, and language is one of
+# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
+# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
+# use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = %%indir%%
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS = %%pattern%%
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+# fixme for some reason this doesn't work?
+
+EXCLUDE = config.php extlib local plugins scripts
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS = %%exclude%%
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = %%htmlout%%
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE =
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add.
+# For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION =
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list.
+
+USE_INLINE_TREES = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# When the SEARCHENGINE tag is enable doxygen will generate a search box for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP) or Qt help (GENERATE_QHP)
+# there is already a search function so this one should typically
+# be disabled.
+
+SEARCHENGINE = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = NO
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = YES
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/scripts/update_translations.php b/scripts/update_translations.php
index 45fe460a0..89d937e9d 100755
--- a/scripts/update_translations.php
+++ b/scripts/update_translations.php
@@ -31,7 +31,7 @@ define('LACONICA', true); // compatibility
require_once(INSTALLDIR . '/lib/common.php');
// Master StatusNet .pot file location (created by update_pot.sh)
-$statusnet_pot = INSTALLDIR . '/locale/statusnet.po';
+$statusnet_pot = INSTALLDIR . '/locale/statusnet.pot';
set_time_limit(60);
@@ -98,7 +98,7 @@ foreach ($languages as $language) {
$new_file = curl_get_file($file_url);
if ($new_file === FALSE) {
- echo "Couldn't retrieve .po file for $code: $file_url\n";
+ echo "Could not retrieve .po file for $code: $file_url\n";
continue;
}