Merge branch '0.9.x' into 1.0.x

Conflicts:
	EVENTS.txt
	plugins/TwitterBridge/daemons/twitterstatusfetcher.php
	plugins/TwitterBridge/twitterbasicauthclient.php
This commit is contained in:
Evan Prodromou 2010-09-09 15:01:03 -04:00
commit 4419e43f7f
63 changed files with 6660 additions and 2176 deletions

View File

@ -1102,3 +1102,11 @@ StartShowPageTitle: when beginning to show the page title <h1>
EndShowPageTitle: when done showing the page title <h1>
- $action: action being shown
StartDeleteOwnNotice: when a user starts to delete their own notice
- $user: the user doing the delete
- $notice: the notice being deleted
EndDeleteOwnNotice: when a user has deleted their own notice
- $user: the user doing the delete
- $notice: the notice being deleted

4
README
View File

@ -2,8 +2,8 @@
README
------
StatusNet 0.9.4 "Orange Crush"
16 August 2010
StatusNet 0.9.5 "What's The Frequency, Kenneth?"
10 September 2010
This is the README file for StatusNet, the Open Source microblogging
platform. It includes installation instructions, descriptions of

View File

@ -125,10 +125,10 @@ class ApiStatusesDestroyAction extends ApiAuthAction
}
if ($this->user->id == $this->notice->profile_id) {
$replies = new Reply;
$replies->get('notice_id', $this->notice_id);
$replies->delete();
$this->notice->delete();
if (Event::handle('StartDeleteOwnNotice', array($this->user, $this->notice))) {
$this->notice->delete();
Event::handle('EndDeleteOwnNotice', array($this->user, $this->notice));
}
$this->showNotice();
} else {
$this->clientError(

View File

@ -172,7 +172,10 @@ class DeletenoticeAction extends Action
}
if ($this->arg('yes')) {
$this->notice->delete();
if (Event::handle('StartDeleteOwnNotice', array($this->user, $this->notice))) {
$this->notice->delete();
Event::handle('EndDeleteOwnNotice', array($this->user, $this->notice));
}
}
$url = common_get_returnto();

View File

@ -583,7 +583,9 @@ class Notice extends Memcached_DataObject
if ($f2p->find()) {
while ($f2p->fetch()) {
$f = File::staticGet($f2p->file_id);
$att[] = clone($f);
if ($f) {
$att[] = clone($f);
}
}
}
return $att;

View File

@ -1007,7 +1007,7 @@ class Action extends HTMLOutputter // lawsuit
if ($this->isCacheable()) {
header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', 0 ) . ' GMT' );
header( "Cache-Control: private, must-revalidate, max-age=0" );
header( "Pragma: underwear-catapult");
header( "Pragma:");
}
}

View File

@ -303,7 +303,7 @@ class ApiAction extends Action
// StatusNet-specific
$twitter_user['statusnet:profile_url'] = $profile->profileurl;
$twitter_user['statusnet_profile_url'] = $profile->profileurl;
return $twitter_user;
}
@ -408,7 +408,7 @@ class ApiAction extends Action
// StatusNet-specific
$twitter_status['statusnet:html'] = $notice->rendered;
$twitter_status['statusnet_html'] = $notice->rendered;
return $twitter_status;
}
@ -620,7 +620,11 @@ class ApiAction extends Action
$this->showTwitterXmlStatus($value, 'retweeted_status');
break;
default:
$this->element($element, null, $value);
if (strncmp($element, 'statusnet_', 10) == 0) {
$this->element('statusnet:'.substr($element, 10), null, $value);
} else {
$this->element($element, null, $value);
}
}
}
$this->elementEnd($tag);
@ -645,6 +649,8 @@ class ApiAction extends Action
foreach($twitter_user as $element => $value) {
if ($element == 'status') {
$this->showTwitterXmlStatus($twitter_user['status']);
} else if (strncmp($element, 'statusnet_', 10) == 0) {
$this->element('statusnet:'.substr($element, 10), null, $value);
} else {
$this->element($element, null, $value);
}

View File

@ -22,10 +22,10 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
//exit with 200 response, if this is checking fancy from the installer
if (isset($_REQUEST['p']) && $_REQUEST['p'] == 'check-fancy') { exit; }
define('STATUSNET_VERSION', '0.9.4');
define('STATUSNET_VERSION', '0.9.5');
define('LACONICA_VERSION', STATUSNET_VERSION); // compatibility
define('STATUSNET_CODENAME', 'Orange Crush');
define('STATUSNET_CODENAME', 'What\'s The Frequency, Kenneth?');
define('AVATAR_PROFILE_SIZE', 96);
define('AVATAR_STREAM_SIZE', 48);

View File

@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:08+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:04+0000\n"
"Language-Team: Afrikaans\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: af\n"
"X-Message-Group: out-statusnet\n"
@ -3391,6 +3391,10 @@ msgid ""
"You can only tag people you are subscribed to or who are subscribed to you."
msgstr ""
#: actions/tagother.php:200
msgid "Could not save tags."
msgstr "Kon nie die etikette stoor nie."
#: actions/tagrss.php:35
msgid "No such tag."
msgstr "Onbekende etiket."
@ -3695,18 +3699,18 @@ msgid "Problem saving notice."
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -4432,7 +4436,7 @@ msgstr "Vriende van vriende (FOAF)"
#: lib/feedlist.php:64
msgid "Export data"
msgstr ""
msgstr "Eksporteer data"
#: lib/galleryaction.php:121
msgid "Filter tags"
@ -4520,7 +4524,7 @@ msgstr ""
#: lib/grouptagcloudsection.php:56
#, php-format
msgid "Tags in %s group's notices"
msgstr ""
msgstr "Etikette in groepsaankondigings van %s"
#. TRANS: Client exception 406
#: lib/htmloutputter.php:104
@ -4963,7 +4967,7 @@ msgstr ""
#: lib/personaltagcloudsection.php:56
#, php-format
msgid "Tags in %s's notices"
msgstr ""
msgstr "Etikette in die aankondigings van %s"
#: lib/plugin.php:115
msgid "Unknown"

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:12+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:10+0000\n"
"Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n"
"X-Message-Group: out-statusnet\n"
@ -2205,8 +2205,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "ليس نسق بيانات مدعوم."
@ -4199,13 +4199,13 @@ msgid "Problem saving notice."
msgstr "مشكلة أثناء حفظ الإشعار."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تي @%1$s %2$s"

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:18+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:16+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: arz\n"
"X-Message-Group: out-statusnet\n"
@ -2000,8 +2000,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr " مش نظام بيانات مدعوم."
@ -3821,13 +3821,13 @@ msgid "Problem saving notice."
msgstr "مشكله أثناء حفظ الإشعار."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "آر تى @%1$s %2$s"

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:23+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:22+0000\n"
"Language-Team: Bulgarian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: bg\n"
"X-Message-Group: out-statusnet\n"
@ -2272,8 +2272,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Неподдържан формат на данните"
@ -4281,13 +4281,13 @@ msgid "Problem saving notice."
msgstr "Проблем при записване на бележката."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:30+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:29+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: out-statusnet\n"
@ -4326,18 +4326,18 @@ msgid "Problem saving notice."
msgstr "Ur gudenn 'zo bet pa veze enrollet an ali."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:36+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:34+0000\n"
"Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n"
"X-Message-Group: out-statusnet\n"
@ -388,7 +388,7 @@ msgstr "No podeu deixar de seguir-vos a un mateix."
#: actions/apifriendshipsexists.php:91
msgid "Two valid IDs or screen_names must be supplied."
msgstr ""
msgstr "Cal proporcionar dos identificadors d'usuari o screen_names."
#: actions/apifriendshipsshow.php:134
msgid "Could not determine source user."
@ -2532,6 +2532,8 @@ msgstr ""
msgid ""
"This user doesn't allow nudges or hasn't confirmed or set their email yet."
msgstr ""
"Aquest usuari no permet que li cridin l'atenció o no ha confirmat encara "
"l'adreça electrònica."
#: actions/nudge.php:94
msgid "Nudge sent"
@ -2607,8 +2609,8 @@ msgid "Only %s URLs over plain HTTP please."
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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Format de data no suportat."
@ -3759,6 +3761,15 @@ 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
msgid ""
"%s hasn't added any favorite notices 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
msgid ""
@ -4978,18 +4989,18 @@ msgid "Problem saving notice."
msgstr "S'ha produït un problema en desar l'avís."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "S'ha proporcionat un tipus incorrecte per a saveKnownGroups"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -5645,6 +5656,24 @@ msgstr "Comanda completada"
msgid "Command failed"
msgstr "Comanda fallida"
#. TRANS: Command exception text shown when a notice ID is requested that does not exist.
#: lib/command.php:84 lib/command.php:108
msgid "Notice with that id does not exist."
msgstr "No existeix cap avís amb aquest identificador."
#. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
#. TRANS: Error text shown when a last user notice is requested and it does not exist.
#: lib/command.php:101 lib/command.php:630
msgid "User has no last notice."
msgstr "L'usuari no té un darrer avís."
#. 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:130
#, php-format
msgid "Could not find a user with nickname %s."
msgstr "No es pot 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:150
@ -5662,6 +5691,13 @@ msgstr "Perdona, aquesta comanda no està implementada."
msgid "It does not make a lot of sense to nudge yourself!"
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.
#: lib/command.php:240
#, php-format
msgid "Nudge sent to %s."
msgstr "S'ha cridat l'atenció a %s."
#. TRANS: User statistics text.
#. TRANS: %1$s is the number of other user the user is subscribed to.
#. TRANS: %2$s is the number of users that are subscribed to the user.
@ -5745,6 +5781,13 @@ msgstr ""
msgid "Error sending direct message."
msgstr "S'ha produït un error en enviar el missatge directe."
#. TRANS: Message given having repeated a notice from another user.
#. TRANS: %s is the name of the user for which the notice was repeated.
#: lib/command.php:554
#, php-format
msgid "Notice from %s repeated."
msgstr "S'ha repetit l'avís de %s."
#. TRANS: Error text shown when repeating a notice fails with an unknown reason.
#: lib/command.php:557
msgid "Error repeating notice."
@ -5769,6 +5812,11 @@ msgstr "S'ha enviat la resposta a %s."
msgid "Error saving notice."
msgstr "S'ha produït un error en desar l'avís."
#. TRANS: Error text shown when no username was provided when issuing a subscribe command.
#: lib/command.php:655
msgid "Specify the name of the user to subscribe to."
msgstr "Especifiqueu el nom de l'usuari al qual voleu subscriure-us."
#. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
#: lib/command.php:664
msgid "Can't subscribe to OMB profiles by command."
@ -7018,7 +7066,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "El tema conté uns noms d'extensió de fitxer que no són segurs."
#: lib/themeuploader.php:241
#, php-format

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,6 @@
# Translation of StatusNet to Danish
#
# Author@translatewiki.net: Brion
# Author@translatewiki.net: Mstenbaek
# --
# This file is distributed under the same license as the StatusNet package.
@ -8,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:42+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:39+0000\n"
"Language-Team: Danish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: da\n"
"X-Message-Group: out-statusnet\n"
@ -2279,90 +2280,281 @@ msgstr ""
"tid. \n"
"\n"
"Med venlig hilsen,\n"
"%2$s \n"
" "
"%2$s\n"
#: actions/joingroup.php:60
msgid "You must be logged in to join a group."
msgstr "Du skal være logget ind for at deltage i en gruppe."
#: actions/joingroup.php:88 actions/leavegroup.php:88
msgid "No nickname or ID."
msgstr "Ingen brugernavn eller ID."
#: actions/joingroup.php:141
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s blev medlem af gruppe n %2$s"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
msgstr "Du skal være logget på for at forlade en gruppe."
#. TRANS: Error text shown when trying to leave an existing group the user is not a member of.
#: actions/leavegroup.php:100 lib/command.php:389
msgid "You are not a member of that group."
msgstr "Du er ikke medlem af denne gruppe."
#: actions/leavegroup.php:137
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s forlod gruppe %2$s"
#: actions/login.php:102 actions/otp.php:62 actions/register.php:144
msgid "Already logged in."
msgstr "Allerede logget ind"
#: actions/login.php:148
msgid "Incorrect username or password."
msgstr ""
msgstr "Forkert brugernavn eller password."
#: actions/login.php:154 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Fejl ved indstilling af bruger. Du har sandsynligvis ikke tilladelse."
#: actions/login.php:210 actions/login.php:263 lib/logingroupnav.php:79
msgid "Login"
msgstr "Log ind"
#: actions/login.php:249
msgid "Login to site"
msgstr ""
msgstr "Login til webstedet"
#: actions/login.php:258 actions/register.php:485
msgid "Remember me"
msgstr ""
msgstr "Husk mig"
#: actions/login.php:259 actions/register.php:487
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
msgstr "Automatisk login fremover, ikke for computere, der deles!"
#: actions/login.php:269
msgid "Lost or forgotten password?"
msgstr ""
msgstr "Mistet eller glemt password?"
#: actions/login.php:288
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
"Af sikkerhedsmæssige årsager bedes du indtaste dit brugernavn og din "
"adgangskode før du ændrer dine indstillinger."
#: actions/login.php:292
msgid "Login with your username and password."
msgstr ""
msgstr "Log ind med dit brugernavn og password."
#: actions/login.php:295
#, php-format
msgid ""
"Don't have a username yet? [Register](%%action.register%%) a new account."
msgstr ""
"Har du ikke et brugernavn endnu? [Register] (%% action.register%%) en ny "
"konto."
#: actions/makeadmin.php:92
msgid "Only an admin can make another user an admin."
msgstr "Kun en admin kan gøre en anden bruger til admin."
#: actions/makeadmin.php:96
#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
msgstr "%1$s er allerede administrator for gruppen «%2$s»."
#: actions/makeadmin.php:133
#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
msgstr ""
msgstr "Kan ikke finde medlemskab oplysninger for %1$s i gruppen %2$s."
#: actions/makeadmin.php:146
#, php-format
msgid "Can't make %1$s an admin for group %2$s."
msgstr "Kan ikke gøre %1$s til admin for gruppen %2$s."
#: actions/newapplication.php:52
msgid "New Application"
msgstr "Nyt program"
#: actions/newapplication.php:64
msgid "You must be logged in to register an application."
msgstr "Du skal være logget ind for at registrere et program."
#: actions/newapplication.php:143
msgid "Use this form to register a new application."
msgstr "Brug denne formular til at registrere et nyt program."
#: actions/newapplication.php:176
msgid "Source URL is required."
msgstr "Kilde-URL er påkrævet."
#: actions/newapplication.php:258 actions/newapplication.php:267
msgid "Could not create application."
msgstr "Kunne ikke oprette programmet."
#: actions/newgroup.php:53
msgid "New group"
msgstr "Ny gruppe"
#: actions/newgroup.php:110
msgid "Use this form to create a new group."
msgstr "Brug denne formular for at oprette en ny gruppe."
#: actions/newmessage.php:71 actions/newmessage.php:231
msgid "New message"
msgstr "Ny besked"
#. TRANS: Error text shown when trying to send a direct message to a user without a mutual subscription (each user must be subscribed to the other).
#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:502
msgid "You can't send a message to this user."
msgstr "Du kan ikke sende en besked til denne bruger."
#. TRANS: Command exception text shown when trying to send a direct message to another user without content.
#. TRANS: Command exception text shown when trying to reply to a notice without providing content for the reply.
#: actions/newmessage.php:144 actions/newnotice.php:138 lib/command.php:481
#: lib/command.php:582
msgid "No content!"
msgstr "Ingen indhold!"
#: actions/newmessage.php:158
msgid "No recipient specified."
msgstr "Ingen modtager specificeret."
#. TRANS: Error text shown when trying to send a direct message to self.
#: actions/newmessage.php:164 lib/command.php:506
msgid ""
"Don't send a message to yourself; just say it to yourself quietly instead."
msgstr ""
"Du kan ikke sende en besked til dig selv, bare sig det stille til dig selv i "
"stedet."
#: actions/newmessage.php:181
msgid "Message sent"
msgstr "Beskeden er sendt"
#. TRANS: Message given have sent a direct message to another user.
#. TRANS: %s is the name of the other user.
#: actions/newmessage.php:185 lib/command.php:514
#, php-format
msgid "Direct message to %s sent."
msgstr "Direkte besked til %s sendt."
#: actions/newmessage.php:210 actions/newnotice.php:261 lib/channel.php:189
msgid "Ajax Error"
msgstr "Ajax Fejl"
#: actions/newnotice.php:69
msgid "New notice"
msgstr "Ny meddelelse"
#: actions/newnotice.php:227
msgid "Notice posted"
msgstr "Meddelelse gemt"
#: actions/noticesearch.php:68
#, php-format
msgid ""
"Search for notices on %%site.name%% by their contents. Separate search terms "
"by spaces; they must be 3 characters or more."
msgstr ""
"Søg efter indhold af meddelelser på %%site.name%%. Separer søgetermer med "
"mellemrum, de skal være 3 karakterer eller derover."
#: actions/noticesearch.php:78
msgid "Text search"
msgstr "Tekst søgning"
#: actions/noticesearch.php:91
#, php-format
msgid "Search results for \"%1$s\" on %2$s"
msgstr "Søgeresultater for \"%1$s\" på %2$s"
#: actions/noticesearch.php:121
#, php-format
msgid ""
"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
"status_textarea=%s)!"
msgstr ""
"Vær den første til at [skrive om dette emne] (%%%%action.newnotice%%%%?"
"status_textarea=%s) !"
#: actions/noticesearch.php:124
#, php-format
msgid ""
"Why not [register an account](%%%%action.register%%%%) and be the first to "
"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
msgstr ""
"Hvorfor ikke [registrere en konto] (%%%%action.register%%%%) og vær den "
"første til at [skrive om dette emne ] (%%%%action.newnotice%%%%?"
"status_textarea=%s) !"
#: actions/noticesearchrss.php:96
#, php-format
msgid "Updates with \"%s\""
msgstr "Opdateringer med \"%s\""
#: actions/noticesearchrss.php:98
#, php-format
msgid "Updates matching search term \"%1$s\" on %2$s!"
msgstr "Opdateringer matcher søgeordet \"%1$s\" på %2$s!"
#: actions/nudge.php:85
msgid ""
"This user doesn't allow nudges or hasn't confirmed or set their email yet."
msgstr ""
"Denne bruger tillader ikke at blive puffet, eller har ikke bekræftet eller "
"indstillet sin e-mail endnu."
#: actions/nudge.php:94
msgid "Nudge sent"
msgstr ""
msgstr "Puf sendt"
#: actions/nudge.php:97
msgid "Nudge sent!"
msgstr ""
msgstr "Puf sendt!"
#: actions/oauthappssettings.php:59
msgid "You must be logged in to list your applications."
msgstr "Du skal være logget ind for at liste dine applikationer."
#: actions/oauthappssettings.php:74
msgid "OAuth applications"
msgstr "OAuth programmer"
#: actions/oauthappssettings.php:85
msgid "Applications you have registered"
msgstr ""
msgstr "Programmer, du har registreret"
#: actions/oauthappssettings.php:135
#, php-format
msgid "You have not registered any applications yet."
msgstr "Du har ikke registreret nogen programmer endnu."
#: actions/oauthconnectionssettings.php:72
msgid "Connected applications"
msgstr "Tilsluttede programmer"
#: actions/oauthconnectionssettings.php:83
msgid "You have allowed the following applications to access you account."
msgstr ""
msgstr "Du har tilladt følgende programmer at få adgang din konto."
#: actions/oauthconnectionssettings.php:175
msgid "You are not a user of that application."
msgstr "Du er ikke bruger af dette program."
#: actions/oauthconnectionssettings.php:186
#, php-format
msgid "Unable to revoke access for app: %s."
msgstr ""
#: actions/oauthconnectionssettings.php:198
msgid "You have not authorized any applications to use your account."
msgstr ""
#: actions/oauthconnectionssettings.php:211
msgid "Developers can edit the registration settings for their applications "
msgstr ""
@ -2407,17 +2599,26 @@ msgstr ""
msgid "No login token requested."
msgstr ""
#: actions/otp.php:104
msgid "Login token expired."
msgstr ""
#: actions/passwordsettings.php:104
msgid "Old password"
msgstr "Gammel adgangskode"
#: actions/passwordsettings.php:108 actions/recoverpassword.php:235
msgid "New password"
msgstr "Ny adgangskode"
#: actions/passwordsettings.php:109
msgid "6 or more characters"
msgstr ""
#: actions/passwordsettings.php:113 actions/recoverpassword.php:240
msgid "Same as password above"
msgstr ""
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
#: actions/register.php:440
msgid "Confirm"
msgstr "Bekræft"
#: actions/passwordsettings.php:117
msgid "Change"
msgstr "Ændre"
#: actions/passwordsettings.php:154 actions/register.php:237
msgid "Password must be 6 or more characters."
@ -2427,18 +2628,10 @@ msgstr ""
msgid "Passwords don't match."
msgstr ""
#: actions/passwordsettings.php:165
msgid "Incorrect old password"
msgstr ""
#: actions/passwordsettings.php:181
msgid "Error saving user; invalid."
msgstr ""
#: actions/passwordsettings.php:186 actions/recoverpassword.php:381
msgid "Can't save new password."
msgstr ""
#. TRANS: Menu item for site administration
#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:384
msgid "Paths"
@ -2489,16 +2682,12 @@ msgstr ""
#: actions/pathsadminpanel.php:259
msgid "Theme"
msgstr ""
msgstr "Tema"
#: actions/pathsadminpanel.php:264
msgid "Theme server"
msgstr ""
#: actions/pathsadminpanel.php:268
msgid "Theme path"
msgstr ""
#: actions/pathsadminpanel.php:272
msgid "Theme directory"
msgstr ""
@ -2509,11 +2698,11 @@ msgstr ""
#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr ""
msgstr "Aldrig"
#: actions/pathsadminpanel.php:325
msgid "Always"
msgstr ""
msgstr "Altid"
#: actions/pathsadminpanel.php:329
msgid "Use SSL"
@ -2559,7 +2748,7 @@ msgstr ""
#: actions/profilesettings.php:115 actions/register.php:460
#: lib/applicationeditform.php:244 lib/groupeditform.php:161
msgid "Homepage"
msgstr ""
msgstr "Hjemmeside"
#: actions/profilesettings.php:117 actions/register.php:462
msgid "URL of your homepage, blog, or profile on another site"
@ -2578,6 +2767,13 @@ msgstr ""
msgid "Bio"
msgstr ""
#: actions/profilesettings.php:132 actions/register.php:478
#: actions/showgroup.php:265 actions/tagother.php:112
#: actions/userauthorization.php:166 lib/groupeditform.php:177
#: lib/userprofile.php:165
msgid "Location"
msgstr "Lokation"
#: actions/profilesettings.php:134 actions/register.php:480
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@ -2700,9 +2896,9 @@ msgstr ""
msgid "Your nickname on this server, or your registered email address."
msgstr ""
#: actions/recoverpassword.php:209
msgid "Recover password"
msgstr ""
#: actions/recoverpassword.php:208
msgid "Reset password"
msgstr "Nulstil adgangskode"
#: actions/recoverpassword.php:210 actions/recoverpassword.php:335
msgid "Password recovery requested"
@ -2718,7 +2914,7 @@ msgstr ""
#: actions/recoverpassword.php:243
msgid "Reset"
msgstr ""
msgstr "Afbryd"
#: actions/recoverpassword.php:282
msgid "No user with that email address or username."
@ -2985,10 +3181,6 @@ msgstr ""
msgid "URL"
msgstr ""
#: actions/showgroup.php:293 lib/groupeditform.php:184
msgid "Aliases"
msgstr ""
#: actions/showgroup.php:393 actions/showgroup.php:445 lib/groupnav.php:91
msgid "Members"
msgstr ""
@ -3094,10 +3286,6 @@ msgstr ""
msgid "URL used for credits link in footer of each page"
msgstr ""
#: actions/siteadminpanel.php:245
msgid "Local"
msgstr ""
#: actions/siteadminpanel.php:256
msgid "Default timezone"
msgstr ""
@ -3134,10 +3322,6 @@ msgstr ""
msgid "How long users must wait (in seconds) to post the same thing again."
msgstr ""
#: actions/sitenoticeadminpanel.php:67
msgid "Edit site-wide message"
msgstr ""
#: actions/sitenoticeadminpanel.php:113
msgid "Max length for the site-wide notice is 255 chars."
msgstr ""
@ -3192,11 +3376,6 @@ msgid ""
"email but isn't listed here, send email to let us know at %s."
msgstr ""
#. TRANS: Message given saving SMS phone number confirmation code without having provided one.
#: actions/smssettings.php:548
msgid "No code entered"
msgstr ""
#. TRANS: Menu item for site administration
#: actions/snapshotadminpanel.php:54 actions/snapshotadminpanel.php:196
#: lib/adminpanelaction.php:408
@ -3404,10 +3583,6 @@ msgid ""
"click “Reject”."
msgstr ""
#: actions/userauthorization.php:219
msgid "Reject"
msgstr ""
#: actions/userauthorization.php:232
msgid "No authorization request!"
msgstr ""
@ -3597,12 +3772,12 @@ msgid "Problem saving notice."
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
msgstr ""
@ -3647,11 +3822,6 @@ msgstr ""
msgid "Change email handling"
msgstr ""
#. TRANS: Link title attribute in user account settings menu.
#: lib/accountsettingsaction.php:144
msgid "Other options"
msgstr ""
#. TRANS: Link description in user account settings menu.
#: lib/accountsettingsaction.php:146
msgid "Other"
@ -3967,13 +4137,6 @@ msgstr ""
msgid "It does not make a lot of sense to nudge yourself!"
msgstr ""
#. TRANS: Message given having nudged another user.
#. TRANS: %s is the nickname of the user that was nudged.
#: lib/command.php:240
#, php-format
msgid "Nudge sent to %s."
msgstr ""
#. TRANS: User statistics text.
#. TRANS: %1$s is the number of other user the user is subscribed to.
#. TRANS: %2$s is the number of users that are subscribed to the user.
@ -3992,20 +4155,6 @@ msgstr ""
msgid "Fullname: %s"
msgstr ""
#. TRANS: Whois output. %s is the location of the queried user.
#. TRANS: Profile info line in new-subscriber notification e-mail
#: lib/command.php:438 lib/mail.php:268
#, php-format
msgid "Location: %s"
msgstr ""
#. TRANS: Whois output. %s is the homepage of the queried user.
#. TRANS: Profile info line in new-subscriber notification e-mail
#: lib/command.php:442 lib/mail.php:271
#, php-format
msgid "Homepage: %s"
msgstr ""
#. TRANS: Whois output. %s is the bio information of the queried user.
#: lib/command.php:446
#, php-format
@ -4032,13 +4181,6 @@ msgstr ""
msgid "Error sending direct message."
msgstr ""
#. TRANS: Message given having repeated a notice from another user.
#. TRANS: %s is the name of the user for which the notice was repeated.
#: lib/command.php:554
#, php-format
msgid "Notice from %s repeated."
msgstr ""
#. TRANS: Message given if content of a notice for a reply is too long.
#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
#: lib/command.php:592
@ -4046,13 +4188,6 @@ msgstr ""
msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
msgstr ""
#. TRANS: Text shown having sent a reply to a notice successfully.
#. TRANS: %s is the nickname of the user of the notice the reply was sent to.
#: lib/command.php:603
#, php-format
msgid "Reply to %s sent."
msgstr ""
#. TRANS: Error text shown when no username was provided when issuing a subscribe command.
#: lib/command.php:655
msgid "Specify the name of the user to subscribe to."
@ -4263,10 +4398,6 @@ msgstr ""
msgid "Extra nicknames for the group, comma- or space- separated, max %d"
msgstr ""
#: lib/groupnav.php:113
msgid "Logo"
msgstr ""
#: lib/groupnav.php:114
#, php-format
msgid "Add or edit %s logo"
@ -4321,14 +4452,6 @@ msgstr ""
msgid "Unknown inbox source %d."
msgstr ""
#: lib/joinform.php:114
msgid "Join"
msgstr ""
#: lib/logingroupnav.php:80
msgid "Login with a username and password"
msgstr ""
#: lib/logingroupnav.php:86
msgid "Sign up for a new account"
msgstr ""
@ -4638,22 +4761,10 @@ msgstr ""
msgid "web"
msgstr ""
#: lib/noticelist.php:568
msgid "in context"
msgstr ""
#: lib/noticelist.php:631
msgid "Reply"
msgstr ""
#: lib/noticelist.php:675
msgid "Notice repeated"
msgstr ""
#: lib/nudgeform.php:128
msgid "Nudge"
msgstr ""
#: lib/oauthstore.php:291
msgid "Error inserting avatar"
msgstr ""
@ -4699,10 +4810,6 @@ msgstr ""
msgid "User ID"
msgstr ""
#: lib/profileaction.php:196
msgid "Member since"
msgstr ""
#. TRANS: Average count of posts made per day since account registration
#: lib/profileaction.php:235
msgid "Daily average"
@ -4848,10 +4955,6 @@ msgstr ""
msgid "Edit"
msgstr ""
#: lib/userprofile.php:288
msgid "Message"
msgstr ""
#: lib/userprofile.php:326
msgid "Moderate"
msgstr ""

View File

@ -18,12 +18,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:46+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:44+0000\n"
"Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: out-statusnet\n"
@ -2628,8 +2628,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Kein unterstütztes Datenformat."
@ -5008,19 +5008,19 @@ msgid "Problem saving notice."
msgstr "Problem bei Speichern der Nachricht."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
"Der Methode saveKnownGroups wurde ein schlechter Wert zur Verfügung gestellt"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7077,7 +7077,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "Theme enthält unsichere Dateierweiterungen; könnte unsicher sein."
#: lib/themeuploader.php:241
#, php-format

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:50+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:46+0000\n"
"Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: el\n"
"X-Message-Group: out-statusnet\n"
@ -1798,8 +1798,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr ""
@ -3537,18 +3537,18 @@ msgid "Problem saving notice."
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""

View File

@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:59+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:55+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: en-gb\n"
"X-Message-Group: out-statusnet\n"
@ -2557,8 +2557,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Not a supported data format."
@ -4732,18 +4732,18 @@ msgid "Problem saving notice."
msgstr "Problem saving notice."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -12,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:45:53+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:33:49+0000\n"
"Language-Team: Esperanto\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: eo\n"
"X-Message-Group: out-statusnet\n"
@ -2570,8 +2570,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Bonvolu, nur %s-URL per plata HTTP."
#. TRANS: Client error on an API request with an unsupported data format.
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Datumformato ne subteniĝas."
@ -4538,18 +4538,18 @@ msgid "Problem saving notice."
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -4,6 +4,7 @@
# Author@translatewiki.net: Crazymadlover
# Author@translatewiki.net: Locos epraix
# Author@translatewiki.net: McDutchie
# Author@translatewiki.net: Patcito
# Author@translatewiki.net: PerroVerd
# Author@translatewiki.net: Peter17
# Author@translatewiki.net: Translationista
@ -14,12 +15,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:04+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-09 17:36: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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: es\n"
"X-Message-Group: out-statusnet\n"
@ -2612,8 +2613,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "No es un formato de dato soportado"
@ -4994,18 +4995,18 @@ msgid "Problem saving notice."
msgstr "Hubo un problema al guardar el aviso."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Mal tipo proveído a saveKnownGroups"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -5655,6 +5656,32 @@ msgstr "Comando completo"
msgid "Command failed"
msgstr "Comando falló"
#. TRANS: Command exception text shown when a notice ID is requested that does not exist.
#: lib/command.php:84 lib/command.php:108
msgid "Notice with that id does not exist."
msgstr "Ningún aviso con ese ID existe."
#. TRANS: Command exception text shown when a last user notice is requested and it does not exist.
#. TRANS: Error text shown when a last user notice is requested and it does not exist.
#: lib/command.php:101 lib/command.php:630
msgid "User has no last notice."
msgstr "El/La usuario/a no tiene ningún último aviso"
#. 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:130
#, php-format
msgid "Could not find a user with nickname %s."
msgstr "No se pudo encontrar el usuario con el apodo %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:150
#, php-format
msgid "Could not find a local user with nickname %s."
msgstr ""
"No se pudo encontrar a ningún usuario local con el nombre de usuario %s."
#. TRANS: Error text shown when an unimplemented command is given.
#: lib/command.php:185
msgid "Sorry, this command is not yet implemented."
@ -5665,6 +5692,13 @@ msgstr "Disculpa, todavía no se implementa este comando."
msgid "It does not make a lot of sense to nudge yourself!"
msgstr "¡No tiene sentido darte un toque a ti mismo!"
#. TRANS: Message given having nudged another user.
#. TRANS: %s is the nickname of the user that was nudged.
#: lib/command.php:240
#, php-format
msgid "Nudge sent to %s."
msgstr "Zumbido enviado a %s."
#. TRANS: User statistics text.
#. TRANS: %1$s is the number of other user the user is subscribed to.
#. TRANS: %2$s is the number of users that are subscribed to the user.
@ -5685,6 +5719,20 @@ msgstr ""
msgid "Notice marked as fave."
msgstr "Aviso marcado como favorito."
#. 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.
#: lib/command.php:360
#, php-format
msgid "%1$s joined group %2$s."
msgstr "%1$s se unió al grupo %2$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.
#: lib/command.php:408
#, php-format
msgid "%1$s left group %2$s."
msgstr "%1$s dejo el grupo %2$s."
#. TRANS: Whois output. %s is the full name of the queried user.
#: lib/command.php:434
#, php-format
@ -5733,11 +5781,32 @@ msgstr "Mensaje muy largo - máximo %1$d caracteres, enviaste %2$d"
msgid "Error sending direct message."
msgstr "Error al enviar mensaje directo."
#. TRANS: Message given having repeated a notice from another user.
#. TRANS: %s is the name of the user for which the notice was repeated.
#: lib/command.php:554
#, php-format
msgid "Notice from %s repeated."
msgstr "Se ha repetido el aviso de %s."
#. TRANS: Error text shown when repeating a notice fails with an unknown reason.
#: lib/command.php:557
msgid "Error repeating notice."
msgstr "Ha habido un error al repetir el aviso."
#. TRANS: Message given if content of a notice for a reply is too long.
#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
#: lib/command.php:592
#, php-format
msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
msgstr "Mensaje demasiado largo - el máximo es de 140 caracteres, enviaste %d."
#. TRANS: Text shown having sent a reply to a notice successfully.
#. TRANS: %s is the nickname of the user of the notice the reply was sent to.
#: lib/command.php:603
#, php-format
msgid "Reply to %s sent."
msgstr "Se ha enviado la respuesta a %s."
#. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
#: lib/command.php:606
msgid "Error saving notice."
@ -5746,18 +5815,32 @@ msgstr "Error al guardar el aviso."
#. TRANS: Error text shown when no username was provided when issuing a subscribe command.
#: lib/command.php:655
msgid "Specify the name of the user to subscribe to."
msgstr ""
msgstr "Especificar el nombre del usuario al cual se quiere suscribir."
#. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
#: lib/command.php:664
msgid "Can't subscribe to OMB profiles by command."
msgstr "No te puedes suscribir a perfiles de OMB por orden."
#. TRANS: Text shown after having subscribed to another user successfully.
#. TRANS: %s is the name of the user the subscription was requested for.
#: lib/command.php:672
#, php-format
msgid "Subscribed to %s."
msgstr "Suscrito a %s."
#. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
#. TRANS: Error text shown when no username was provided when issuing the command.
#: lib/command.php:694 lib/command.php:804
msgid "Specify the name of the user to unsubscribe from."
msgstr ""
msgstr "Especifica el nombre del usuario del cual cancelar la suscripción."
#. TRANS: Text shown after having unsubscribed from another user successfully.
#. TRANS: %s is the name of the user the unsubscription was requested for.
#: lib/command.php:705
#, php-format
msgid "Unsubscribed from %s."
msgstr "Cancelada la suscripción a %s."
#. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
#. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
@ -5788,7 +5871,7 @@ msgstr "No se puede activar notificación."
#. TRANS: Error text shown when issuing the login command while login is disabled.
#: lib/command.php:771
msgid "Login command is disabled."
msgstr ""
msgstr "El comando de inicio de sesión está inhabilitado."
#. TRANS: Text shown after issuing the login command successfully.
#. TRANS: %s is a logon link..
@ -5796,6 +5879,15 @@ msgstr ""
#, php-format
msgid "This link is useable only once and is valid for only 2 minutes: %s."
msgstr ""
"Este enlace es utilizable sólo una vez y es válido sólo durante dos minutos: "
"%s."
#. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
#. TRANS: %s is the name of the user the unsubscription was requested for.
#: lib/command.php:813
#, php-format
msgid "Unsubscribed %s."
msgstr "Cancelada la suscripción a %s."
#. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
#: lib/command.php:831
@ -6669,7 +6761,7 @@ msgstr "en"
#: lib/noticelist.php:502
msgid "web"
msgstr ""
msgstr "red"
#: lib/noticelist.php:568
msgid "in context"
@ -6979,6 +7071,8 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
"El tema contiene nombres de extensiones de archivo inseguras y puede ser "
"peligroso."
#: lib/themeuploader.php:241
#, php-format

View File

@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:12+0000\n"
"POT-Creation-Date: 2010-09-09 17:35+0000\n"
"PO-Revision-Date: 2010-09-09 17:36:54+0000\n"
"Last-Translator: Ahmad Sufi Mahmudi\n"
"Language-Team: Persian\n"
"MIME-Version: 1.0\n"
@ -22,7 +22,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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
#. TRANS: Page title
@ -442,6 +442,11 @@ msgstr "نام مکان خیلی طولانی است (حداکثر ۲۵۵ نوی
msgid "Too many aliases! Maximum %d."
msgstr "نام‌های مستعار بسیار زیاد هستند! حداکثر %d."
#: actions/apigroupcreate.php:267
#, php-format
msgid "Invalid alias: \"%s\"."
msgstr "نام مستعار نامعتبر است: «%s»."
#: actions/apigroupcreate.php:276 actions/editgroup.php:232
#: actions/newgroup.php:172
#, php-format
@ -506,6 +511,10 @@ msgstr "%s گروه"
msgid "groups on %s"
msgstr "گروه‌ها در %s"
#: actions/apimediaupload.php:99
msgid "Upload failed."
msgstr "بارگذاری شکست خورد."
#: actions/apioauthauthorize.php:101
msgid "No oauth_token parameter provided."
msgstr "هیچ پارامتر oauth_token آماده نشده است."
@ -530,7 +539,7 @@ msgstr "رمز نامعتبر است."
#: actions/unsubscribe.php:69 actions/userauthorization.php:52
#: lib/designsettings.php:294
msgid "There was a problem with your session token. Try again, please."
msgstr "مشکلی در دریافت جلسه‌ی شما وجود دارد. لطفا بعدا سعی کنید."
msgstr "مشکلی در دریافت نشست شما وجود دارد. لطفا بعدا سعی کنید."
#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
@ -745,7 +754,7 @@ msgstr "بدون اندازه."
#: actions/avatarbynickname.php:69
msgid "Invalid size."
msgstr "اندازه‌ی نادرست"
msgstr "اندازه نادرست است."
#. TRANS: Link description in user account settings menu.
#: actions/avatarsettings.php:67 actions/showgroup.php:230
@ -799,7 +808,8 @@ msgstr "هیچ پرونده‌ای بارگذاری نشد."
#: actions/avatarsettings.php:332
msgid "Pick a square area of the image to be your avatar"
msgstr "یک مربع از عکس خود را انتخاب کنید تا چهره‌ی شما باشد."
msgstr ""
"یک مربع از عکس خود را انتخاب کنید تا به عنوان تصویر چهرهٔ شما انتخاب شود."
#: actions/avatarsettings.php:347 actions/grouplogo.php:380
msgid "Lost our file data."
@ -1134,9 +1144,15 @@ msgstr "پوستهٔ وب‌گاه"
msgid "Theme for the site."
msgstr "پوسته برای وب‌گاه"
#: actions/designadminpanel.php:467
msgid "Custom theme"
msgstr "پوستهٔ اختصاصی"
#: actions/designadminpanel.php:471
msgid "You can upload a custom StatusNet theme as a .ZIP archive."
msgstr ""
"شما می‌توانید یک پوستهٔ اختصاصی StatusNet را به‌عنوان یک آرشیو .ZIP بارگذاری "
"کنید."
#: actions/designadminpanel.php:486 lib/designsettings.php:101
msgid "Change background image"
@ -1196,11 +1212,11 @@ msgstr "پیوندها"
#: actions/designadminpanel.php:651
msgid "Advanced"
msgstr ""
msgstr "پیشرفته"
#: actions/designadminpanel.php:655
msgid "Custom CSS"
msgstr ""
msgstr "CSS اختصاصی"
#: actions/designadminpanel.php:676 lib/designsettings.php:247
msgid "Use defaults"
@ -1637,7 +1653,7 @@ msgstr "کاربران ویژه"
#: actions/featured.php:71
#, php-format
msgid "Featured users, page %d"
msgstr "کاربران ویژه، صفحه‌ی %d"
msgstr "کاربران ویژه، صفحهٔ %d"
#: actions/featured.php:99
#, php-format
@ -1682,11 +1698,11 @@ msgstr "شما شناسایی نشده اید."
#: actions/finishremotesubscribe.php:113
msgid "Could not convert request token to access token."
msgstr "نمی‌توان نشانه‌ی درخواست شما را به نشانه‌ی دسترسی تبدیل کرد."
msgstr "نمی‌توان نشانهٔ درخواست شما را به نشانهٔ دسترسی تبدیل کرد."
#: actions/finishremotesubscribe.php:118
msgid "Remote service uses unknown version of OMB protocol."
msgstr "خدمات مورد نظر از نسخه‌ی نا مفهومی از قرارداد OMB استفاده می‌کند."
msgstr "خدمات مورد نظر از نسخهٔ نامفهومی از قرارداد OMB استفاده می‌کند."
#: actions/finishremotesubscribe.php:138
msgid "Error updating remote profile."
@ -1813,7 +1829,7 @@ msgstr "شما می‌توانید یک نشان برای گروه خود با
#: actions/grouplogo.php:365
msgid "Pick a square area of the image to be the logo."
msgstr "یک ناحیه‌ی مربع از تصویر را انتخاب کنید تا به عنوان نشان باشد."
msgstr "یک ناحیه‌ی مربع از تصویر را انتخاب کنید تا به عنوان نشان انتخاب شود."
#: actions/grouplogo.php:399
msgid "Logo updated."
@ -1864,7 +1880,7 @@ msgstr "این کاربر یک مدیر شود"
#: lib/atomgroupnoticefeed.php:63 lib/atomusernoticefeed.php:69
#, php-format
msgid "%s timeline"
msgstr "خط زمانی %s"
msgstr "خطزمانی %s"
#. TRANS: Message is used as link description. %1$s is a username, %2$s is a site name.
#: actions/grouprss.php:142
@ -2026,7 +2042,7 @@ msgstr "پاسخ کسانی که من آن‌ها را دنبال نمی‌کن
#. TRANS: Checkbox label in IM preferences form.
#: actions/imsettings.php:179
msgid "Publish a MicroID for my Jabber/GTalk address."
msgstr "یک شناسه‌ی کوچک برای Jabber/Gtalk من منتشر کن."
msgstr "یک شناسهٔ کوچک برای Jabber/Gtalk من منتشر کن."
#. TRANS: Confirmation message for successful IM preferences save.
#: actions/imsettings.php:287 actions/othersettings.php:180
@ -2041,12 +2057,12 @@ msgstr "هیچ شناسهٔ Jabber ای وجود ندارد."
#. TRANS: Message given saving IM address that cannot be normalised.
#: actions/imsettings.php:317
msgid "Cannot normalize that Jabber ID"
msgstr "نمی‌توان شناسه‌ی Jabber را تایید کرد"
msgstr "نمی‌توان شناسهٔ Jabber را تایید کرد"
#. TRANS: Message given saving IM address that not valid.
#: actions/imsettings.php:322
msgid "Not a valid Jabber ID"
msgstr "شناسه‌ی Jabber درست نیست"
msgstr "شناسهٔ Jabber درست نیست"
#. TRANS: Message given saving IM address that is already set.
#: actions/imsettings.php:326
@ -2088,7 +2104,7 @@ msgstr "تایید پیام‌رسان فوری لغو شد."
#. TRANS: registered for the active user.
#: actions/imsettings.php:424
msgid "That is not your Jabber ID."
msgstr "این شناسه‌ی Jabber شما نیست."
msgstr "این شناسهٔ Jabber شما نیست."
#. TRANS: Message given after successfully removing a registered IM address.
#: actions/imsettings.php:447
@ -2480,6 +2496,8 @@ msgstr "پیام‌هایی که با جست‌و‌جوی عبارت »%1$s«
msgid ""
"This user doesn't allow nudges or hasn't confirmed or set their email yet."
msgstr ""
"این کاربر اجازهٔ یادآوری‌کردن را نداده است یا پست‌الکترونیک خود را تایید یا "
"تعیین نکرده است."
#: actions/nudge.php:94
msgid "Nudge sent"
@ -2554,8 +2572,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "لطفا تنها از نشانی‌های اینترنتی %s از راه HTTP ساده استفاده کنید."
#. TRANS: Client error on an API request with an unsupported data format.
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست."
@ -2585,7 +2603,7 @@ msgstr "کوتاه‌کردن نشانی‌های اینترنتی با"
#: actions/othersettings.php:117
msgid "Automatic shortening service to use."
msgstr "کوتاه‌کننده‌ی نشانی مورد استفاده."
msgstr "کوتاه‌کنندهٔ نشانی مورد استفاده."
#: actions/othersettings.php:122
msgid "View profile designs"
@ -2597,7 +2615,7 @@ msgstr "نمایش دادن یا پنهان کردن طراحی‌های نما
#: actions/othersettings.php:153
msgid "URL shortening service is too long (max 50 chars)."
msgstr "کوتاه کننده‌ی نشانی بسیار طولانی است (بیش‌تر از ۵۰ حرف)."
msgstr "کوتاه کنندهٔ نشانی بسیار طولانی است (بیش‌تر از ۵۰ حرف)."
#: actions/otp.php:69
msgid "No user ID specified."
@ -2708,22 +2726,22 @@ msgstr "تنظیمات و نشانی محلی این وب‌گاه StatusNet."
#: actions/pathsadminpanel.php:157
#, php-format
msgid "Theme directory not readable: %s."
msgstr "شاخه‌ی پوسته‌ها قابل خواندن نیست: %s."
msgstr "شاخهٔ پوسته‌ها قابل خواندن نیست: %s."
#: actions/pathsadminpanel.php:163
#, php-format
msgid "Avatar directory not writable: %s."
msgstr "شاخه‌ی تصویر چهره‌ها قابل نوشتن نیست: %s."
msgstr "شاخهٔ تصویر چهره‌ها قابل نوشتن نیست: %s."
#: actions/pathsadminpanel.php:169
#, php-format
msgid "Background directory not writable: %s."
msgstr "شاخه‌ی پس زمینه‌ها قابل نوشتن نیست: %s."
msgstr "شاخهٔ پس زمینه‌ها قابل نوشتن نیست: %s."
#: actions/pathsadminpanel.php:177
#, php-format
msgid "Locales directory not readable: %s."
msgstr "پوشه‌ی تنظیمات محلی قابل خواندن نیست: %s."
msgstr "پوشهٔ تنظیمات محلی قابل خواندن نیست: %s."
#: actions/pathsadminpanel.php:183
msgid "Invalid SSL server. The maximum length is 255 characters."
@ -2813,6 +2831,10 @@ msgstr "مسیر تصاویر پیش‌زمینه"
msgid "Background directory"
msgstr "شاخهٔ تصاویر پیش‌زمینه"
#: actions/pathsadminpanel.php:320
msgid "SSL"
msgstr "SSL"
#: actions/pathsadminpanel.php:323 actions/snapshotadminpanel.php:202
msgid "Never"
msgstr "هیچ وقت"
@ -2932,6 +2954,10 @@ msgstr "شرح‌حال"
msgid "Location"
msgstr "موقعیت"
#: actions/profilesettings.php:134 actions/register.php:480
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "مکانی که شما در آن هستید، مانند «شهر، ایالت (یا استان)، کشور»"
#: actions/profilesettings.php:138
msgid "Share my current location when posting notices"
msgstr "مکان کنونی من هنگام فرستادن پیام‌ها به اشتراک گذاشته شود"
@ -2977,7 +3003,7 @@ msgstr "شرح‌حال خیلی طولانی است (بیشینه %d نویسه
#: actions/profilesettings.php:235 actions/siteadminpanel.php:151
msgid "Timezone not selected."
msgstr "منطقه‌ی زمانی انتخاب نشده است."
msgstr "منطقهٔ زمانی انتخاب نشده است."
#: actions/profilesettings.php:241
msgid "Language is too long (max 50 chars)."
@ -3021,11 +3047,11 @@ msgstr "نمی‌توان جریان عمومی را دریافت کرد."
#: actions/public.php:130
#, php-format
msgid "Public timeline, page %d"
msgstr "خط زمانی عمومی، صفحه‌ی %d"
msgstr "خط‌زمانی عمومی، صفحهٔ %d"
#: actions/public.php:132 lib/publicgroupnav.php:79
msgid "Public timeline"
msgstr "خط زمانی عمومی"
msgstr "خطزمانی عمومی"
#: actions/public.php:160
msgid "Public Stream Feed (RSS 1.0)"
@ -3256,7 +3282,7 @@ msgstr "ثبت نام"
#: actions/register.php:142
msgid "Registration not allowed."
msgstr "اجازه‌ی ثبت نام داده نشده است."
msgstr "اجازهٔ ثبت‌نام داده نشده است."
#: actions/register.php:205
msgid "You can't register if you don't agree to the license."
@ -3523,6 +3549,10 @@ msgstr "شما نمی‌توانید نقش‌های کاربری را در ای
msgid "User doesn't have this role."
msgstr "کاربر این نقش را ندارد."
#: actions/rsd.php:146 actions/version.php:159
msgid "StatusNet"
msgstr "StatusNet"
#. TRANS: Menu item for site administration
#: actions/sessionsadminpanel.php:54 actions/sessionsadminpanel.php:170
#: lib/adminpanelaction.php:392
@ -3667,6 +3697,15 @@ msgstr ""
"که دوست دارید کلیک کنید تا آن‌ها را برای بعد چوب‌الفها کنید یا یک نشانه روی "
"آن‌ها بگذارید."
#: actions/showfavorites.php:208
#, php-format
msgid ""
"%s hasn't added any favorite notices yet. Post something interesting they "
"would add to their favorites :)"
msgstr ""
"%s تاکنون هیچ پیامی را به برگزیده‌هایش اضافه نکرده است. چیز جالبی بفرستید که "
"ممکن است به برگزیده‌هایشان اضافه کنند :)"
#: actions/showfavorites.php:212
#, php-format
msgid ""
@ -3914,6 +3953,11 @@ msgstr "نام وب‌گاه باید طولی غیر صفر داشته باشد
msgid "You must have a valid contact email address."
msgstr "شما باید یک نشانی پست الکترونیکی معتبر برای ارتباط داشته باشید."
#: actions/siteadminpanel.php:159
#, php-format
msgid "Unknown language \"%s\"."
msgstr "زبان «%s» ناشناس است."
#: actions/siteadminpanel.php:165
msgid "Minimum text limit is 0 (unlimited)."
msgstr "کمینهٔ محدودیت متن ۰ است (نامحدود)."
@ -4334,6 +4378,10 @@ msgstr ""
msgid "%s is not listening to anyone."
msgstr "%s هیچ‌کس را دنبال نمی‌کند."
#: actions/subscriptions.php:208
msgid "Jabber"
msgstr "Jabber"
#: actions/subscriptions.php:222 lib/connectsettingsaction.php:115
msgid "SMS"
msgstr "پیامک"
@ -4616,6 +4664,11 @@ msgstr ""
msgid "Updates from %1$s on %2$s!"
msgstr "به روز رسانی‌های %1$s در %2$s"
#: actions/version.php:75
#, php-format
msgid "StatusNet %s"
msgstr "StatusNet %s"
#: actions/version.php:155
#, php-format
msgid ""
@ -4710,6 +4763,11 @@ msgstr ""
"یک پرونده با این حجم زیاد می‌تواند از سهمیهٔ کاربری ماهانهٔ شما از %d بایت "
"بگذرد."
#. TRANS: Client exception thrown if a file upload does not have a valid name.
#: classes/File.php:248 classes/File.php:263
msgid "Invalid filename."
msgstr "نام‌پرونده نادرست است."
#. TRANS: Exception thrown when joining a group fails.
#: classes/Group_member.php:42
msgid "Group join failed."
@ -4740,7 +4798,7 @@ msgstr "نمی‌توان رمز ورود را برای %s ایجاد کرد"
#. TRANS: Exception thrown when database name or Data Source Name could not be found.
#: classes/Memcached_DataObject.php:533
msgid "No database name or DSN found anywhere."
msgstr ""
msgstr "هیچ پایگاه‌داده یا DSN هیچ‌جا پیدا نشد."
#. TRANS: Client exception thrown when a user tries to send a direct message while being banned from sending them.
#: classes/Message.php:46
@ -4757,7 +4815,7 @@ msgstr "پیغام نمی تواند درج گردد"
#: classes/Notice.php:98
#, php-format
msgid "No such profile (%1$d) for notice (%2$d)."
msgstr ""
msgstr "چنین نمایه‌ای (%1$d) برای پیام (%2$d) وجود ندارد."
#. TRANS: Server exception. %s are the error details.
#: classes/Notice.php:193
@ -4804,18 +4862,18 @@ msgid "Problem saving notice."
msgstr "هنگام ذخیرهٔ پیام مشکلی ایجاد شد."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -4825,7 +4883,7 @@ msgstr "RT @%1$s %2$s"
#: classes/Profile.php:737
#, php-format
msgid "Cannot revoke role \"%1$s\" for user #%2$d; does not exist."
msgstr ""
msgstr "نمی‌توان نقش «%1$s» را از کاربر #%2$d گرفت، وجود ندارد."
#. TRANS: Exception thrown when trying to revoke a role for a user with a failing database query.
#. TRANS: %1$s is the role name, %2$s is the user ID (number).
@ -4833,6 +4891,12 @@ msgstr ""
#, php-format
msgid "Cannot revoke role \"%1$s\" for user #%2$d; database error."
msgstr ""
"نمی‌توان نقش «%1$s» را از کاربر #%2$d گرفت، خطا در پایگاه داده وجود دارد."
#. TRANS: Exception thrown when a right for a non-existing user profile is checked.
#: classes/Remote_profile.php:54
msgid "Missing profile."
msgstr "نمایه وجود ندارد."
#. TRANS: Exception thrown when trying to subscribe while being banned from subscribing.
#: classes/Subscription.php:75 lib/oauthstore.php:465
@ -5396,7 +5460,7 @@ msgstr "تنها خواندنی"
#: lib/applicationlist.php:144
#, php-format
msgid "Approved %1$s - \"%2$s\" access."
msgstr ""
msgstr "تایید شده %1$s - با دسترسی «%2$s»"
#. TRANS: Button label
#: lib/applicationlist.php:159
@ -5447,6 +5511,25 @@ msgstr "دستور انجام شد"
msgid "Command failed"
msgstr "فرمان شکست خورد"
#. TRANS: Command exception text shown when a notice ID is requested that does not exist.
#: lib/command.php:84 lib/command.php:108
msgid "Notice with that id does not exist."
msgstr "پیامی با آن شناسه وجود ندارد."
#. 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:130
#, php-format
msgid "Could not find a user with nickname %s."
msgstr "نمی‌توان یک کاربر را با نام مستعار %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:150
#, php-format
msgid "Could not find a local user with nickname %s."
msgstr "نمی‌توان یک کاربر را با نام مستعار %s پیدا کرد."
#. TRANS: Error text shown when an unimplemented command is given.
#: lib/command.php:185
msgid "Sorry, this command is not yet implemented."
@ -5457,6 +5540,13 @@ msgstr "متاسفانه این دستور هنوز پیاده نشده است."
msgid "It does not make a lot of sense to nudge yourself!"
msgstr "خیلی جالب نیست که به خودتان یادآوری کنید!"
#. TRANS: Message given having nudged another user.
#. TRANS: %s is the nickname of the user that was nudged.
#: lib/command.php:240
#, php-format
msgid "Nudge sent to %s."
msgstr "یادآوری به %s فرستاده شد."
#. TRANS: User statistics text.
#. TRANS: %1$s is the number of other user the user is subscribed to.
#. TRANS: %2$s is the number of users that are subscribed to the user.
@ -5477,6 +5567,20 @@ msgstr ""
msgid "Notice marked as fave."
msgstr "پیام به‌عنوان برگزیده مشخص شد."
#. 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.
#: lib/command.php:360
#, php-format
msgid "%1$s joined group %2$s."
msgstr "%1$s به گروه %2$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.
#: lib/command.php:408
#, php-format
msgid "%1$s left group %2$s."
msgstr "%1$s گروه %2$s را ترک کرد."
#. TRANS: Whois output. %s is the full name of the queried user.
#: lib/command.php:434
#, php-format
@ -5527,11 +5631,34 @@ msgstr ""
msgid "Error sending direct message."
msgstr "خطا در فرستادن پیام مستقیم."
#. TRANS: Message given having repeated a notice from another user.
#. TRANS: %s is the name of the user for which the notice was repeated.
#: lib/command.php:554
#, php-format
msgid "Notice from %s repeated."
msgstr "پیام %s تکرار شد."
#. TRANS: Error text shown when repeating a notice fails with an unknown reason.
#: lib/command.php:557
msgid "Error repeating notice."
msgstr "هنگام تکرار پیام خطایی رخ داد."
#. TRANS: Message given if content of a notice for a reply is too long.
#. TRANS: %1$d is the maximum number of characters, %2$d is the number of submitted characters.
#: lib/command.php:592
#, php-format
msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
msgstr ""
"پیام بسیار طولانی است - بیشترین اندازه امکان پذیر %d نویسه است، شما %d نویسه "
"فرستاده‌اید"
#. TRANS: Text shown having sent a reply to a notice successfully.
#. TRANS: %s is the nickname of the user of the notice the reply was sent to.
#: lib/command.php:603
#, php-format
msgid "Reply to %s sent."
msgstr "پاسخ به %s فرستاده شد."
#. TRANS: Error text shown when a reply to a notice fails with an unknown reason.
#: lib/command.php:606
msgid "Error saving notice."
@ -5553,6 +5680,13 @@ msgstr "نمی‌توان با دستور مشترک نمایه‌های OMB ش
msgid "Specify the name of the user to unsubscribe from."
msgstr ""
#. TRANS: Text shown after having unsubscribed from another user successfully.
#. TRANS: %s is the name of the user the unsubscription was requested for.
#: lib/command.php:705
#, php-format
msgid "Unsubscribed from %s."
msgstr "اشتراک از %s لغو شد."
#. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
#. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
#: lib/command.php:724 lib/command.php:750
@ -5582,7 +5716,7 @@ msgstr "ناتوان در روشن کردن آگاه سازی."
#. TRANS: Error text shown when issuing the login command while login is disabled.
#: lib/command.php:771
msgid "Login command is disabled."
msgstr ""
msgstr "فرمان ورود غیرفعال شده است."
#. TRANS: Text shown after issuing the login command successfully.
#. TRANS: %s is a logon link..
@ -5590,6 +5724,14 @@ msgstr ""
#, php-format
msgid "This link is useable only once and is valid for only 2 minutes: %s."
msgstr ""
"این پیوند تنها یک‌بار قابل استفاده است و فقط برای دو دقیقه معتبر است: %s."
#. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
#. TRANS: %s is the name of the user the unsubscription was requested for.
#: lib/command.php:813
#, php-format
msgid "Unsubscribed %s."
msgstr "%s لغو اشتراک شد."
#. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
#: lib/command.php:831

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:06+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:01+0000\n"
"Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fi\n"
"X-Message-Group: out-statusnet\n"
@ -2104,8 +2104,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Tuo ei ole tuettu tietomuoto."
@ -3959,13 +3959,13 @@ msgid "Problem saving notice."
msgstr "Ongelma päivityksen tallentamisessa."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -7,6 +7,7 @@
# Author@translatewiki.net: Jean-Frédéric
# Author@translatewiki.net: Julien C
# Author@translatewiki.net: McDutchie
# Author@translatewiki.net: Patcito
# Author@translatewiki.net: Peter17
# Author@translatewiki.net: Sherbrooke
# Author@translatewiki.net: Y-M D
@ -17,12 +18,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:15+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:11+0000\n"
"Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: out-statusnet\n"
@ -2635,8 +2636,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Format de données non supporté."
@ -5027,18 +5028,18 @@ msgid "Problem saving notice."
msgstr "Problème lors de lenregistrement de lavis."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Le type renseigné pour saveKnownGroups nest pas valable"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
msgstr "Problème lors de lenregistrement de la boîte de réception du groupe."
#. 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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7120,6 +7121,8 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
"Ce thème contient un nom d'extension de ficher dangereux; peut être "
"dangereux."
#: lib/themeuploader.php:241
#, php-format

View File

@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:16+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:13+0000\n"
"Language-Team: Irish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ga\n"
"X-Message-Group: out-statusnet\n"
@ -1835,8 +1835,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Non é un formato de datos soportado."
@ -3591,13 +3591,13 @@ msgid "Problem saving notice."
msgstr "Aconteceu un erro ó gardar o chío."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:22+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:20+0000\n"
"Language-Team: Galician\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: gl\n"
"X-Message-Group: out-statusnet\n"
@ -2609,8 +2609,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Non se soporta ese formato de datos."
@ -4995,18 +4995,18 @@ msgid "Problem saving notice."
msgstr "Houbo un problema ao gardar a nota."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "O tipo dado para saveKnownGroups era incorrecto"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "♻ @%1$s %2$s"
@ -7075,7 +7075,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "O tema visual contén nomes de extensión inseguros."
#: lib/themeuploader.php:241
#, php-format

View File

@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:24+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:22+0000\n"
"Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n"
"X-Message-Group: out-statusnet\n"
@ -3408,13 +3408,13 @@ msgid "Problem saving notice."
msgstr "בעיה בשמירת ההודעה."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:27+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:25+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hsb\n"
"X-Message-Group: out-statusnet\n"
@ -2353,8 +2353,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Njeje podpěrany datowy format."
@ -4230,18 +4230,18 @@ msgid ""
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:33+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:33+0000\n"
"Language-Team: Interlingua\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: out-statusnet\n"
@ -2604,8 +2604,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Formato de datos non supportate."
@ -4969,18 +4969,18 @@ msgid "Problem saving notice."
msgstr "Problema salveguardar nota."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Mal typo fornite a saveKnownGroups"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7045,6 +7045,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
"Le thema contine nomines de extension de file insecur; pote esser insecur."
#: lib/themeuploader.php:241
#, php-format

View File

@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:35+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:34+0000\n"
"Language-Team: Icelandic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: is\n"
"X-Message-Group: out-statusnet\n"
@ -1874,8 +1874,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Enginn stuðningur við gagnasnið."
@ -3692,13 +3692,13 @@ msgid "Problem saving notice."
msgstr "Vandamál komu upp við að vista babl."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:40+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:41+0000\n"
"Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: it\n"
"X-Message-Group: out-statusnet\n"
@ -2592,8 +2592,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Non è un formato di dati supportato."
@ -4940,18 +4940,18 @@ msgid "Problem saving notice."
msgstr "Problema nel salvare il messaggio."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:42+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:44+0000\n"
"Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ja\n"
"X-Message-Group: out-statusnet\n"
@ -2470,8 +2470,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "サポートされていないデータ形式。"
@ -4717,12 +4717,12 @@ msgid "Problem saving notice."
msgstr "つぶやきを保存する際に問題が発生しました。"
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
msgstr "グループ受信箱を保存する際に問題が発生しました。"

File diff suppressed because it is too large Load Diff

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:50+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:52+0000\n"
"Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n"
"X-Message-Group: out-statusnet\n"
@ -2375,8 +2375,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "지원하는 형식의 데이터가 아닙니다."
@ -4335,13 +4335,13 @@ msgid "Problem saving notice."
msgstr "통지를 저장하는데 문제가 발생했습니다."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:56+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:34:59+0000\n"
"Language-Team: Macedonian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: out-statusnet\n"
@ -2608,8 +2608,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Ова не е поддржан формат на податотека."
@ -4989,18 +4989,18 @@ msgid "Problem saving notice."
msgstr "Проблем во зачувувањето на белешката."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "На saveKnownGroups му е уакажан грешен тип"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7059,7 +7059,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "Овој изглед содржи небезбедни податотечни наставки."
#: lib/themeuploader.php:241
#, php-format

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:46:58+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:01+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: out-statusnet\n"
@ -2527,8 +2527,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Ikke et støttet dataformat."
@ -4692,18 +4692,18 @@ msgid "Problem saving notice."
msgstr "Problem ved lagring av notis."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:07+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:11+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: out-statusnet\n"
@ -2633,8 +2633,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Geen ondersteund gegevensformaat."
@ -5029,12 +5029,12 @@ msgid "Problem saving notice."
msgstr "Er is een probleem opgetreden bij het opslaan van de mededeling."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Het gegevenstype dat is opgegeven aan saveKnownGroups is onjuist"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
msgstr ""
"Er is een probleem opgetreden bij het opslaan van het Postvak IN van de "
@ -5042,7 +5042,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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7125,7 +7125,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "Het uiterlijk bevat onveilige namen voor bestandsextensies."
#: lib/themeuploader.php:241
#, php-format

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:02+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:06+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nn\n"
"X-Message-Group: out-statusnet\n"
@ -1883,8 +1883,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Ikkje eit støtta dataformat."
@ -3733,13 +3733,13 @@ msgid "Problem saving notice."
msgstr "Eit problem oppstod ved lagring av notis."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:09+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:13+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pl\n"
"X-Message-Group: out-statusnet\n"
@ -2591,8 +2591,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "To nie jest obsługiwany format danych."
@ -4960,18 +4960,18 @@ msgid "Problem saving notice."
msgstr "Problem podczas zapisywania wpisu."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Podano błędne dane do saveKnownGroups"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7040,6 +7040,8 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
"Temat zawiera niebezpieczne rozszerzenie nazwy pliku, co może stanowić "
"zagrożenie."
#: lib/themeuploader.php:241
#, php-format

View File

@ -12,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:11+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:15+0000\n"
"Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: out-statusnet\n"
@ -551,7 +551,7 @@ msgstr "Ocorreu um problema com a sua sessão. Por favor, tente novamente."
#: actions/apioauthauthorize.php:135
msgid "Invalid nickname / password!"
msgstr "Alcunha ou senha inválidos!"
msgstr "Utilizador ou senha inválidos!"
#: actions/apioauthauthorize.php:159
msgid "Database error deleting OAuth application user."
@ -752,7 +752,7 @@ msgstr "Anexo não foi encontrado."
#: actions/grouplogo.php:86 actions/groupmembers.php:76
#: actions/grouprss.php:91 actions/showgroup.php:121
msgid "No nickname."
msgstr "Alcunha não definida."
msgstr "Nome de utilizador não definido."
#: actions/avatarbynickname.php:64
msgid "No size."
@ -1502,7 +1502,7 @@ msgstr "Quero publicar notas por correio electrónico."
#. TRANS: Checkbox label in e-mail preferences form.
#: actions/emailsettings.php:219
msgid "Publish a MicroID for my email address."
msgstr "Publicar uma MicroID para o meu endereço electrónico."
msgstr "Publicar um MicroID para o meu endereço electrónico."
#. TRANS: Confirmation message for successful e-mail preferences save.
#: actions/emailsettings.php:334
@ -2061,7 +2061,7 @@ msgstr "Enviar-me via Jabber/GTalk respostas de pessoas que não subscrevo."
#. TRANS: Checkbox label in IM preferences form.
#: actions/imsettings.php:179
msgid "Publish a MicroID for my Jabber/GTalk address."
msgstr "Publicar uma MicroID para o meu endereço Jabber/GTalk."
msgstr "Publicar um MicroID para o meu endereço Jabber/GTalk."
#. TRANS: Confirmation message for successful IM preferences save.
#: actions/imsettings.php:287 actions/othersettings.php:180
@ -2296,7 +2296,7 @@ msgstr "Tem de iniciar uma sessão para se juntar a um grupo."
#: actions/joingroup.php:88 actions/leavegroup.php:88
msgid "No nickname or ID."
msgstr "Nenhuma alcunha ou utilizador."
msgstr "Nenhum utilizador ou ID."
#: actions/joingroup.php:141
#, php-format
@ -2595,8 +2595,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Formato de dados não suportado."
@ -3218,7 +3218,7 @@ msgstr "Utilizador ou endereço de correio electrónico"
#: actions/recoverpassword.php:193
msgid "Your nickname on this server, or your registered email address."
msgstr ""
"A sua utilizador neste servidor, ou o seu correio electrónico registado."
"O seu utilizador neste servidor, ou o seu correio electrónico registado."
#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
msgid "Recover"
@ -3250,7 +3250,7 @@ msgstr "Reiniciar"
#: actions/recoverpassword.php:252
msgid "Enter a nickname or email address."
msgstr "Introduza uma utilizador ou um endereço de correio electrónico."
msgstr "Introduza um utilizador ou um endereço de correio electrónico."
#: actions/recoverpassword.php:282
msgid "No user with that email address or username."
@ -4965,18 +4965,18 @@ msgid "Problem saving notice."
msgstr "Problema na gravação da nota."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "O tipo fornecido ao método saveKnownGroups é incorrecto"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -5647,7 +5647,14 @@ msgstr "Utilizador não tem nenhuma última nota."
#: lib/command.php:130
#, php-format
msgid "Could not find a user with nickname %s."
msgstr "Não foi encontrado um utilizador com a alcunha %s."
msgstr "Não foi encontrado um utilizador com o nome %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:150
#, php-format
msgid "Could not find a local user with nickname %s."
msgstr "Não foi encontrado nenhum utilizador local com o nome %s."
#. TRANS: Error text shown when an unimplemented command is given.
#: lib/command.php:185
@ -5686,6 +5693,20 @@ msgstr ""
msgid "Notice marked as fave."
msgstr "Nota marcada como favorita."
#. 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.
#: lib/command.php:360
#, php-format
msgid "%1$s joined group %2$s."
msgstr "%1$s juntou-se ao grupo %2$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.
#: lib/command.php:408
#, php-format
msgid "%1$s left group %2$s."
msgstr "%1$s deixou o grupo %2$s."
#. TRANS: Whois output. %s is the full name of the queried user.
#: lib/command.php:434
#, php-format
@ -5775,12 +5796,26 @@ msgstr "Introduza o nome do utilizador para subscrever."
msgid "Can't subscribe to OMB profiles by command."
msgstr "Não pode subscrever perfis OMB por comando."
#. TRANS: Text shown after having subscribed to another user successfully.
#. TRANS: %s is the name of the user the subscription was requested for.
#: lib/command.php:672
#, php-format
msgid "Subscribed to %s."
msgstr "Subscreveu %s."
#. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
#. TRANS: Error text shown when no username was provided when issuing the command.
#: lib/command.php:694 lib/command.php:804
msgid "Specify the name of the user to unsubscribe from."
msgstr "Introduza o nome do utilizador para deixar de subscrever."
#. TRANS: Text shown after having unsubscribed from another user successfully.
#. TRANS: %s is the name of the user the unsubscription was requested for.
#: lib/command.php:705
#, php-format
msgid "Unsubscribed from %s."
msgstr "Deixou de subscrever %s."
#. TRANS: Error text shown when issuing the command "off" with a setting which has not yet been implemented.
#. TRANS: Error text shown when issuing the command "on" with a setting which has not yet been implemented.
#: lib/command.php:724 lib/command.php:750
@ -5817,7 +5852,14 @@ msgstr "Comando para iniciar sessão foi desactivado."
#: lib/command.php:784
#, php-format
msgid "This link is useable only once and is valid for only 2 minutes: %s."
msgstr ""
msgstr "O link é utilizável uma única vez e só é válido durante 2 minutos: %s."
#. TRANS: Text shown after issuing the lose command successfully (stop another user from following the current user).
#. TRANS: %s is the name of the user the unsubscription was requested for.
#: lib/command.php:813
#, php-format
msgid "Unsubscribed %s."
msgstr "Subscrição de %s cancelada."
#. TRANS: Text shown after requesting other users a user is subscribed to without having any subscriptions.
#: lib/command.php:831
@ -6081,7 +6123,7 @@ msgstr "Localidade do grupo, se aplicável, por ex. \"Cidade, Região, País\""
#, php-format
msgid "Extra nicknames for the group, comma- or space- separated, max %d"
msgstr ""
"Utilizadors extra para o grupo, separadas por vírgulas ou espaços, máx. %d"
"Nomes adicionais para o grupo, separados por vírgulas ou espaços, máx. %d"
#: lib/groupnav.php:85
msgid "Group"
@ -6997,7 +7039,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "O tema contém extensões de ficheiro inseguras; pode não ser seguro."
#: lib/themeuploader.php:241
#, php-format

View File

@ -14,12 +14,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:12+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:17+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: out-statusnet\n"
@ -2621,8 +2621,8 @@ msgid "Only %s URLs over plain HTTP please."
msgstr "Por favor, somente URLs %s sobre HTTP puro."
#. TRANS: Client error on an API request with an unsupported data format.
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Não é um formato de dados suportado."
@ -4993,18 +4993,18 @@ msgid "Problem saving notice."
msgstr "Problema no salvamento da mensagem."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "O tipo fornecido ao método saveKnownGroups é incorreto"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7074,7 +7074,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "O tema contém extensões de arquivo inseguras; pode não ser seguro."
#: lib/themeuploader.php:241
#, php-format

View File

@ -13,12 +13,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:14+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:19+0000\n"
"Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: out-statusnet\n"
@ -2610,8 +2610,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Неподдерживаемый формат данных."
@ -4977,18 +4977,18 @@ msgid "Problem saving notice."
msgstr "Проблемы с сохранением записи."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Для saveKnownGroups указан неверный тип"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7054,7 +7054,7 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
msgstr "Тема содержит файлы с опасным расширением; это может быть небезопасно."
#: lib/themeuploader.php:241
#, php-format

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"POT-Creation-Date: 2010-09-09 18:07+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"
@ -2471,8 +2471,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr ""
@ -4684,18 +4684,18 @@ msgid "Problem saving notice."
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""

View File

@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:15+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:26+0000\n"
"Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: sv\n"
"X-Message-Group: out-statusnet\n"
@ -2584,8 +2584,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Ett dataformat som inte stödjs"
@ -4931,18 +4931,18 @@ msgid "Problem saving notice."
msgstr "Problem med att spara notis."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:17+0000\n"
"POT-Creation-Date: 2010-09-09 17:35+0000\n"
"PO-Revision-Date: 2010-09-09 17:38:05+0000\n"
"Language-Team: Telugu\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: te\n"
"X-Message-Group: out-statusnet\n"
@ -813,6 +813,10 @@ msgstr "ఈ గుంపు లోనికి చేరకుండా ని
msgid "Unblock user from group"
msgstr "వాడుకరిని గుంపు నుండి నిరోధించు"
#: actions/blockedfromgroup.php:320 lib/unblockform.php:69
msgid "Unblock"
msgstr "నిరోధాన్ని ఎత్తివేయి"
#: actions/blockedfromgroup.php:320 lib/unblockform.php:80
msgid "Unblock this user"
msgstr "ఈ వాడుకరిని నిరోధించు"
@ -1054,12 +1058,12 @@ msgstr "సైటుకి మీరు నేపథ్యపు చిత్ర
#. TRANS: Used as radio button label to add a background image.
#: actions/designadminpanel.php:527 lib/designsettings.php:139
msgid "On"
msgstr ""
msgstr "ఆన్"
#. TRANS: Used as radio button label to not add a background image.
#: actions/designadminpanel.php:544 lib/designsettings.php:155
msgid "Off"
msgstr ""
msgstr "ఆఫ్"
#: actions/designadminpanel.php:564 lib/designsettings.php:170
msgid "Change colours"
@ -1087,7 +1091,7 @@ msgstr "ఉన్నత"
#: actions/designadminpanel.php:655
msgid "Custom CSS"
msgstr ""
msgstr "ప్రత్యేక CSS"
#: actions/designadminpanel.php:676 lib/designsettings.php:247
msgid "Use defaults"
@ -2280,8 +2284,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr ""
@ -2421,6 +2425,10 @@ msgstr "సేవకి"
msgid "Site's server hostname."
msgstr ""
#: actions/pathsadminpanel.php:242
msgid "Path"
msgstr "త్రోవ"
#: actions/pathsadminpanel.php:242
msgid "Site path"
msgstr "సైటు అలంకారం"
@ -2784,6 +2792,10 @@ msgstr "తెలియని చర్య"
msgid "6 or more characters, and don't forget it!"
msgstr "6 లేదా అంతకంటే ఎక్కువ అక్షరాలు, మర్చిపోకండి!"
#: actions/recoverpassword.php:243
msgid "Reset"
msgstr "రీసెట్"
#: actions/recoverpassword.php:252
msgid "Enter a nickname or email address."
msgstr "పేరు లేదా ఈమెయిల్ చిరునామా ఇవ్వండి."
@ -2905,7 +2917,7 @@ msgstr ""
#. TRANS: Copyright checkbox label in registration dialog, for all rights reserved.
#: actions/register.php:535
msgid "All rights reserved."
msgstr ""
msgstr "సర్వహక్కులూ సురక్షితం."
#. TRANS: Copyright checkbox label in registration dialog, for Creative Commons-style licenses.
#: actions/register.php:540
@ -4148,13 +4160,13 @@ msgid "Problem saving notice."
msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -4726,6 +4738,10 @@ msgstr "మునుజూపు"
msgid "Notices where this attachment appears"
msgstr ""
#: lib/authenticationplugin.php:221 lib/authenticationplugin.php:226
msgid "Password changing failed"
msgstr "సంకేతపదం మార్పు విఫలమైంది"
#: lib/channel.php:157 lib/channel.php:177
msgid "Command results"
msgstr "ఆదేశ ఫలితాలు"
@ -4829,18 +4845,25 @@ msgstr "నోటీసుని భద్రపరచడంలో పొరప
#. TRANS: Error text shown when no username was provided when issuing a subscribe command.
#: lib/command.php:655
msgid "Specify the name of the user to subscribe to."
msgstr ""
msgstr "ఏవరికి చందా చేరాలనుకుంటున్నారో ఆ వాడుకరి పేరుని ఇవ్వండి."
#. TRANS: Command exception text shown when trying to subscribe to an OMB profile using the subscribe command.
#: lib/command.php:664
msgid "Can't subscribe to OMB profiles by command."
msgstr ""
#. TRANS: Text shown after having subscribed to another user successfully.
#. TRANS: %s is the name of the user the subscription was requested for.
#: lib/command.php:672
#, php-format
msgid "Subscribed to %s."
msgstr "%sకి చందా చేరారు."
#. TRANS: Error text shown when no username was provided when issuing an unsubscribe command.
#. TRANS: Error text shown when no username was provided when issuing the command.
#: lib/command.php:694 lib/command.php:804
msgid "Specify the name of the user to unsubscribe from."
msgstr ""
msgstr "ఎవరినుండైతే చందావిరమించాలనుకుంటున్నారో ఆ వాడుకరి పేరుని ఇవ్వండి."
#. TRANS: Error text shown when the command "off" fails for an unknown reason.
#: lib/command.php:731
@ -5016,7 +5039,7 @@ msgstr ""
#: lib/feedlist.php:64
msgid "Export data"
msgstr ""
msgstr "భోగట్టా ఎగుమతి"
#: lib/galleryaction.php:121
msgid "Filter tags"
@ -5614,11 +5637,11 @@ msgstr "%1$u°%2$u'%3$u\"%4$s %5$u°%6$u'%7$u\"%8$s"
#: lib/noticelist.php:453
msgid "at"
msgstr ""
msgstr "ప్రాంతం"
#: lib/noticelist.php:502
msgid "web"
msgstr ""
msgstr "జాలం"
#: lib/noticelist.php:568
msgid "in context"

View File

@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:22+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:34+0000\n"
"Language-Team: Turkish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: out-statusnet\n"
@ -3474,13 +3474,13 @@ msgid "Problem saving notice."
msgstr "Durum mesajını kaydederken hata oluştu."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""

View File

@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:25+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:39+0000\n"
"Language-Team: Ukrainian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: out-statusnet\n"
@ -2600,8 +2600,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Такий формат даних не підтримується."
@ -4965,18 +4965,18 @@ msgid "Problem saving notice."
msgstr "Проблема при збереженні допису."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr "Задається невірний тип для saveKnownGroups"
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"
@ -7036,6 +7036,8 @@ msgstr ""
#: lib/themeuploader.php:224
msgid "Theme contains unsafe file extension names; may be unsafe."
msgstr ""
"У темі містяться файли, що мають небезпечні розширення; це може виявитися "
"небезпечним."
#: lib/themeuploader.php:241
#, php-format

View File

@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:27+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:41+0000\n"
"Language-Team: Vietnamese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.17alpha (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: vi\n"
"X-Message-Group: out-statusnet\n"
@ -1799,8 +1799,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr "Không hỗ trợ định dạng dữ liệu này."
@ -3512,13 +3512,13 @@ msgid "Problem saving notice."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr "RT @%1$s %2$s"

File diff suppressed because it is too large Load Diff

View File

@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-09-05 09:45+0000\n"
"PO-Revision-Date: 2010-09-05 09:47:33+0000\n"
"POT-Creation-Date: 2010-09-08 22:33+0000\n"
"PO-Revision-Date: 2010-09-08 22:35:48+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 (r72319); Translate extension (2010-08-20)\n"
"X-Generator: MediaWiki 1.17alpha (r72348); Translate extension (2010-08-20)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hant\n"
"X-Message-Group: out-statusnet\n"
@ -1842,8 +1842,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:184 actions/oembed.php:203 lib/apiaction.php:1209
#: lib/apiaction.php:1237 lib/apiaction.php:1360
#: actions/oembed.php:184 actions/oembed.php:203 lib/apiaction.php:1215
#: lib/apiaction.php:1243 lib/apiaction.php:1366
msgid "Not a supported data format."
msgstr ""
@ -3637,18 +3637,18 @@ msgid "You are banned from posting notices on this site."
msgstr ""
#. TRANS: Server exception thrown when no array is provided to the method saveKnownGroups().
#: classes/Notice.php:897
#: classes/Notice.php:899
msgid "Bad type provided to saveKnownGroups"
msgstr ""
#. TRANS: Server exception thrown when an update for a group inbox fails.
#: classes/Notice.php:996
#: classes/Notice.php:998
msgid "Problem saving group inbox."
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:1757
#: classes/Notice.php:1759
#, php-format
msgid "RT @%1$s %2$s"
msgstr ""

View File

@ -1065,6 +1065,14 @@ class Ostatus_profile extends Memcached_DataObject
null,
common_timestamp());
rename($temp_filename, Avatar::path($filename));
// @fixme hardcoded chmod is lame, but seems to be necessary to
// keep from accidentally saving images from command-line (queues)
// that can't be read from web server, which causes hard-to-notice
// problems later on:
//
// http://status.net/open-source/issues/2663
chmod(Avatar::path($filename), 0644);
$self->setOriginal($filename);
$orig = clone($this);

View File

@ -182,7 +182,19 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
$trust_root = common_root_url(true);
$process_url = common_local_url($returnto);
if ($auth_request->shouldSendRedirect()) {
// Net::OpenID::Server as used on LiveJournal appears to incorrectly
// reject POST requests for data submissions that OpenID 1.1 specs
// as GET, although 2.0 allows them:
// https://rt.cpan.org/Public/Bug/Display.html?id=42202
//
// Our OpenID libraries would have switched in the redirect automatically
// if it were detecting 1.1 compatibility mode, however the server is
// advertising itself as 2.0-compatible, so we got switched to the POST.
//
// Since the GET should always work anyway, we'll just take out the
// autosubmitter for now.
//
//if ($auth_request->shouldSendRedirect()) {
$redirect_url = $auth_request->redirectURL($trust_root,
$process_url,
$immediate);
@ -194,6 +206,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
} else {
common_redirect($redirect_url, 303);
}
/*
} else {
// Generate form markup and render it.
$form_id = 'openid_message';
@ -219,6 +232,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
$action->handle(array('action' => 'autosubmit'));
}
}
*/
}
# Half-assed attempt at a module-private function

View File

@ -28,7 +28,12 @@ class RSSCloudQueueHandler extends QueueHandler
function handle($notice)
{
$profile = $notice->getProfile();
try {
$profile = $notice->getProfile();
} catch (Exception $e) {
common_log(LOG_ERR, "Dropping RSSCloud item for notice with bogus profile: " . $e->getMessage());
return true;
}
$notifier = new RSSCloudNotifier();
return $notifier->notify($profile);
}

View File

@ -0,0 +1,180 @@
<?php
/**
* Data class for remembering notice-to-status mappings
*
* PHP version 5
*
* @category Data
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2010, StatusNet, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('STATUSNET')) {
exit(1);
}
require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
/**
* Data class for mapping notices to statuses
*
* Notices flow back and forth between Twitter and StatusNet. We use this
* table to remember which StatusNet notice corresponds to which Twitter
* status.
*
* Note that notice_id is unique only within a single database; if you
* want to share this data for some reason, get the notice's URI and use
* that instead, since it's universally unique.
*
* @category Action
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*
* @see DB_DataObject
*/
class Notice_to_status extends Memcached_DataObject
{
public $__table = 'notice_to_status'; // table name
public $notice_id; // int(4) primary_key not_null
public $status_id; // int(4)
public $created; // datetime
/**
* Get an instance by key
*
* This is a utility method to get a single instance with a given key value.
*
* @param string $k Key to use to lookup
* @param mixed $v Value to lookup
*
* @return Notice_to_status object found, or null for no hits
*
*/
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Notice_to_status', $k, $v);
}
/**
* return table definition for DB_DataObject
*
* DB_DataObject needs to know something about the table to manipulate
* instances. This method provides all the DB_DataObject needs to know.
*
* @return array array of column definitions
*/
function table()
{
return array('notice_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'status_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
}
/**
* return key definitions for DB_DataObject
*
* DB_DataObject needs to know about keys that the table has, since it
* won't appear in StatusNet's own keys list. In most cases, this will
* simply reference your keyTypes() function.
*
* @return array list of key field names
*/
function keys()
{
return array_keys($this->keyTypes());
}
/**
* return key definitions for Memcached_DataObject
*
* Our caching system uses the same key definitions, but uses a different
* method to get them. This key information is used to store and clear
* cached data, so be sure to list any key that will be used for static
* lookups.
*
* @return array associative array of key definitions, field name to type:
* 'K' for primary key: for compound keys, add an entry for each component;
* 'U' for unique keys: compound keys are not well supported here.
*/
function keyTypes()
{
return array('notice_id' => 'K', 'status_id' => 'U');
}
/**
* Magic formula for non-autoincrementing integer primary keys
*
* If a table has a single integer column as its primary key, DB_DataObject
* assumes that the column is auto-incrementing and makes a sequence table
* to do this incrementation. Since we don't need this for our class, we
* overload this method and return the magic formula that DB_DataObject needs.
*
* @return array magic three-false array that stops auto-incrementing.
*/
function sequenceKey()
{
return array(false, false, false);
}
/**
* Save a mapping between a notice and a status
*
* @param integer $notice_id ID of the notice in StatusNet
* @param integer $status_id ID of the status in Twitter
*
* @return Notice_to_status new object for this value
*/
static function saveNew($notice_id, $status_id)
{
$n2s = Notice_to_status::staticGet('notice_id', $notice_id);
if (!empty($n2s)) {
return $n2s;
}
$n2s = Notice_to_status::staticGet('status_id', $status_id);
if (!empty($n2s)) {
return $n2s;
}
common_debug("Mapping notice {$notice_id} to Twitter status {$status_id}");
$n2s = new Notice_to_status();
$n2s->notice_id = $notice_id;
$n2s->status_id = $status_id;
$n2s->created = common_sql_now();
$n2s->insert();
return $n2s;
}
}

View File

@ -62,6 +62,14 @@ unless you configure it with a consumer key and secret.)
$config['twitter']['global_consumer_key'] = 'YOUR_CONSUMER_KEY';
$config['twitter']['global_consumer_secret'] = 'YOUR_CONSUMER_SECRET';
Upgrade
-------
If you've used the Twitter bridge plugin prior to version 0.9.5,
you'll need to run the new scripts/initialize_notice_to_status.php
script to initialize the new notice-to-status mapping file, which
greatly improves the integration between StatusNet and Twitter.
Administration panel
--------------------

View File

@ -194,18 +194,22 @@ class TwitterBridgePlugin extends Plugin
*/
function onAutoload($cls)
{
$dir = dirname(__FILE__);
switch ($cls) {
case 'TwittersettingsAction':
case 'TwitterauthorizationAction':
case 'TwitterloginAction':
case 'TwitteradminpanelAction':
include_once INSTALLDIR . '/plugins/TwitterBridge/' .
strtolower(mb_substr($cls, 0, -6)) . '.php';
include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
return false;
case 'TwitterOAuthClient':
case 'TwitterQueueHandler':
include_once INSTALLDIR . '/plugins/TwitterBridge/' .
strtolower($cls) . '.php';
include_once $dir . '/' . strtolower($cls) . '.php';
return false;
case 'Notice_to_status':
case 'Twitter_synch_status':
include_once $dir . '/' . $cls . '.php';
return false;
default:
return true;
@ -360,5 +364,157 @@ class TwitterBridgePlugin extends Plugin
}
}
}
/**
* Database schema setup
*
* We maintain a table mapping StatusNet notices to Twitter statuses
*
* @see Schema
* @see ColumnDef
*
* @return boolean hook value; true means continue processing, false means stop.
*/
function onCheckSchema()
{
$schema = Schema::get();
// For saving the last-synched status of various timelines
// home_timeline, messages (in), messages (out), ...
$schema->ensureTable('twitter_synch_status',
array(new ColumnDef('foreign_id', 'bigint', null,
false, 'PRI'),
new ColumnDef('timeline', 'varchar', 255,
false, 'PRI'),
new ColumnDef('last_id', 'bigint', null, // XXX: check for PostgreSQL
false),
new ColumnDef('created', 'datetime', null,
false),
new ColumnDef('modified', 'datetime', null,
false)));
// For storing user-submitted flags on profiles
$schema->ensureTable('notice_to_status',
array(new ColumnDef('notice_id', 'integer', null,
false, 'PRI'),
new ColumnDef('status_id', 'bigint', null, // XXX: check for PostgreSQL
false, 'UNI'),
new ColumnDef('created', 'datetime', null,
false)));
return true;
}
/**
* If a notice gets deleted, remove the Notice_to_status mapping and
* delete the status on Twitter.
*
* @param User $user The user doing the deleting
* @param Notice $notice The notice getting deleted
*
* @return boolean hook value
*/
function onStartDeleteOwnNotice(User $user, Notice $notice)
{
$n2s = Notice_to_status::staticGet('notice_id', $notice->id);
if (!empty($n2s)) {
$flink = Foreign_link::getByUserID($notice->profile_id,
TWITTER_SERVICE); // twitter service
if (empty($flink)) {
return true;
}
if (!TwitterOAuthClient::isPackedToken($flink->credentials)) {
$this->log(LOG_INFO, "Skipping deleting notice for {$notice->id} since link is not OAuth.");
return true;
}
$token = TwitterOAuthClient::unpackToken($flink->credentials);
$client = new TwitterOAuthClient($token->key, $token->secret);
$client->statusesDestroy($n2s->status_id);
$n2s->delete();
}
return true;
}
/**
* Notify remote users when their notices get favorited.
*
* @param Profile or User $profile of local user doing the faving
* @param Notice $notice being favored
* @return hook return value
*/
function onEndFavorNotice(Profile $profile, Notice $notice)
{
$flink = Foreign_link::getByUserID($profile->id,
TWITTER_SERVICE); // twitter service
if (empty($flink)) {
return true;
}
if (!TwitterOAuthClient::isPackedToken($flink->credentials)) {
$this->log(LOG_INFO, "Skipping fave processing for {$profile->id} since link is not OAuth.");
return true;
}
$status_id = twitter_status_id($notice);
if (empty($status_id)) {
return true;
}
$token = TwitterOAuthClient::unpackToken($flink->credentials);
$client = new TwitterOAuthClient($token->key, $token->secret);
$client->favoritesCreate($status_id);
return true;
}
/**
* Notify remote users when their notices get de-favorited.
*
* @param Profile $profile Profile person doing the de-faving
* @param Notice $notice Notice being favored
*
* @return hook return value
*/
function onEndDisfavorNotice(Profile $profile, Notice $notice)
{
$flink = Foreign_link::getByUserID($profile->id,
TWITTER_SERVICE); // twitter service
if (empty($flink)) {
return true;
}
if (!TwitterOAuthClient::isPackedToken($flink->credentials)) {
$this->log(LOG_INFO, "Skipping fave processing for {$profile->id} since link is not OAuth.");
return true;
}
$status_id = twitter_status_id($notice);
if (empty($status_id)) {
return true;
}
$token = TwitterOAuthClient::unpackToken($flink->credentials);
$client = new TwitterOAuthClient($token->key, $token->secret);
$client->favoritesDestroy($status_id);
return true;
}
}

View File

@ -0,0 +1,202 @@
<?php
/**
* Store last-touched ID for various timelines
*
* PHP version 5
*
* @category Data
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2010, StatusNet, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('STATUSNET')) {
exit(1);
}
require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
/**
* Store various timeline data
*
* We don't want to keep re-fetching the same statuses and direct messages from Twitter.
* So, we store the last ID we see from a timeline, and store it. Next time
* around, we use that ID in the since_id parameter.
*
* @category Action
* @package StatusNet
* @author Evan Prodromou <evan@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*
* @see DB_DataObject
*/
class Twitter_synch_status extends Memcached_DataObject
{
public $__table = 'twitter_synch_status'; // table name
public $foreign_id; // int(4) primary_key not_null
public $timeline; // varchar(255) primary_key not_null
public $last_id; // bigint not_null
public $created; // datetime not_null
public $modified; // datetime not_null
/**
* Get an instance by key
*
* @param string $k Key to use to lookup (usually 'foreign_id' for this class)
* @param mixed $v Value to lookup
*
* @return Twitter_synch_status object found, or null for no hits
*
*/
function staticGet($k, $v=null)
{
throw new Exception("Use pkeyGet() for this class.");
}
/**
* Get an instance by compound primary key
*
* @param array $kv key-value pair array
*
* @return Twitter_synch_status object found, or null for no hits
*
*/
function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Twitter_synch_status', $kv);
}
/**
* return table definition for DB_DataObject
*
* DB_DataObject needs to know something about the table to manipulate
* instances. This method provides all the DB_DataObject needs to know.
*
* @return array array of column definitions
*/
function table()
{
return array('foreign_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'timeline' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
'last_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
'modified' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL
);
}
/**
* return key definitions for DB_DataObject
*
* DB_DataObject needs to know about keys that the table has, since it
* won't appear in StatusNet's own keys list. In most cases, this will
* simply reference your keyTypes() function.
*
* @return array list of key field names
*/
function keys()
{
return array_keys($this->keyTypes());
}
/**
* return key definitions for Memcached_DataObject
*
* Our caching system uses the same key definitions, but uses a different
* method to get them. This key information is used to store and clear
* cached data, so be sure to list any key that will be used for static
* lookups.
*
* @return array associative array of key definitions, field name to type:
* 'K' for primary key: for compound keys, add an entry for each component;
* 'U' for unique keys: compound keys are not well supported here.
*/
function keyTypes()
{
return array('foreign_id' => 'K',
'timeline' => 'K');
}
/**
* Magic formula for non-autoincrementing integer primary keys
*
* If a table has a single integer column as its primary key, DB_DataObject
* assumes that the column is auto-incrementing and makes a sequence table
* to do this incrementation. Since we don't need this for our class, we
* overload this method and return the magic formula that DB_DataObject needs.
*
* @return array magic three-false array that stops auto-incrementing.
*/
function sequenceKey()
{
return array(false, false, false);
}
static function getLastId($foreign_id, $timeline)
{
$tss = self::pkeyGet(array('foreign_id' => $foreign_id,
'timeline' => $timeline));
if (empty($tss)) {
return null;
} else {
return $tss->last_id;
}
}
static function setLastId($foreign_id, $timeline, $last_id)
{
$tss = self::pkeyGet(array('foreign_id' => $foreign_id,
'timeline' => $timeline));
if (empty($tss)) {
$tss = new Twitter_synch_status();
$tss->foreign_id = $foreign_id;
$tss->timeline = $timeline;
$tss->last_id = $last_id;
$tss->created = common_sql_now();
$tss->modified = $tss->created;
$tss->insert();
return true;
} else {
$orig = clone($tss);
$tss->last_id = $last_id;
$tss->modified = common_sql_now();
$tss->update();
return true;
}
}
}

View File

@ -33,7 +33,6 @@ END_OF_TRIM_HELP;
require_once INSTALLDIR . '/scripts/commandline.inc';
require_once INSTALLDIR . '/lib/parallelizingdaemon.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitterbasicauthclient.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
/**
@ -144,8 +143,8 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
$client = new TwitterOAuthClient($token->key, $token->secret);
common_debug($this->name() . '- Grabbing friends IDs with OAuth.');
} else {
$client = new TwitterBasicAuthClient($flink);
common_debug($this->name() . '- Grabbing friends IDs with basic auth.');
common_debug("Skipping Twitter friends for {$flink->user_id} since not OAuth.");
return $friends;
}
try {

View File

@ -40,7 +40,6 @@ require_once INSTALLDIR . '/scripts/commandline.inc';
require_once INSTALLDIR . '/lib/common.php';
require_once INSTALLDIR . '/lib/daemon.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitterbasicauthclient.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
/**
@ -104,7 +103,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
function getObjects()
{
global $_DB_DATAOBJECT;
$flink = new Foreign_link();
$conn = &$flink->getDatabaseConnection();
@ -168,10 +166,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
common_debug($this->name() . ' - Trying to get timeline for Twitter user ' .
$flink->foreign_id);
// XXX: Biggest remaining issue - How do we know at which status
// to start importing? How many statuses? Right now I'm going
// with the default last 20.
$client = null;
if (TwitterOAuthClient::isPackedToken($flink->credentials)) {
@ -179,14 +173,17 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$client = new TwitterOAuthClient($token->key, $token->secret);
common_debug($this->name() . ' - Grabbing friends timeline with OAuth.');
} else {
$client = new TwitterBasicAuthClient($flink);
common_debug($this->name() . ' - Grabbing friends timeline with basic auth.');
common_debug("Skipping friends timeline for $flink->foreign_id since not OAuth.");
}
$timeline = null;
$lastId = Twitter_synch_status::getLastId($flink->foreign_id, 'home_timeline');
common_debug("Got lastId value '{$lastId}' for foreign id '{$flink->foreign_id}' and timeline 'home_timeline'");
try {
$timeline = $client->statusesHomeTimeline();
$timeline = $client->statusesHomeTimeline($lastId);
} catch (Exception $e) {
common_log(LOG_WARNING, $this->name() .
' - Twitter client unable to get friends timeline for user ' .
@ -215,7 +212,23 @@ class TwitterStatusFetcher extends ParallelizingDaemon
continue;
}
$this->saveStatus($status, $flink);
// Don't save it if the user is protected
// FIXME: save it but treat it as private
if ($status->user->protected) {
continue;
}
$notice = $this->saveStatus($status);
if (!empty($notice)) {
Inbox::insertNotice($flink->user_id, $notice->id);
}
}
if (!empty($timeline)) {
Twitter_synch_status::setLastId($flink->foreign_id, 'home_timeline', $timeline[0]->id);
common_debug("Set lastId value '{$timeline[0]->id}' for foreign id '{$flink->foreign_id}' and timeline 'home_timeline'");
}
// Okay, record the time we synced with Twitter for posterity
@ -224,32 +237,61 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$flink->update();
}
function saveStatus($status, $flink)
function saveStatus($status)
{
$profile = $this->ensureProfile($status->user);
if (empty($profile)) {
common_log(LOG_ERR, $this->name() .
' - Problem saving notice. No associated Profile.');
return;
return null;
}
$statusUri = 'http://twitter.com/'
. $status->user->screen_name
. '/status/'
. $status->id;
$statusUri = $this->makeStatusURI($status->user->screen_name, $status->id);
// check to see if we've already imported the status
$dupe = $this->checkDupe($profile, $statusUri);
$n2s = Notice_to_status::staticGet('status_id', $status->id);
if (!empty($dupe)) {
if (!empty($n2s)) {
common_log(
LOG_INFO,
$this->name() .
" - Ignoring duplicate import: $statusUri"
" - Ignoring duplicate import: {$status->id}"
);
return;
return Notice::staticGet('id', $n2s->notice_id);
}
// If it's a retweet, save it as a repeat!
if (!empty($status->retweeted_status)) {
common_log(LOG_INFO, "Status {$status->id} is a retweet of {$status->retweeted_status->id}.");
$original = $this->saveStatus($status->retweeted_status);
if (empty($original)) {
return null;
} else {
$author = $original->getProfile();
// 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,
$original->content);
if (Notice::contentTooLong($content)) {
$contentlimit = Notice::maxContent();
$content = mb_substr($content, 0, $contentlimit - 4) . ' ...';
}
$repeat = Notice::saveNew($profile->id,
$content,
'twitter',
array('repeat_of' => $original->id,
'uri' => $statusUri,
'is_local' => Notice::GATEWAY));
common_log(LOG_INFO, "Saved {$repeat->id} as a repeat of {$original->id}");
Notice_to_status::saveNew($repeat->id, $status->id);
return $repeat;
}
}
$notice = new Notice();
@ -263,14 +305,36 @@ class TwitterStatusFetcher extends ParallelizingDaemon
);
$notice->source = 'twitter';
$notice->reply_to = null;
if (!empty($status->in_reply_to_status_id)) {
common_log(LOG_INFO, "Status {$status->id} is a reply to status {$status->in_reply_to_status_id}");
$n2s = Notice_to_status::staticGet('status_id', $status->in_reply_to_status_id);
if (empty($n2s)) {
common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
} else {
$reply = Notice::staticGet('id', $n2s->notice_id);
if (empty($reply)) {
common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
} else {
common_log(LOG_INFO, "Found local notice {$reply->id} for status {$status->in_reply_to_status_id}");
$notice->reply_to = $reply->id;
$notice->conversation = $reply->conversation;
}
}
}
if (empty($notice->conversation)) {
$conv = Conversation::create();
$notice->conversation = $conv->id;
common_log(LOG_INFO, "No known conversation for status {$status->id} so making a new one {$conv->id}.");
}
$notice->is_local = Notice::GATEWAY;
$notice->content = common_shorten_links($status->text);
$notice->rendered = common_render_content(
$notice->content,
$notice
);
$notice->content = html_entity_decode($status->text);
$notice->rendered = $this->linkify($status);
if (Event::handle('StartNoticeSave', array(&$notice))) {
@ -285,23 +349,31 @@ class TwitterStatusFetcher extends ParallelizingDaemon
Event::handle('EndNoticeSave', array($notice));
}
$orig = clone($notice);
$conv = Conversation::create();
Notice_to_status::saveNew($notice->id, $status->id);
$notice->conversation = $conv->id;
$this->saveStatusMentions($notice, $status);
if (!$notice->update($orig)) {
common_log_db_error($notice, 'UPDATE', __FILE__);
common_log(LOG_ERR, $this->name() .
' - Problem saving notice.');
}
Inbox::insertNotice($flink->user_id, $notice->id);
$notice->blowOnInsert();
return $notice;
}
/**
* Make an URI for a status.
*
* @param object $status status object
*
* @return string URI
*/
function makeStatusURI($username, $id)
{
return 'http://twitter.com/'
. $username
. '/status/'
. $id;
}
/**
* Look up a Profile by profileurl field. Profile::staticGet() was
* not working consistently.
@ -631,6 +703,104 @@ class TwitterStatusFetcher extends ParallelizingDaemon
return true;
}
const URL = 1;
const HASHTAG = 2;
const MENTION = 3;
function linkify($status)
{
$text = $status->text;
if (empty($status->entities)) {
return $text;
}
// Move all the entities into order so we can
// replace them in reverse order and thus
// not mess up their indices
$toReplace = array();
if (!empty($status->entities->urls)) {
foreach ($status->entities->urls as $url) {
$toReplace[$url->indices[0]] = array(self::URL, $url);
}
}
if (!empty($status->entities->hashtags)) {
foreach ($status->entities->hashtags as $hashtag) {
$toReplace[$hashtag->indices[0]] = array(self::HASHTAG, $hashtag);
}
}
if (!empty($status->entities->user_mentions)) {
foreach ($status->entities->user_mentions as $mention) {
$toReplace[$mention->indices[0]] = array(self::MENTION, $mention);
}
}
// sort in reverse order by key
krsort($toReplace);
foreach ($toReplace as $part) {
list($type, $object) = $part;
switch($type) {
case self::URL:
$linkText = $this->makeUrlLink($object);
break;
case self::HASHTAG:
$linkText = $this->makeHashtagLink($object);
break;
case self::MENTION:
$linkText = $this->makeMentionLink($object);
break;
default:
continue;
}
$text = mb_substr($text, 0, $object->indices[0]) . $linkText . mb_substr($text, $object->indices[1]);
}
return $text;
}
function makeUrlLink($object)
{
return "<a href='{$object->url}' class='extlink'>{$object->url}</a>";
}
function makeHashtagLink($object)
{
return "#<a href='https://twitter.com/search?q=%23{$object->text}' class='hashtag'>{$object->text}</a>";
}
function makeMentionLink($object)
{
return "@<a href='http://twitter.com/{$object->screen_name}' title='{$object->name}'>{$object->screen_name}</a>";
}
function saveStatusMentions($notice, $status)
{
$mentions = array();
if (empty($status->entities) || empty($status->entities->user_mentions)) {
return;
}
foreach ($status->entities->user_mentions as $mention) {
$flink = Foreign_link::getByForeignID($mention->id, TWITTER_SERVICE);
if (!empty($flink)) {
$user = User::staticGet('id', $flink->user_id);
if (!empty($user)) {
$reply = new Reply();
$reply->notice_id = $notice->id;
$reply->profile_id = $user->id;
common_log(LOG_INFO, __METHOD__ . ": saving reply: notice {$notice->id} to profile {$user->id}");
$id = $reply->insert();
}
}
}
}
}
$id = null;

View File

@ -0,0 +1,51 @@
#!/usr/bin/env php
<?php
/*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2010, StatusNet, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
$helptext = <<<ENDOFHELP
USAGE: initialize_notice_to_status.php
Initializes the notice_to_status table with existing Twitter synch
data. Only necessary if you've had the Twitter bridge enabled before
version 0.9.5.
ENDOFHELP;
require_once INSTALLDIR.'/scripts/commandline.inc';
// We update any notices that may have come in from
// Twitter that we don't have a status_id for. Note that
// this won't catch notices that originated at this StatusNet site.
$n = new Notice();
$n->query('SELECT notice.id, notice.uri ' .
'FROM notice LEFT JOIN notice_to_status ' .
'ON notice.id = notice_to_status.notice_id ' .
'WHERE notice.source = "twitter"' .
'AND notice_to_status.status_id IS NULL');
while ($n->fetch()) {
if (preg_match('#^http://twitter.com/[\w_.]+/status/(\d+)$#', $n->uri, $match)) {
$status_id = $match[1];
Notice_to_status::saveNew($n->id, $status_id);
}
}

View File

@ -23,7 +23,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
define('TWITTER_SERVICE', 1); // Twitter is foreign_service ID 1
require_once INSTALLDIR . '/plugins/TwitterBridge/twitterbasicauthclient.php';
require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
function add_twitter_user($twitter_id, $screen_name)
@ -115,9 +114,12 @@ function is_twitter_bound($notice, $flink) {
// Check to see if notice should go to Twitter
if (!empty($flink) && ($flink->noticesync & FOREIGN_NOTICE_SEND)) {
// If it's not a Twitter-style reply, or if the user WANTS to send replies.
// If it's not a Twitter-style reply, or if the user WANTS to send replies,
// or if it's in reply to a twitter notice
if (!preg_match('/^@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) {
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) ||
is_twitter_notice($notice->reply_to)) {
return true;
}
}
@ -125,22 +127,64 @@ function is_twitter_bound($notice, $flink) {
return false;
}
function is_twitter_notice($id)
{
$n2s = Notice_to_status::staticGet('notice_id', $id);
return (!empty($n2s));
}
function broadcast_twitter($notice)
{
$flink = Foreign_link::getByUserID($notice->profile_id,
TWITTER_SERVICE);
if (is_twitter_bound($notice, $flink)) {
if (TwitterOAuthClient::isPackedToken($flink->credentials)) {
// Don't bother with basic auth, since it's no longer allowed
if (!empty($flink) && TwitterOAuthClient::isPackedToken($flink->credentials)) {
if (!empty($notice->repeat_of) && is_twitter_notice($notice->repeat_of)) {
$retweet = retweet_notice($flink, Notice::staticGet('id', $notice->repeat_of));
if (!empty($retweet)) {
Notice_to_status::saveNew($notice->id, $retweet->id);
}
} else if (is_twitter_bound($notice, $flink)) {
return broadcast_oauth($notice, $flink);
} else {
return broadcast_basicauth($notice, $flink);
}
}
return true;
}
function retweet_notice($flink, $notice)
{
$token = TwitterOAuthClient::unpackToken($flink->credentials);
$client = new TwitterOAuthClient($token->key, $token->secret);
$id = twitter_status_id($notice);
if (empty($id)) {
common_log(LOG_WARNING, "Trying to retweet notice {$notice->id} with no known status id.");
return null;
}
try {
$status = $client->statusesRetweet($id);
return $status;
} catch (OAuthClientException $e) {
return process_error($e, $flink, $notice);
}
}
function twitter_status_id($notice)
{
$n2s = Notice_to_status::staticGet('notice_id', $notice->id);
if (empty($n2s)) {
return null;
} else {
return $n2s->status_id;
}
}
/**
* Pull any extra information from a notice that we should transfer over
* to Twitter beyond the notice text itself.
@ -156,10 +200,13 @@ function twitter_update_params($notice)
$params['lat'] = $notice->lat;
$params['long'] = $notice->lon;
}
if (!empty($notice->reply_to) && is_twitter_notice($notice->reply_to)) {
$reply = Notice::staticGet('id', $notice->reply_to);
$params['in_reply_to_status_id'] = twitter_status_id($reply);
}
return $params;
}
function broadcast_oauth($notice, $flink) {
$user = $flink->getUser();
$statustxt = format_status($notice);
@ -171,6 +218,9 @@ function broadcast_oauth($notice, $flink) {
try {
$status = $client->statusesUpdate($statustxt, $params);
if (!empty($status)) {
Notice_to_status::saveNew($notice->id, $status->id);
}
} catch (OAuthClientException $e) {
return process_error($e, $flink, $notice);
}
@ -204,52 +254,6 @@ function broadcast_oauth($notice, $flink) {
return true;
}
function broadcast_basicauth($notice, $flink)
{
$user = $flink->getUser();
$statustxt = format_status($notice);
$params = twitter_update_params($notice);
$client = new TwitterBasicAuthClient($flink);
$status = null;
try {
$status = $client->statusesUpdate($statustxt, $params);
} catch (BasicAuthException $e) {
return process_error($e, $flink, $notice);
}
if (empty($status)) {
$errmsg = sprintf('Twitter bridge - No data returned by Twitter API when ' .
'trying to post notice %d for %s (user id %d).',
$notice->id,
$user->nickname,
$user->id);
common_log(LOG_WARNING, $errmsg);
$errmsg = sprintf('No data returned by Twitter API when ' .
'trying to post notice %d for %s (user id %d).',
$notice->id,
$user->nickname,
$user->id);
common_log(LOG_WARNING, $errmsg);
return false;
}
$msg = sprintf('Twitter bridge - posted notice %d to Twitter using ' .
'HTTP basic auth for User %s (user id %d).',
$notice->id,
$user->nickname,
$user->id);
common_log(LOG_INFO, $msg);
return true;
}
function process_error($e, $flink, $notice)
{
$user = $flink->getUser();

View File

@ -1,258 +0,0 @@
<?php
/**
* StatusNet, the distributed open-source microblogging tool
*
* Class for doing HTTP basic auth calls against Twitter
*
* 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 Integration
* @package StatusNet
* @author Zach Copley <zach@status.net>
* @copyright 2009 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
/**
* General Exception wrapper for HTTP basic auth errors
*
* @category Integration
* @package StatusNet
* @author Zach Copley <zach@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*
*/
class BasicAuthException extends Exception
{
}
/**
* Class for talking to the Twitter API with HTTP Basic Auth.
*
* @category Integration
* @package StatusNet
* @author Zach Copley <zach@status.net>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*
*/
class TwitterBasicAuthClient
{
var $screen_name = null;
var $password = null;
/**
* constructor
*
* @param Foreign_link $flink a Foreign_link storing the
* Twitter user's password, etc.
*/
function __construct($flink)
{
$fuser = $flink->getForeignUser();
$this->screen_name = $fuser->nickname;
$this->password = $flink->credentials;
}
/**
* Calls Twitter's /statuses/update API method
*
* @param string $status text of the status
* @param mixed $params optional other parameters to pass to Twitter,
* as defined. For back-compatibility, if an int
* is passed we'll consider it a reply-to ID.
*
* @return mixed the status
*/
function statusesUpdate($status, $in_reply_to_status_id = null)
{
$url = 'https://twitter.com/statuses/update.json';
if (is_numeric($params)) {
$params = array('in_reply_to_status_id' => intval($params));
}
$params['status'] = $status;
$params['source'] = common_config('integration', 'source');
$response = $this->httpRequest($url, $params);
$status = json_decode($response);
return $status;
}
/**
* Calls Twitter's /statuses/friends_timeline API method
*
* @param int $since_id show statuses after this id
* @param int $max_id show statuses before this id
* @param int $cnt number of statuses to show
* @param int $page page number
*
* @return mixed an array of statuses
*/
function statusesFriendsTimeline($since_id = null, $max_id = null,
$cnt = null, $page = null)
{
$url = 'https://twitter.com/statuses/friends_timeline.json';
$params = array('since_id' => $since_id,
'max_id' => $max_id,
'count' => $cnt,
'page' => $page);
$qry = http_build_query($params);
if (!empty($qry)) {
$url .= "?$qry";
}
$response = $this->httpRequest($url);
$statuses = json_decode($response);
return $statuses;
}
/**
* Calls Twitter's /statuses/home_timeline API method
*
* @param int $since_id show statuses after this id
* @param int $max_id show statuses before this id
* @param int $cnt number of statuses to show
* @param int $page page number
*
* @return mixed an array of statuses similar to friends timeline but including retweets
*/
function statusesHomeTimeline($since_id = null, $max_id = null,
$cnt = null, $page = null)
{
$url = 'https://twitter.com/statuses/home_timeline.json';
$params = array('since_id' => $since_id,
'max_id' => $max_id,
'count' => $cnt,
'page' => $page);
$qry = http_build_query($params);
if (!empty($qry)) {
$url .= "?$qry";
}
$response = $this->httpRequest($url);
$statuses = json_decode($response);
return $statuses;
}
/**
* Calls Twitter's /statuses/friends API method
*
* @param int $id id of the user whom you wish to see friends of
* @param int $user_id numerical user id
* @param int $screen_name screen name
* @param int $page page number
*
* @return mixed an array of twitter users and their latest status
*/
function statusesFriends($id = null, $user_id = null, $screen_name = null,
$page = null)
{
$url = "https://twitter.com/statuses/friends.json";
$params = array('id' => $id,
'user_id' => $user_id,
'screen_name' => $screen_name,
'page' => $page);
$qry = http_build_query($params);
if (!empty($qry)) {
$url .= "?$qry";
}
$response = $this->httpRequest($url);
$friends = json_decode($response);
return $friends;
}
/**
* Calls Twitter's /statuses/friends/ids API method
*
* @param int $id id of the user whom you wish to see friends of
* @param int $user_id numerical user id
* @param int $screen_name screen name
* @param int $page page number
*
* @return mixed a list of ids, 100 per page
*/
function friendsIds($id = null, $user_id = null, $screen_name = null,
$page = null)
{
$url = "https://twitter.com/friends/ids.json";
$params = array('id' => $id,
'user_id' => $user_id,
'screen_name' => $screen_name,
'page' => $page);
$qry = http_build_query($params);
if (!empty($qry)) {
$url .= "?$qry";
}
$response = $this->httpRequest($url);
$ids = json_decode($response);
return $ids;
}
/**
* Make an HTTP request
*
* @param string $url Where to make the request
* @param array $params post parameters
*
* @return mixed the request
* @throws BasicAuthException
*/
function httpRequest($url, $params = null, $auth = true)
{
$request = HTTPClient::start();
$request->setConfig(array(
'follow_redirects' => true,
'connect_timeout' => 120,
'timeout' => 120,
'ssl_verify_peer' => false,
'ssl_verify_host' => false
));
if ($auth) {
$request->setAuth($this->screen_name, $this->password);
}
if (isset($params)) {
// Twitter is strict about accepting invalid "Expect" headers
$headers = array('Expect:');
$response = $request->post($url, $headers, $params);
} else {
$response = $request->get($url);
}
$code = $response->getStatus();
if ($code < 200 || $code >= 400) {
throw new BasicAuthException($response->getBody(), $code);
}
return $response->getBody();
}
}

View File

@ -188,7 +188,7 @@ class TwitterOAuthClient extends OAuthClient
}
/**
* Calls Twitter's /statuses/friends_timeline API method
* Calls Twitter's /statuses/home_timeline API method
*
* @param int $since_id show statuses after this id
* @param int $max_id show statuses before this id
@ -197,22 +197,28 @@ class TwitterOAuthClient extends OAuthClient
*
* @return mixed an array of statuses
*/
function statusesFriendsTimeline($since_id = null, $max_id = null,
$cnt = null, $page = null)
function statusesHomeTimeline($since_id = null, $max_id = null,
$cnt = null, $page = null)
{
$url = 'https://twitter.com/statuses/friends_timeline.json';
$params = array('since_id' => $since_id,
'max_id' => $max_id,
'count' => $cnt,
'page' => $page);
$qry = http_build_query($params);
$url = 'https://twitter.com/statuses/home_timeline.json';
if (!empty($qry)) {
$url .= "?$qry";
$params = array('include_entities' => 'true');
if (!empty($since_id)) {
$params['since_id'] = $since_id;
}
if (!empty($max_id)) {
$params['max_id'] = $max_id;
}
if (!empty($cnt)) {
$params['count'] = $cnt;
}
if (!empty($page)) {
$params['page'] = $page;
}
$response = $this->oAuthGet($url);
$response = $this->oAuthGet($url, $params);
$statuses = json_decode($response);
return $statuses;
}
@ -262,17 +268,25 @@ class TwitterOAuthClient extends OAuthClient
{
$url = "https://twitter.com/statuses/friends.json";
$params = array('id' => $id,
'user_id' => $user_id,
'screen_name' => $screen_name,
'page' => $page);
$qry = http_build_query($params);
$params = array();
if (!empty($qry)) {
$url .= "?$qry";
if (!empty($id)) {
$params['id'] = $id;
}
$response = $this->oAuthGet($url);
if (!empty($user_id)) {
$params['user_id'] = $user_id;
}
if (!empty($screen_name)) {
$params['screen_name'] = $screen_name;
}
if (!empty($page)) {
$params['page'] = $page;
}
$response = $this->oAuthGet($url, $params);
$friends = json_decode($response);
return $friends;
}
@ -292,19 +306,90 @@ class TwitterOAuthClient extends OAuthClient
{
$url = "https://twitter.com/friends/ids.json";
$params = array('id' => $id,
'user_id' => $user_id,
'screen_name' => $screen_name,
'page' => $page);
$qry = http_build_query($params);
$params = array();
if (!empty($qry)) {
$url .= "?$qry";
if (!empty($id)) {
$params['id'] = $id;
}
$response = $this->oAuthGet($url);
if (!empty($user_id)) {
$params['user_id'] = $user_id;
}
if (!empty($screen_name)) {
$params['screen_name'] = $screen_name;
}
if (!empty($page)) {
$params['page'] = $page;
}
$response = $this->oAuthGet($url, $params);
$ids = json_decode($response);
return $ids;
}
/**
* Calls Twitter's /statuses/retweet/id.json API method
*
* @param int $id id of the notice to retweet
*
* @return retweeted status
*/
function statusesRetweet($id)
{
$url = "http://api.twitter.com/1/statuses/retweet/$id.json";
$response = $this->oAuthPost($url);
$status = json_decode($response);
return $status;
}
/**
* Calls Twitter's /favorites/create API method
*
* @param int $id ID of the status to favorite
*
* @return object faved status
*/
function favoritesCreate($id)
{
$url = "http://api.twitter.com/1/favorites/create/$id.json";
$response = $this->oAuthPost($url);
$status = json_decode($response);
return $status;
}
/**
* Calls Twitter's /favorites/destroy API method
*
* @param int $id ID of the status to unfavorite
*
* @return object unfaved status
*/
function favoritesDestroy($id)
{
$url = "http://api.twitter.com/1/favorites/destroy/$id.json";
$response = $this->oAuthPost($url);
$status = json_decode($response);
return $status;
}
/**
* Calls Twitter's /statuses/destroy API method
*
* @param int $id ID of the status to destroy
*
* @return object destroyed
*/
function statusesDestroy($id)
{
$url = "http://api.twitter.com/1/statuses/destroy/$id.json";
$response = $this->oAuthPost($url);
$status = json_decode($response);
return $status;
}
}