Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x

This commit is contained in:
Evan Prodromou 2009-12-23 10:31:27 -08:00
commit 3262930ed4
54 changed files with 6678 additions and 1287 deletions

View File

@ -37,6 +37,15 @@ class Memcached_DataObject extends DB_DataObject
} }
} }
/**
* Wrapper for DB_DataObject's static lookup using memcached
* as backing instead of an in-process cache array.
*
* @param string $cls classname of object type to load
* @param mixed $k key field name, or value for primary key
* @param mixed $v key field value, or leave out for primary key lookup
* @return mixed Memcached_DataObject subtype or false
*/
function &staticGet($cls, $k, $v=null) function &staticGet($cls, $k, $v=null)
{ {
if (is_null($v)) { if (is_null($v)) {
@ -53,6 +62,13 @@ class Memcached_DataObject extends DB_DataObject
} else { } else {
$i = DB_DataObject::staticGet($cls, $k, $v); $i = DB_DataObject::staticGet($cls, $k, $v);
if ($i) { if ($i) {
// DB_DataObject's in-process lookup cache interferes with GC
// to cause massive memory leaks in long-running processes.
if (php_sapi_name() == 'cli') {
$i->_clear_cache();
}
// Now store it into the shared memcached, if present...
$i->encache(); $i->encache();
} }
return $i; return $i;

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:12+0000\n" "PO-Revision-Date: 2009-12-22 22:38:16+0000\n"
"Language-Team: Arabic\n" "Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n" "X-Language-Code: ar\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:15+0000\n" "PO-Revision-Date: 2009-12-22 22:38:19+0000\n"
"Language-Team: Egyptian Spoken Arabic\n" "Language-Team: Egyptian Spoken Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: arz\n" "X-Language-Code: arz\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

File diff suppressed because it is too large Load Diff

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:21+0000\n" "PO-Revision-Date: 2009-12-22 22:38:25+0000\n"
"Language-Team: Catalan\n" "Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n" "X-Language-Code: ca\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -258,7 +258,9 @@ msgstr "No has escrit cap usuari receptor."
#: actions/apidirectmessagenew.php:150 #: actions/apidirectmessagenew.php:150
msgid "Can't send direct messages to users who aren't your friend." msgid "Can't send direct messages to users who aren't your friend."
msgstr "No pots enviar missatges directes a usuaris que no siguin amics teus." msgstr ""
"No es pot enviar missatges directes a usuaris que no siguin els vostres "
"amics."
#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109 #: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109
#: actions/apistatusesdestroy.php:113 #: actions/apistatusesdestroy.php:113
@ -571,9 +573,10 @@ msgid "Avatar"
msgstr "Avatar" msgstr "Avatar"
#: actions/avatarsettings.php:78 #: actions/avatarsettings.php:78
#, fuzzy, php-format #, php-format
msgid "You can upload your personal avatar. The maximum file size is %s." msgid "You can upload your personal avatar. The maximum file size is %s."
msgstr "Pots pujar el teu avatar personal." msgstr ""
"Podeu pujar el vostre avatar personal. La mida màxima del fitxer és %s."
#: actions/avatarsettings.php:106 actions/avatarsettings.php:185 #: actions/avatarsettings.php:106 actions/avatarsettings.php:185
#: actions/grouplogo.php:178 actions/remotesubscribe.php:191 #: actions/grouplogo.php:178 actions/remotesubscribe.php:191
@ -1063,11 +1066,11 @@ msgstr "Cancel·la"
#: actions/emailsettings.php:121 #: actions/emailsettings.php:121
msgid "Email Address" msgid "Email Address"
msgstr "Direcció de correu electrònic" msgstr "Adreça electrònica"
#: actions/emailsettings.php:123 #: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\"" msgid "Email address, like \"UserName@example.org\""
msgstr "Correu electrònic, com Email address, like \"UserName@example.org\"" msgstr "Adreça electrònica, com ara «nomusuari@example.org»"
#: actions/emailsettings.php:126 actions/imsettings.php:133 #: actions/emailsettings.php:126 actions/imsettings.php:133
#: actions/smssettings.php:145 #: actions/smssettings.php:145
@ -1131,27 +1134,27 @@ msgstr "Publica una MicroID per al meu correu electrònic."
#: actions/emailsettings.php:302 actions/imsettings.php:264 #: actions/emailsettings.php:302 actions/imsettings.php:264
#: actions/othersettings.php:180 actions/smssettings.php:284 #: actions/othersettings.php:180 actions/smssettings.php:284
msgid "Preferences saved." msgid "Preferences saved."
msgstr "Preferències guardades." msgstr "S'han desat les preferències."
#: actions/emailsettings.php:320 #: actions/emailsettings.php:320
msgid "No email address." msgid "No email address."
msgstr "No hi ha cap direcció de correu electrònic." msgstr "No hi ha cap adreça electrònica."
#: actions/emailsettings.php:327 #: actions/emailsettings.php:327
msgid "Cannot normalize that email address" msgid "Cannot normalize that email address"
msgstr "No es pot normalitzar aquesta direcció de correu electrònic" msgstr "No es pot normalitzar l'adreça electrònica."
#: actions/emailsettings.php:331 actions/siteadminpanel.php:158 #: actions/emailsettings.php:331 actions/siteadminpanel.php:158
msgid "Not a valid email address" msgid "Not a valid email address"
msgstr "No és una direcció de correu electrònic vàlida." msgstr "No és una adreça electrònica vàlida."
#: actions/emailsettings.php:334 #: actions/emailsettings.php:334
msgid "That is already your email address." msgid "That is already your email address."
msgstr "Aquest ja és el teu correu electrònic." msgstr "Ja és la vostra adreça electrònica."
#: actions/emailsettings.php:337 #: actions/emailsettings.php:337
msgid "That email address already belongs to another user." msgid "That email address already belongs to another user."
msgstr "Aquest correu electrònic pertany a un altre usuari." msgstr "L'adreça electrònica ja pertany a un altre usuari."
#: actions/emailsettings.php:353 actions/imsettings.php:317 #: actions/emailsettings.php:353 actions/imsettings.php:317
#: actions/smssettings.php:337 #: actions/smssettings.php:337
@ -1514,7 +1517,7 @@ msgstr ""
#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122 #: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
msgid "Create a new group" msgid "Create a new group"
msgstr "Crear nou grup" msgstr "Crea un grup nou"
#: actions/groupsearch.php:52 #: actions/groupsearch.php:52
#, fuzzy, php-format #, fuzzy, php-format
@ -1558,7 +1561,7 @@ msgstr "L'usuari no està blocat del grup."
#: actions/groupunblock.php:128 actions/unblock.php:77 #: actions/groupunblock.php:128 actions/unblock.php:77
msgid "Error removing the block." msgid "Error removing the block."
msgstr "Error al moure el block." msgstr "S'ha produït un error en suprimir el bloc."
#: actions/imsettings.php:59 #: actions/imsettings.php:59
msgid "IM Settings" msgid "IM Settings"
@ -1607,11 +1610,11 @@ msgstr ""
#: actions/imsettings.php:143 #: actions/imsettings.php:143
msgid "Send me notices through Jabber/GTalk." msgid "Send me notices through Jabber/GTalk."
msgstr "Enviar-me avisos per Jabber/GTalk." msgstr "Envia'm avisos per Jabber/GTalk."
#: actions/imsettings.php:148 #: actions/imsettings.php:148
msgid "Post a notice when my Jabber/GTalk status changes." msgid "Post a notice when my Jabber/GTalk status changes."
msgstr "Enviar un avís quan el meu estat Jabber/GTalk canvii." msgstr "Envia'm un avís quan el meu estat Jabber/GTalk canvii."
#: actions/imsettings.php:153 #: actions/imsettings.php:153
msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to." msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
@ -5296,9 +5299,8 @@ msgid "Popular"
msgstr "Popular" msgstr "Popular"
#: lib/repeatform.php:107 lib/repeatform.php:132 #: lib/repeatform.php:107 lib/repeatform.php:132
#, fuzzy
msgid "Repeat this notice" msgid "Repeat this notice"
msgstr "respondre a aquesta nota" msgstr "Repeteix l'avís"
#: lib/repeatform.php:132 #: lib/repeatform.php:132
#, fuzzy #, fuzzy

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:24+0000\n" "PO-Revision-Date: 2009-12-22 22:38:28+0000\n"
"Language-Team: Czech\n" "Language-Team: Czech\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: cs\n" "X-Language-Code: cs\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -12,11 +12,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:27+0000\n" "PO-Revision-Date: 2009-12-22 22:38:31+0000\n"
"Language-Team: German\n" "Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n" "X-Language-Code: de\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:29+0000\n" "PO-Revision-Date: 2009-12-22 22:38:34+0000\n"
"Language-Team: Greek\n" "Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: el\n" "X-Language-Code: el\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -11,11 +11,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:32+0000\n" "PO-Revision-Date: 2009-12-22 22:38:37+0000\n"
"Language-Team: British English\n" "Language-Team: British English\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: en-gb\n" "X-Language-Code: en-gb\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -826,19 +826,16 @@ msgid "Delete this notice"
msgstr "Delete this notice" msgstr "Delete this notice"
#: actions/deletenotice.php:157 #: actions/deletenotice.php:157
#, fuzzy
msgid "There was a problem with your session token. Try again, please." msgid "There was a problem with your session token. Try again, please."
msgstr "There was a problem with your session token. Try again, please." msgstr "There was a problem with your session token. Try again, please."
#: actions/deleteuser.php:67 #: actions/deleteuser.php:67
#, fuzzy
msgid "You cannot delete users." msgid "You cannot delete users."
msgstr "Couldn't update user." msgstr "You cannot delete users."
#: actions/deleteuser.php:74 #: actions/deleteuser.php:74
#, fuzzy
msgid "You can only delete local users." msgid "You can only delete local users."
msgstr "You may not delete another user's status." msgstr "You can only delete local users."
#: actions/deleteuser.php:110 actions/deleteuser.php:133 #: actions/deleteuser.php:110 actions/deleteuser.php:133
#, fuzzy #, fuzzy
@ -850,6 +847,8 @@ msgid ""
"Are you sure you want to delete this user? This will clear all data about " "Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup." "the user from the database, without a backup."
msgstr "" msgstr ""
"Are you sure you want to delete this user? This will clear all data about "
"the user from the database, without a backup."
#: actions/deleteuser.php:148 lib/deleteuserform.php:77 #: actions/deleteuser.php:148 lib/deleteuserform.php:77
msgid "Delete this user" msgid "Delete this user"
@ -858,11 +857,11 @@ msgstr "Delete this user"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124 #: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
#: lib/adminpanelaction.php:302 lib/groupnav.php:119 #: lib/adminpanelaction.php:302 lib/groupnav.php:119
msgid "Design" msgid "Design"
msgstr "" msgstr "Design"
#: actions/designadminpanel.php:73 #: actions/designadminpanel.php:73
msgid "Design settings for this StatusNet site." msgid "Design settings for this StatusNet site."
msgstr "" msgstr "Design settings for this StausNet site."
#: actions/designadminpanel.php:275 #: actions/designadminpanel.php:275
#, fuzzy #, fuzzy
@ -899,12 +898,12 @@ msgstr "Logout from the site"
#: actions/designadminpanel.php:417 lib/designsettings.php:101 #: actions/designadminpanel.php:417 lib/designsettings.php:101
msgid "Change background image" msgid "Change background image"
msgstr "" msgstr "Change background image"
#: actions/designadminpanel.php:422 actions/designadminpanel.php:497 #: actions/designadminpanel.php:422 actions/designadminpanel.php:497
#: lib/designsettings.php:178 #: lib/designsettings.php:178
msgid "Background" msgid "Background"
msgstr "" msgstr "Background"
#: actions/designadminpanel.php:427 #: actions/designadminpanel.php:427
#, fuzzy, php-format #, fuzzy, php-format
@ -915,19 +914,19 @@ msgstr "You can upload a logo image for your group."
#: actions/designadminpanel.php:457 lib/designsettings.php:139 #: actions/designadminpanel.php:457 lib/designsettings.php:139
msgid "On" msgid "On"
msgstr "" msgstr "On"
#: actions/designadminpanel.php:473 lib/designsettings.php:155 #: actions/designadminpanel.php:473 lib/designsettings.php:155
msgid "Off" msgid "Off"
msgstr "" msgstr "Off"
#: actions/designadminpanel.php:474 lib/designsettings.php:156 #: actions/designadminpanel.php:474 lib/designsettings.php:156
msgid "Turn background image on or off." msgid "Turn background image on or off."
msgstr "" msgstr "Turn background image on or off."
#: actions/designadminpanel.php:479 lib/designsettings.php:161 #: actions/designadminpanel.php:479 lib/designsettings.php:161
msgid "Tile background image" msgid "Tile background image"
msgstr "" msgstr "Tile background image"
#: actions/designadminpanel.php:488 lib/designsettings.php:170 #: actions/designadminpanel.php:488 lib/designsettings.php:170
msgid "Change colours" msgid "Change colours"
@ -953,15 +952,15 @@ msgstr "Links"
#: actions/designadminpanel.php:577 lib/designsettings.php:247 #: actions/designadminpanel.php:577 lib/designsettings.php:247
msgid "Use defaults" msgid "Use defaults"
msgstr "" msgstr "Use defaults"
#: actions/designadminpanel.php:578 lib/designsettings.php:248 #: actions/designadminpanel.php:578 lib/designsettings.php:248
msgid "Restore default designs" msgid "Restore default designs"
msgstr "" msgstr "Restore default designs"
#: actions/designadminpanel.php:584 lib/designsettings.php:254 #: actions/designadminpanel.php:584 lib/designsettings.php:254
msgid "Reset back to default" msgid "Reset back to default"
msgstr "" msgstr "Reset back to default"
#: actions/designadminpanel.php:586 actions/emailsettings.php:195 #: actions/designadminpanel.php:586 actions/emailsettings.php:195
#: actions/imsettings.php:163 actions/othersettings.php:126 #: actions/imsettings.php:163 actions/othersettings.php:126
@ -975,7 +974,7 @@ msgstr "Save"
#: actions/designadminpanel.php:587 lib/designsettings.php:257 #: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design" msgid "Save design"
msgstr "" msgstr "Save design"
#: actions/disfavor.php:81 #: actions/disfavor.php:81
msgid "This notice is not a favorite!" msgid "This notice is not a favorite!"
@ -1361,7 +1360,7 @@ msgstr "No profile specified."
#: actions/groupblock.php:91 #: actions/groupblock.php:91
msgid "Only an admin can block group members." msgid "Only an admin can block group members."
msgstr "" msgstr "Only an admin can block group members."
#: actions/groupblock.php:95 #: actions/groupblock.php:95
msgid "User is already blocked from group." msgid "User is already blocked from group."
@ -1383,6 +1382,9 @@ msgid ""
"be removed from the group, unable to post, and unable to subscribe to the " "be removed from the group, unable to post, and unable to subscribe to the "
"group in the future." "group in the future."
msgstr "" msgstr ""
"Are you sure you want to block user \"%s\" from the group \"%s\"? They will "
"be removed from the group, unable to post, and unable to subscribe to the "
"group in the future."
#: actions/groupblock.php:178 #: actions/groupblock.php:178
msgid "Do not block this user from this group" msgid "Do not block this user from this group"
@ -1394,7 +1396,7 @@ msgstr "Block this user from this group"
#: actions/groupblock.php:196 #: actions/groupblock.php:196
msgid "Database error blocking user from group." msgid "Database error blocking user from group."
msgstr "" msgstr "Database error blocking user from group."
#: actions/groupbyid.php:74 #: actions/groupbyid.php:74
msgid "No ID" msgid "No ID"
@ -1415,6 +1417,8 @@ msgid ""
"Customize the way your group looks with a background image and a colour " "Customize the way your group looks with a background image and a colour "
"palette of your choice." "palette of your choice."
msgstr "" msgstr ""
"Customise the way your group looks with a background image and a colour "
"palette of your choice."
#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186 #: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413 #: lib/designsettings.php:391 lib/designsettings.php:413
@ -1589,7 +1593,7 @@ msgid "Current confirmed Jabber/GTalk address."
msgstr "Current confirmed Jabber/GTalk address." msgstr "Current confirmed Jabber/GTalk address."
#: actions/imsettings.php:114 #: actions/imsettings.php:114
#, fuzzy, php-format #, php-format
msgid "" msgid ""
"Awaiting confirmation on this address. Check your Jabber/GTalk account for a " "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
"message with further instructions. (Did you add %s to your buddy list?)" "message with further instructions. (Did you add %s to your buddy list?)"
@ -2324,7 +2328,7 @@ msgstr "Invalid notice content"
#: actions/postnotice.php:90 #: actions/postnotice.php:90
#, php-format #, php-format
msgid "Notice license %s is not compatible with site license %s." msgid "Notice license %s is not compatible with site license %s."
msgstr "" msgstr "Notice licence %s is not compatible with site licence %s."
#: actions/profilesettings.php:60 #: actions/profilesettings.php:60
msgid "Profile settings" msgid "Profile settings"
@ -2509,6 +2513,10 @@ msgid ""
"tool. [Join now](%%action.register%%) to share notices about yourself with " "tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))" "friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr "" msgstr ""
"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
"blogging) service based on the Free Software [StatusNet](http://status.net/) "
"tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
#: actions/public.php:238 #: actions/public.php:238
#, php-format #, php-format
@ -2870,9 +2878,8 @@ msgid "No notice specified."
msgstr "No profile specified." msgstr "No profile specified."
#: actions/repeat.php:76 #: actions/repeat.php:76
#, fuzzy
msgid "You can't repeat your own notice." msgid "You can't repeat your own notice."
msgstr "You can't register if you don't agree to the licence." msgstr "You can't repeat your own notice."
#: actions/repeat.php:90 #: actions/repeat.php:90
#, fuzzy #, fuzzy

View File

@ -12,11 +12,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:35+0000\n" "PO-Revision-Date: 2009-12-22 22:38:39+0000\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: es\n" "X-Language-Code: es\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

File diff suppressed because it is too large Load Diff

View File

@ -11,11 +11,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:38+0000\n" "PO-Revision-Date: 2009-12-22 22:38:42+0000\n"
"Language-Team: Finnish\n" "Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fi\n" "X-Language-Code: fi\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -14,11 +14,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:44+0000\n" "PO-Revision-Date: 2009-12-22 22:38:48+0000\n"
"Language-Team: French\n" "Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n" "X-Language-Code: fr\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -1279,9 +1279,9 @@ msgid "Featured users, page %d"
msgstr "Utilisateurs en vedette - page %d" msgstr "Utilisateurs en vedette - page %d"
#: actions/featured.php:99 #: actions/featured.php:99
#, fuzzy, php-format #, php-format
msgid "A selection of some great users on %s" msgid "A selection of some great users on %s"
msgstr "Les utilisateurs à ne pas manquer dans %s" msgstr "Une sélection d'utilisateurs à ne pas manquer dans %s"
#: actions/file.php:34 #: actions/file.php:34
msgid "No notice ID." msgid "No notice ID."

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:47+0000\n" "PO-Revision-Date: 2009-12-22 22:38:51+0000\n"
"Language-Team: Irish\n" "Language-Team: Irish\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ga\n" "X-Language-Code: ga\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -8,11 +8,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:50+0000\n" "PO-Revision-Date: 2009-12-22 22:38:54+0000\n"
"Language-Team: Hebrew\n" "Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n" "X-Language-Code: he\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:53+0000\n" "PO-Revision-Date: 2009-12-22 22:38:57+0000\n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hsb\n" "X-Language-Code: hsb\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:57+0000\n" "PO-Revision-Date: 2009-12-22 22:38:59+0000\n"
"Language-Team: Interlingua\n" "Language-Team: Interlingua\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n" "X-Language-Code: ia\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -1264,7 +1264,7 @@ msgid "Featured users, page %d"
msgstr "Usatores in evidentia, pagina %d" msgstr "Usatores in evidentia, pagina %d"
#: actions/featured.php:99 #: actions/featured.php:99
#, fuzzy, php-format #, php-format
msgid "A selection of some great users on %s" msgid "A selection of some great users on %s"
msgstr "Un selection de usatores eminente in %s" msgstr "Un selection de usatores eminente in %s"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:17:59+0000\n" "PO-Revision-Date: 2009-12-22 22:39:02+0000\n"
"Language-Team: Icelandic\n" "Language-Team: Icelandic\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: is\n" "X-Language-Code: is\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:02+0000\n" "PO-Revision-Date: 2009-12-22 22:39:07+0000\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: it\n" "X-Language-Code: it\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -1271,9 +1271,9 @@ msgid "Featured users, page %d"
msgstr "Utenti in evidenza, pagina %d" msgstr "Utenti in evidenza, pagina %d"
#: actions/featured.php:99 #: actions/featured.php:99
#, fuzzy, php-format #, php-format
msgid "A selection of some great users on %s" msgid "A selection of some great users on %s"
msgstr "Una selezione dei migliori utenti su %s" msgstr "Una selezione di alcuni dei migliori utenti su %s"
#: actions/file.php:34 #: actions/file.php:34
msgid "No notice ID." msgid "No notice ID."

View File

@ -11,11 +11,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:05+0000\n" "PO-Revision-Date: 2009-12-22 22:39:10+0000\n"
"Language-Team: Japanese\n" "Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ja\n" "X-Language-Code: ja\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -8,11 +8,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:10+0000\n" "PO-Revision-Date: 2009-12-22 22:39:12+0000\n"
"Language-Team: Korean\n" "Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n" "X-Language-Code: ko\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:15+0000\n" "PO-Revision-Date: 2009-12-22 22:39:15+0000\n"
"Language-Team: Macedonian\n" "Language-Team: Macedonian\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n" "X-Language-Code: mk\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:18+0000\n" "PO-Revision-Date: 2009-12-22 22:39:18+0000\n"
"Language-Team: Norwegian (bokmål)\n" "Language-Team: Norwegian (bokmål)\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n" "X-Language-Code: no\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:24+0000\n" "PO-Revision-Date: 2009-12-22 22:39:24+0000\n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n" "X-Language-Code: nl\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -1281,9 +1281,9 @@ msgid "Featured users, page %d"
msgstr "Nieuwe gebruikers, pagina %d" msgstr "Nieuwe gebruikers, pagina %d"
#: actions/featured.php:99 #: actions/featured.php:99
#, fuzzy, php-format #, php-format
msgid "A selection of some great users on %s" msgid "A selection of some great users on %s"
msgstr "Een selectie van de actieve gebruikers op %s" msgstr "Een selectie van gewaardeerde gebruikers op %s"
#: actions/file.php:34 #: actions/file.php:34
msgid "No notice ID." msgid "No notice ID."

View File

@ -8,11 +8,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:20+0000\n" "PO-Revision-Date: 2009-12-22 22:39:21+0000\n"
"Language-Team: Norwegian Nynorsk\n" "Language-Team: Norwegian Nynorsk\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nn\n" "X-Language-Code: nn\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -11,7 +11,7 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:27+0000\n" "PO-Revision-Date: 2009-12-22 22:39:27+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n" "Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n" "|| n%100>=20) ? 1 : 2);\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pl\n" "X-Language-Code: pl\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:30+0000\n" "PO-Revision-Date: 2009-12-22 22:39:30+0000\n"
"Language-Team: Portuguese\n" "Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n" "X-Language-Code: pt\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -11,11 +11,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:33+0000\n" "PO-Revision-Date: 2009-12-22 22:39:33+0000\n"
"Language-Team: Brazilian Portuguese\n" "Language-Team: Brazilian Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n" "X-Language-Code: pt-br\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -11,11 +11,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:36+0000\n" "PO-Revision-Date: 2009-12-22 22:39:35+0000\n"
"Language-Team: Russian\n" "Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n" "X-Language-Code: ru\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -446,14 +446,12 @@ msgid "No such notice."
msgstr "Нет такой записи." msgstr "Нет такой записи."
#: actions/apistatusesretweet.php:83 #: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice." msgid "Cannot repeat your own notice."
msgstr "Есть оповещение." msgstr "Невозможно повторить собственную запись."
#: actions/apistatusesretweet.php:91 #: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice." msgid "Already repeated that notice."
msgstr "Удалить эту запись" msgstr "Запись уже повторена."
#: actions/apistatusesshow.php:138 #: actions/apistatusesshow.php:138
msgid "Status deleted." msgid "Status deleted."
@ -527,17 +525,17 @@ msgstr "Обновления %s от всех!"
#: actions/apitimelineretweetedbyme.php:112 #: actions/apitimelineretweetedbyme.php:112
#, php-format #, php-format
msgid "Repeated by %s" msgid "Repeated by %s"
msgstr "" msgstr "Повторено %s"
#: actions/apitimelineretweetedtome.php:111 #: actions/apitimelineretweetedtome.php:111
#, fuzzy, php-format #, php-format
msgid "Repeated to %s" msgid "Repeated to %s"
msgstr "Ответы для %s" msgstr "Повторено для %s"
#: actions/apitimelineretweetsofme.php:112 #: actions/apitimelineretweetsofme.php:112
#, fuzzy, php-format #, php-format
msgid "Repeats of %s" msgid "Repeats of %s"
msgstr "Ответы для %s" msgstr "Повторы %s"
#: actions/apitimelinetag.php:102 actions/tag.php:66 #: actions/apitimelinetag.php:102 actions/tag.php:66
#, php-format #, php-format
@ -1280,29 +1278,25 @@ msgid "Featured users, page %d"
msgstr "Особые пользователи, страница %d" msgstr "Особые пользователи, страница %d"
#: actions/featured.php:99 #: actions/featured.php:99
#, fuzzy, php-format #, php-format
msgid "A selection of some great users on %s" msgid "A selection of some great users on %s"
msgstr "Список наиболее активных, знаменитых и уважаемых пользователей на %s" msgstr "Некоторые из известных пользователей на %s"
#: actions/file.php:34 #: actions/file.php:34
#, fuzzy
msgid "No notice ID." msgid "No notice ID."
msgstr "Запись отсутствует" msgstr "Нет ID записи."
#: actions/file.php:38 #: actions/file.php:38
#, fuzzy
msgid "No notice." msgid "No notice."
msgstr "Запись отсутствует" msgstr "Запись отсутствует."
#: actions/file.php:42 #: actions/file.php:42
#, fuzzy
msgid "No attachments." msgid "No attachments."
msgstr "Нет вложений" msgstr "Нет вложений."
#: actions/file.php:51 #: actions/file.php:51
#, fuzzy
msgid "No uploaded attachments." msgid "No uploaded attachments."
msgstr "Нет загруженных вложений" msgstr "Нет загруженных вложений."
#: actions/finishremotesubscribe.php:69 #: actions/finishremotesubscribe.php:69
msgid "Not expecting this response!" msgid "Not expecting this response!"
@ -2888,36 +2882,28 @@ msgid "Couldnt get a request token."
msgstr "Не удаётся получить получить ключ запроса." msgstr "Не удаётся получить получить ключ запроса."
#: actions/repeat.php:57 #: actions/repeat.php:57
#, fuzzy
msgid "Only logged-in users can repeat notices." msgid "Only logged-in users can repeat notices."
msgstr "Только сам пользователь может читать собственный почтовый ящик." msgstr "Повторять записи могут только вошедшие пользователи."
#: actions/repeat.php:64 actions/repeat.php:71 #: actions/repeat.php:64 actions/repeat.php:71
#, fuzzy
msgid "No notice specified." msgid "No notice specified."
msgstr "Профиль не определен." msgstr "Не указана запись."
#: actions/repeat.php:76 #: actions/repeat.php:76
#, fuzzy
msgid "You can't repeat your own notice." msgid "You can't repeat your own notice."
msgstr "" msgstr "Вы не можете повторить собственную запись."
"Вы не можете зарегистрироваться, если Вы не подтверждаете лицензионного "
"соглашения."
#: actions/repeat.php:90 #: actions/repeat.php:90
#, fuzzy
msgid "You already repeated that notice." msgid "You already repeated that notice."
msgstr "Вы уже заблокировали этого пользователя." msgstr "Вы уже повторили эту запись."
#: actions/repeat.php:114 lib/noticelist.php:621 #: actions/repeat.php:114 lib/noticelist.php:621
#, fuzzy
msgid "Repeated" msgid "Repeated"
msgstr "Создано" msgstr "Повторено"
#: actions/repeat.php:119 #: actions/repeat.php:119
#, fuzzy
msgid "Repeated!" msgid "Repeated!"
msgstr "Создано" msgstr "Повторено!"
#: actions/replies.php:125 actions/repliesrss.php:68 #: actions/replies.php:125 actions/repliesrss.php:68
#: lib/personalgroupnav.php:105 #: lib/personalgroupnav.php:105
@ -3256,9 +3242,9 @@ msgstr ""
"net/)." "net/)."
#: actions/showstream.php:313 #: actions/showstream.php:313
#, fuzzy, php-format #, php-format
msgid "Repeat of %s" msgid "Repeat of %s"
msgstr "Ответы для %s" msgstr "Повтор %s"
#: actions/silence.php:65 actions/unsilence.php:65 #: actions/silence.php:65 actions/unsilence.php:65
msgid "You cannot silence users on this site." msgid "You cannot silence users on this site."
@ -3732,9 +3718,8 @@ msgid "Notice feed for tag %s (Atom)"
msgstr "Лента записей для тега %s (Atom)" msgstr "Лента записей для тега %s (Atom)"
#: actions/tagother.php:39 #: actions/tagother.php:39
#, fuzzy
msgid "No ID argument." msgid "No ID argument."
msgstr "Нет ID аргумента." msgstr "Нет аргумента ID."
#: actions/tagother.php:65 #: actions/tagother.php:65
#, php-format #, php-format
@ -4004,9 +3989,8 @@ msgid "Wrong image type for avatar URL %s."
msgstr "Неверный тип изображения для URL аватары «%s»." msgstr "Неверный тип изображения для URL аватары «%s»."
#: actions/userbyid.php:70 #: actions/userbyid.php:70
#, fuzzy
msgid "No ID." msgid "No ID."
msgstr "Нет ID" msgstr "Нет ID."
#: actions/userdesignsettings.php:76 lib/designsettings.php:65 #: actions/userdesignsettings.php:76 lib/designsettings.php:65
msgid "Profile design" msgid "Profile design"
@ -4117,9 +4101,9 @@ msgid "DB error inserting reply: %s"
msgstr "Ошибка баз данных при вставке ответа для %s" msgstr "Ошибка баз данных при вставке ответа для %s"
#: classes/Notice.php:1371 #: classes/Notice.php:1371
#, fuzzy, php-format #, php-format
msgid "RT @%1$s %2$s" msgid "RT @%1$s %2$s"
msgstr "%1$s (%2$s)" msgstr "RT @%1$s %2$s"
#: classes/User.php:368 #: classes/User.php:368
#, php-format #, php-format
@ -4483,24 +4467,21 @@ msgid "Error sending direct message."
msgstr "Ошибка при отправке прямого сообщения." msgstr "Ошибка при отправке прямого сообщения."
#: lib/command.php:422 #: lib/command.php:422
#, fuzzy
msgid "Cannot repeat your own notice" msgid "Cannot repeat your own notice"
msgstr "Есть оповещение." msgstr "Невозможно повторить собственную запись."
#: lib/command.php:427 #: lib/command.php:427
#, fuzzy
msgid "Already repeated that notice" msgid "Already repeated that notice"
msgstr "Удалить эту запись" msgstr "Эта запись уже повторена"
#: lib/command.php:435 #: lib/command.php:435
#, fuzzy, php-format #, php-format
msgid "Notice from %s repeated" msgid "Notice from %s repeated"
msgstr "Запись опубликована" msgstr "Запись %s повторена"
#: lib/command.php:437 #: lib/command.php:437
#, fuzzy
msgid "Error repeating notice." msgid "Error repeating notice."
msgstr "Проблемы с сохранением записи." msgstr "Ошибка при повторении записи."
#: lib/command.php:491 #: lib/command.php:491
#, php-format #, php-format
@ -4602,7 +4583,6 @@ msgstr[1] "Вы являетесь участником следующих гр
msgstr[2] "Вы являетесь участником следующих групп:" msgstr[2] "Вы являетесь участником следующих групп:"
#: lib/command.php:745 #: lib/command.php:745
#, fuzzy
msgid "" msgid ""
"Commands:\n" "Commands:\n"
"on - turn on notifications\n" "on - turn on notifications\n"
@ -4656,6 +4636,8 @@ msgstr ""
"whois <nickname> — получить информацию из профиля пользователя\n" "whois <nickname> — получить информацию из профиля пользователя\n"
"fav <nickname> — добавить последнюю запись пользователя в число любимых\n" "fav <nickname> — добавить последнюю запись пользователя в число любимых\n"
"fav #<notice_id> — добавить запись с заданным id в число любимых\n" "fav #<notice_id> — добавить запись с заданным id в число любимых\n"
"repeat #<notice_id> — повторить уведомление с заданным id\n"
"repeat <nickname> — повторить последнее уведомление от пользователя\n"
"reply #<notice_id> — ответить на запись с заданным id\n" "reply #<notice_id> — ответить на запись с заданным id\n"
"reply <nickname> — ответить на последнюю запись пользователя\n" "reply <nickname> — ответить на последнюю запись пользователя\n"
"join <group> — присоединиться к группе\n" "join <group> — присоединиться к группе\n"
@ -5309,9 +5291,8 @@ msgid "in context"
msgstr "в контексте" msgstr "в контексте"
#: lib/noticelist.php:548 #: lib/noticelist.php:548
#, fuzzy
msgid "Repeated by" msgid "Repeated by"
msgstr "Создано" msgstr "Повторено"
#: lib/noticelist.php:577 #: lib/noticelist.php:577
msgid "Reply to this notice" msgid "Reply to this notice"
@ -5322,9 +5303,8 @@ msgid "Reply"
msgstr "Ответить" msgstr "Ответить"
#: lib/noticelist.php:620 #: lib/noticelist.php:620
#, fuzzy
msgid "Notice repeated" msgid "Notice repeated"
msgstr "Запись удалена." msgstr "Запись повторена"
#: lib/nudgeform.php:116 #: lib/nudgeform.php:116
msgid "Nudge this user" msgid "Nudge this user"
@ -5424,14 +5404,12 @@ msgid "All groups"
msgstr "Все группы" msgstr "Все группы"
#: lib/profileformaction.php:123 #: lib/profileformaction.php:123
#, fuzzy
msgid "No return-to arguments." msgid "No return-to arguments."
msgstr "Нет аргумента return-to" msgstr "Нет аргумента return-to."
#: lib/profileformaction.php:137 #: lib/profileformaction.php:137
#, fuzzy
msgid "Unimplemented method." msgid "Unimplemented method."
msgstr "нереализованный метод" msgstr "Нереализованный метод."
#: lib/publicgroupnav.php:78 #: lib/publicgroupnav.php:78
msgid "Public" msgid "Public"
@ -5454,14 +5432,12 @@ msgid "Popular"
msgstr "Популярное" msgstr "Популярное"
#: lib/repeatform.php:107 lib/repeatform.php:132 #: lib/repeatform.php:107 lib/repeatform.php:132
#, fuzzy
msgid "Repeat this notice" msgid "Repeat this notice"
msgstr "Ответить на эту запись" msgstr "Повторить эту запись"
#: lib/repeatform.php:132 #: lib/repeatform.php:132
#, fuzzy
msgid "Repeat" msgid "Repeat"
msgstr "Сбросить" msgstr "Повторить"
#: lib/sandboxform.php:67 #: lib/sandboxform.php:67
msgid "Sandbox" msgid "Sandbox"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-22 22:38+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:39+0000\n" "PO-Revision-Date: 2009-12-22 22:39:38+0000\n"
"Language-Team: Swedish\n" "Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: sv\n" "X-Language-Code: sv\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:42+0000\n" "PO-Revision-Date: 2009-12-22 22:39:41+0000\n"
"Language-Team: Telugu\n" "Language-Team: Telugu\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: te\n" "X-Language-Code: te\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -9,11 +9,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:45+0000\n" "PO-Revision-Date: 2009-12-22 22:39:44+0000\n"
"Language-Team: Turkish\n" "Language-Team: Turkish\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n" "X-Language-Code: tr\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -10,11 +10,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:48+0000\n" "PO-Revision-Date: 2009-12-22 22:39:47+0000\n"
"Language-Team: Ukrainian\n" "Language-Team: Ukrainian\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n" "X-Language-Code: uk\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"
@ -1262,9 +1262,9 @@ msgid "Featured users, page %d"
msgstr "Користувачі варті уваги, сторінка %d" msgstr "Користувачі варті уваги, сторінка %d"
#: actions/featured.php:99 #: actions/featured.php:99
#, fuzzy, php-format #, php-format
msgid "A selection of some great users on %s" msgid "A selection of some great users on %s"
msgstr "Вибірка з деяких видатних користувачів на %s" msgstr "Список деяких видатних користувачів на %s"
#: actions/file.php:34 #: actions/file.php:34
msgid "No notice ID." msgid "No notice ID."

View File

@ -8,11 +8,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:52+0000\n" "PO-Revision-Date: 2009-12-22 22:39:50+0000\n"
"Language-Team: Vietnamese\n" "Language-Team: Vietnamese\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: vi\n" "X-Language-Code: vi\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -11,11 +11,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:55+0000\n" "PO-Revision-Date: 2009-12-22 22:39:53+0000\n"
"Language-Team: Simplified Chinese\n" "Language-Team: Simplified Chinese\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n" "X-Language-Code: zh-hans\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -8,11 +8,11 @@ msgstr ""
"Project-Id-Version: StatusNet\n" "Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-21 21:17+0000\n" "POT-Creation-Date: 2009-12-21 21:17+0000\n"
"PO-Revision-Date: 2009-12-21 21:18:57+0000\n" "PO-Revision-Date: 2009-12-22 22:39:56+0000\n"
"Language-Team: Traditional Chinese\n" "Language-Team: Traditional Chinese\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: MediaWiki 1.16alpha (r60279); Translate extension (2009-12-06)\n" "X-Generator: MediaWiki 1.16alpha (r60291); Translate extension (2009-12-06)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hant\n" "X-Language-Code: zh-hant\n"
"X-Message-Group: out-statusnet\n" "X-Message-Group: out-statusnet\n"

View File

@ -0,0 +1,134 @@
<?php
/**
* StatusNet, the distributed open-source microblogging tool
*
* Plugin to enable Single Sign On via CAS (Central Authentication Service)
*
* PHP version 5
*
* LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Plugin
* @package StatusNet
* @author Craig Andrews <candrews@integralblue.com>
* @copyright 2009 Craig Andrews http://candrews.integralblue.com
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
}
// We bundle the phpCAS library...
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/CAS');
class CasAuthenticationPlugin extends AuthenticationPlugin
{
public $server;
public $port = 443;
public $path = '';
function checkPassword($username, $password)
{
global $casTempPassword;
return ($casTempPassword == $password);
}
function onAutoload($cls)
{
switch ($cls)
{
case 'phpCAS':
require_once(INSTALLDIR.'/plugins/CasAuthentication/extlib/CAS.php');
return false;
case 'CasloginAction':
require_once(INSTALLDIR.'/plugins/CasAuthentication/' . strtolower(mb_substr($cls, 0, -6)) . '.php');
return false;
default:
return parent::onAutoload($cls);
}
}
function onStartInitializeRouter($m)
{
$m->connect('main/cas', array('action' => 'caslogin'));
return true;
}
function onEndLoginGroupNav(&$action)
{
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('caslogin'),
_m('CAS'),
_m('Login or register with CAS'),
$action_name === 'caslogin');
return true;
}
function onEndShowPageNotice($action)
{
$name = $action->trimmed('action');
switch ($name)
{
case 'login':
$instr = '(Have an account with CAS? ' .
'Try our [CAS login]'.
'(%%action.caslogin%%)!)';
break;
default:
return true;
}
$output = common_markup_to_html($instr);
$action->raw($output);
return true;
}
function onLoginAction($action, &$login)
{
switch ($action)
{
case 'caslogin':
$login = true;
return false;
default:
return true;
}
}
function onInitializePlugin(){
parent::onInitializePlugin();
if(!isset($this->server)){
throw new Exception("must specify a server");
}
if(!isset($this->port)){
throw new Exception("must specify a port");
}
if(!isset($this->path)){
throw new Exception("must specify a path");
}
//These values need to be accessible to a action object
//I can't think of any other way than global variables
//to allow the action instance to be able to see values :-(
global $casSettings;
$casSettings = array();
$casSettings['server']=$this->server;
$casSettings['port']=$this->port;
$casSettings['path']=$this->path;
}
}

View File

@ -0,0 +1,38 @@
The CAS Authentication plugin allows for StatusNet to handle authentication
through CAS (Central Authentication Service).
Installation
============
add "addPlugin('casAuthentication',
array('setting'=>'value', 'setting2'=>'value2', ...);"
to the bottom of your config.php
Settings
========
provider_name*: a unique name for this authentication provider.
authoritative (false): Set to true if CAS's responses are authoritative
(if authorative and CAS fails, no other password checking will be done).
autoregistration (false): Set to true if users should be automatically created
when they attempt to login.
email_changeable (true): Are users allowed to change their email address?
(true or false)
password_changeable*: must be set to false. This plugin does not support changing passwords.
server*: CAS server to authentication against
port (443): Port the CAS server listens on. Almost always 443
path (): Path on the server to CAS. Usually blank.
* required
default values are in (parenthesis)
Example
=======
addPlugin('casAuthentication', array(
'provider_name'=>'Example',
'authoritative'=>true,
'autoregistration'=>true,
'server'=>'sso-cas.univ-rennes1.fr',
'port'=>443,
'path'=>''
));

View File

@ -0,0 +1,66 @@
<?php
/*
* StatusNet - the distributed open-source microblogging tool
* Copyright (C) 2008, 2009, StatusNet, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class CasloginAction extends Action
{
function handle($args)
{
parent::handle($args);
if (common_is_real_login()) {
$this->clientError(_m('Already logged in.'));
} else {
global $casSettings;
phpCAS::client(CAS_VERSION_2_0,$casSettings['server'],$casSettings['port'],$casSettings['path']);
phpCAS::setNoCasServerValidation();
phpCAS::handleLogoutRequests();
phpCAS::forceAuthentication();
global $casTempPassword;
$casTempPassword = common_good_rand(16);
$user = common_check_user(phpCAS::getUser(), $casTempPassword);
if (!$user) {
$this->serverError(_('Incorrect username or password.'));
return;
}
// success!
if (!common_set_user($user)) {
$this->serverError(_('Error setting user. You are probably not authorized.'));
return;
}
common_real_login(true);
$url = common_get_returnto();
if ($url) {
// We don't have to return to it again
common_set_returnto(null);
} else {
$url = common_local_url('all',
array('nickname' =>
$user->nickname));
}
common_redirect($url, 303);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,190 @@
<?php
/**
* @file CAS/PGTStorage/pgt-db.php
* Basic class for PGT database storage
*/
/**
* @class PGTStorageDB
* The PGTStorageDB class is a class for PGT database storage. An instance of
* this class is returned by CASClient::SetPGTStorageDB().
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorageDB
*/
class PGTStorageDB extends PGTStorage
{
/**
* @addtogroup internalPGTStorageDB
* @{
*/
/**
* a string representing a PEAR DB URL to connect to the database. Written by
* PGTStorageDB::PGTStorageDB(), read by getURL().
*
* @hideinitializer
* @private
*/
var $_url='';
/**
* This method returns the PEAR DB URL to use to connect to the database.
*
* @return a PEAR DB URL
*
* @private
*/
function getURL()
{
return $this->_url;
}
/**
* The handle of the connection to the database where PGT's are stored. Written by
* PGTStorageDB::init(), read by getLink().
*
* @hideinitializer
* @private
*/
var $_link = null;
/**
* This method returns the handle of the connection to the database where PGT's are
* stored.
*
* @return a handle of connection.
*
* @private
*/
function getLink()
{
return $this->_link;
}
/**
* The name of the table where PGT's are stored. Written by
* PGTStorageDB::PGTStorageDB(), read by getTable().
*
* @hideinitializer
* @private
*/
var $_table = '';
/**
* This method returns the name of the table where PGT's are stored.
*
* @return the name of a table.
*
* @private
*/
function getTable()
{
return $this->_table;
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageType()
{
return "database";
}
/**
* This method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @public
*/
function getStorageInfo()
{
return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
}
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The class constructor, called by CASClient::SetPGTStorageDB().
*
* @param $cas_parent the CASClient instance that creates the object.
* @param $user the user to access the data with
* @param $password the user's password
* @param $database_type the type of the database hosting the data
* @param $hostname the server hosting the database
* @param $port the port the server is listening on
* @param $database the name of the database
* @param $table the name of the table storing the data
*
* @public
*/
function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
{
phpCAS::traceBegin();
// call the ancestor's constructor
$this->PGTStorage($cas_parent);
if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
// build and store the PEAR DB URL
$this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
// XXX should use setURL and setTable
phpCAS::traceEnd();
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* This method is used to initialize the storage. Halts on error.
*
* @public
*/
function init()
{
phpCAS::traceBegin();
// if the storage has already been initialized, return immediatly
if ( $this->isInitialized() )
return;
// call the ancestor's method (mark as initialized)
parent::init();
//include phpDB library (the test was introduced in release 0.4.8 for
//the integration into Tikiwiki).
if (!class_exists('DB')) {
include_once('DB.php');
}
// try to connect to the database
$this->_link = DB::connect($this->getURL());
if ( DB::isError($this->_link) ) {
phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
}
var_dump($this->_link);
phpCAS::traceBEnd();
}
/** @} */
}
?>

View File

@ -0,0 +1,249 @@
<?php
/**
* @file CAS/PGTStorage/pgt-file.php
* Basic class for PGT file storage
*/
/**
* @class PGTStorageFile
* The PGTStorageFile class is a class for PGT file storage. An instance of
* this class is returned by CASClient::SetPGTStorageFile().
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorageFile
*/
class PGTStorageFile extends PGTStorage
{
/**
* @addtogroup internalPGTStorageFile
* @{
*/
/**
* a string telling where PGT's should be stored on the filesystem. Written by
* PGTStorageFile::PGTStorageFile(), read by getPath().
*
* @private
*/
var $_path;
/**
* This method returns the name of the directory where PGT's should be stored
* on the filesystem.
*
* @return the name of a directory (with leading and trailing '/')
*
* @private
*/
function getPath()
{
return $this->_path;
}
/**
* a string telling the format to use to store PGT's (plain or xml). Written by
* PGTStorageFile::PGTStorageFile(), read by getFormat().
*
* @private
*/
var $_format;
/**
* This method returns the format to use when storing PGT's on the filesystem.
*
* @return a string corresponding to the format used (plain or xml).
*
* @private
*/
function getFormat()
{
return $this->_format;
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageType()
{
return "file";
}
/**
* This method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @return an informational string.
* @public
*/
function getStorageInfo()
{
return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
}
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The class constructor, called by CASClient::SetPGTStorageFile().
*
* @param $cas_parent the CASClient instance that creates the object.
* @param $format the format used to store the PGT's (`plain' and `xml' allowed).
* @param $path the path where the PGT's should be stored
*
* @public
*/
function PGTStorageFile($cas_parent,$format,$path)
{
phpCAS::traceBegin();
// call the ancestor's constructor
$this->PGTStorage($cas_parent);
if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
// check that the path is an absolute path
if (getenv("OS")=="Windows_NT"){
if (!preg_match('`^[a-zA-Z]:`', $path)) {
phpCAS::error('an absolute path is needed for PGT storage to file');
}
}
else
{
if ( $path[0] != '/' ) {
phpCAS::error('an absolute path is needed for PGT storage to file');
}
// store the path (with a leading and trailing '/')
$path = preg_replace('|[/]*$|','/',$path);
$path = preg_replace('|^[/]*|','/',$path);
}
$this->_path = $path;
// check the format and store it
switch ($format) {
case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
case CAS_PGT_STORAGE_FILE_FORMAT_XML:
$this->_format = $format;
break;
default:
phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
}
phpCAS::traceEnd();
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* This method is used to initialize the storage. Halts on error.
*
* @public
*/
function init()
{
phpCAS::traceBegin();
// if the storage has already been initialized, return immediatly
if ( $this->isInitialized() )
return;
// call the ancestor's method (mark as initialized)
parent::init();
phpCAS::traceEnd();
}
// ########################################################################
// PGT I/O
// ########################################################################
/**
* This method returns the filename corresponding to a PGT Iou.
*
* @param $pgt_iou the PGT iou.
*
* @return a filename
* @private
*/
function getPGTIouFilename($pgt_iou)
{
phpCAS::traceBegin();
$filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
phpCAS::traceEnd($filename);
return $filename;
}
/**
* This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
* warning on error.
*
* @param $pgt the PGT
* @param $pgt_iou the PGT iou
*
* @public
*/
function write($pgt,$pgt_iou)
{
phpCAS::traceBegin();
$fname = $this->getPGTIouFilename($pgt_iou);
if ( $f=fopen($fname,"w") ) {
if ( fputs($f,$pgt) === FALSE ) {
phpCAS::error('could not write PGT to `'.$fname.'\'');
}
fclose($f);
} else {
phpCAS::error('could not open `'.$fname.'\'');
}
phpCAS::traceEnd();
}
/**
* This method reads a PGT corresponding to a PGT Iou and deletes the
* corresponding file.
*
* @param $pgt_iou the PGT iou
*
* @return the corresponding PGT, or FALSE on error
*
* @public
*/
function read($pgt_iou)
{
phpCAS::traceBegin();
$pgt = FALSE;
$fname = $this->getPGTIouFilename($pgt_iou);
if ( !($f=fopen($fname,"r")) ) {
phpCAS::trace('could not open `'.$fname.'\'');
} else {
if ( ($pgt=fgets($f)) === FALSE ) {
phpCAS::trace('could not read PGT from `'.$fname.'\'');
}
fclose($f);
}
// delete the PGT file
@unlink($fname);
phpCAS::traceEnd($pgt);
return $pgt;
}
/** @} */
}
?>

View File

@ -0,0 +1,188 @@
<?php
/**
* @file CAS/PGTStorage/pgt-main.php
* Basic class for PGT storage
*/
/**
* @class PGTStorage
* The PGTStorage class is a generic class for PGT storage. This class should
* not be instanciated itself but inherited by specific PGT storage classes.
*
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
*
* @ingroup internalPGTStorage
*/
class PGTStorage
{
/**
* @addtogroup internalPGTStorage
* @{
*/
// ########################################################################
// CONSTRUCTOR
// ########################################################################
/**
* The constructor of the class, should be called only by inherited classes.
*
* @param $cas_parent the CASclient instance that creates the current object.
*
* @protected
*/
function PGTStorage($cas_parent)
{
phpCAS::traceBegin();
if ( !$cas_parent->isProxy() ) {
phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
}
phpCAS::traceEnd();
}
// ########################################################################
// DEBUGGING
// ########################################################################
/**
* This virtual method returns an informational string giving the type of storage
* used by the object (used for debugging purposes).
*
* @public
*/
function getStorageType()
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/**
* This virtual method returns an informational string giving informations on the
* parameters of the storage.(used for debugging purposes).
*
* @public
*/
function getStorageInfo()
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
// ########################################################################
// ERROR HANDLING
// ########################################################################
/**
* string used to store an error message. Written by PGTStorage::setErrorMessage(),
* read by PGTStorage::getErrorMessage().
*
* @hideinitializer
* @private
* @deprecated not used.
*/
var $_error_message=FALSE;
/**
* This method sets en error message, which can be read later by
* PGTStorage::getErrorMessage().
*
* @param $error_message an error message
*
* @protected
* @deprecated not used.
*/
function setErrorMessage($error_message)
{
$this->_error_message = $error_message;
}
/**
* This method returns an error message set by PGTStorage::setErrorMessage().
*
* @return an error message when set by PGTStorage::setErrorMessage(), FALSE
* otherwise.
*
* @public
* @deprecated not used.
*/
function getErrorMessage()
{
return $this->_error_message;
}
// ########################################################################
// INITIALIZATION
// ########################################################################
/**
* a boolean telling if the storage has already been initialized. Written by
* PGTStorage::init(), read by PGTStorage::isInitialized().
*
* @hideinitializer
* @private
*/
var $_initialized = FALSE;
/**
* This method tells if the storage has already been intialized.
*
* @return a boolean
*
* @protected
*/
function isInitialized()
{
return $this->_initialized;
}
/**
* This virtual method initializes the object.
*
* @protected
*/
function init()
{
$this->_initialized = TRUE;
}
// ########################################################################
// PGT I/O
// ########################################################################
/**
* This virtual method stores a PGT and its corresponding PGT Iuo.
* @note Should never be called.
*
* @param $pgt the PGT
* @param $pgt_iou the PGT iou
*
* @protected
*/
function write($pgt,$pgt_iou)
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/**
* This virtual method reads a PGT corresponding to a PGT Iou and deletes
* the corresponding storage entry.
* @note Should never be called.
*
* @param $pgt_iou the PGT iou
*
* @protected
*/
function read($pgt_iou)
{
phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
}
/** @} */
}
// include specific PGT storage classes
include_once(dirname(__FILE__).'/pgt-file.php');
include_once(dirname(__FILE__).'/pgt-db.php');
?>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,277 @@
<?php
/**
* @file domxml-php4-php5.php
* Require PHP5, uses built-in DOM extension.
* To be used in PHP4 scripts using DOMXML extension.
* Allows PHP4/DOMXML scripts to run on PHP5/DOM.
* (Requires PHP5/XSL extension for domxml_xslt functions)
*
* Typical use:
* <pre>
* {
* if (version_compare(PHP_VERSION,'5','>='))
* require_once('domxml-php4-to-php5.php');
* }
* </pre>
*
* Version 1.5.5, 2005-01-18, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
*
* ------------------------------------------------------------------<br>
* Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
*
* Copyright 2004, Licence: Creative Commons "Attribution-ShareAlike 2.0 France" BY-SA (FR),
* http://creativecommons.org/licenses/by-sa/2.0/fr/
* http://alexandre.alapetite.net/divers/apropos/#by-sa
* - Attribution. You must give the original author credit
* - Share Alike. If you alter, transform, or build upon this work,
* you may distribute the resulting work only under a license identical to this one
* - The French law is authoritative
* - Any of these conditions can be waived if you get permission from Alexandre Alapetite
* - Please send to Alexandre Alapetite the modifications you make,
* in order to improve this file for the benefit of everybody
*
* If you want to distribute this code, please do it as a link to:
* http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
*/
function domxml_new_doc($version) {return new php4DOMDocument('');}
function domxml_open_file($filename) {return new php4DOMDocument($filename);}
function domxml_open_mem($str)
{
$dom=new php4DOMDocument('');
$dom->myDOMNode->loadXML($str);
return $dom;
}
function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->query($eval_str,$contextnode);}
function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}
class php4DOMAttr extends php4DOMNode
{
function php4DOMAttr($aDOMAttr) {$this->myDOMNode=$aDOMAttr;}
function Name() {return $this->myDOMNode->name;}
function Specified() {return $this->myDOMNode->specified;}
function Value() {return $this->myDOMNode->value;}
}
class php4DOMDocument extends php4DOMNode
{
function php4DOMDocument($filename='')
{
$this->myDOMNode=new DOMDocument();
if ($filename!='') $this->myDOMNode->load($filename);
}
function create_attribute($name,$value)
{
$myAttr=$this->myDOMNode->createAttribute($name);
$myAttr->value=$value;
return new php4DOMAttr($myAttr,$this);
}
function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}
function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}
function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}
function create_text_node($content) {return new php4DOMNode($this->myDOMNode->createTextNode($content),$this);}
function document_element() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
function dump_file($filename,$compressionmode=false,$format=false) {return $this->myDOMNode->save($filename);}
function dump_mem($format=false,$encoding=false) {return $this->myDOMNode->saveXML();}
function get_element_by_id($id) {return new php4DOMElement($this->myDOMNode->getElementById($id),$this);}
function get_elements_by_tagname($name)
{
$myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i))
{
$nodeSet[]=new php4DOMElement($node,$this);
$i++;
}
return $nodeSet;
}
function html_dump_mem() {return $this->myDOMNode->saveHTML();}
function root() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
}
class php4DOMElement extends php4DOMNode
{
function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}
function get_elements_by_tagname($name)
{
$myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i))
{
$nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
$i++;
}
return $nodeSet;
}
function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}
function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}
function set_attribute($name,$value) {return $this->myDOMNode->setAttribute($name,$value);}
function tagname() {return $this->myDOMNode->tagName;}
}
class php4DOMNode
{
var $myDOMNode;
var $myOwnerDocument;
function php4DOMNode($aDomNode,$aOwnerDocument)
{
$this->myDOMNode=$aDomNode;
$this->myOwnerDocument=$aOwnerDocument;
}
function __get($name)
{
if ($name=='type') return $this->myDOMNode->nodeType;
elseif ($name=='tagname') return $this->myDOMNode->tagName;
elseif ($name=='content') return $this->myDOMNode->textContent;
else
{
$myErrors=debug_backtrace();
trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);
return false;
}
}
function append_child($newnode) {return new php4DOMElement($this->myDOMNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
function append_sibling($newnode) {return new php4DOMElement($this->myDOMNode->parentNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
function attributes()
{
$myDOMNodeList=$this->myDOMNode->attributes;
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i))
{
$nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);
$i++;
}
return $nodeSet;
}
function child_nodes()
{
$myDOMNodeList=$this->myDOMNode->childNodes;
$nodeSet=array();
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i))
{
$nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
$i++;
}
return $nodeSet;
}
function children() {return $this->child_nodes();}
function clone_node($deep=false) {return new php4DOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}
function first_child() {return new php4DOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}
function get_content() {return $this->myDOMNode->textContent;}
function has_attributes() {return $this->myDOMNode->hasAttributes();}
function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}
function insert_before($newnode,$refnode) {return new php4DOMElement($this->myDOMNode->insertBefore($newnode->myDOMNode,$refnode->myDOMNode),$this->myOwnerDocument);}
function is_blank_node()
{
$myDOMNodeList=$this->myDOMNode->childNodes;
$i=0;
if (isset($myDOMNodeList))
while ($node=$myDOMNodeList->item($i))
{
if (($node->nodeType==XML_ELEMENT_NODE)||
(($node->nodeType==XML_TEXT_NODE)&&!ereg('^([[:cntrl:]]|[[:space:]])*$',$node->nodeValue)))
return false;
$i++;
}
return true;
}
function last_child() {return new php4DOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}
function new_child($name,$content)
{
$mySubNode=$this->myDOMNode->ownerDocument->createElement($name);
$mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($content));
$this->myDOMNode->appendChild($mySubNode);
return new php4DOMElement($mySubNode,$this->myOwnerDocument);
}
function next_sibling() {return new php4DOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}
function node_name() {return $this->myDOMNode->localName;}
function node_type() {return $this->myDOMNode->nodeType;}
function node_value() {return $this->myDOMNode->nodeValue;}
function owner_document() {return $this->myOwnerDocument;}
function parent_node() {return new php4DOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}
function prefix() {return $this->myDOMNode->prefix;}
function previous_sibling() {return new php4DOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}
function remove_child($oldchild) {return new php4DOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}
function replace_child($oldnode,$newnode) {return new php4DOMElement($this->myDOMNode->replaceChild($oldnode->myDOMNode,$newnode->myDOMNode),$this->myOwnerDocument);}
function set_content($text)
{
if (($this->myDOMNode->hasChildNodes())&&($this->myDOMNode->firstChild->nodeType==XML_TEXT_NODE))
$this->myDOMNode->removeChild($this->myDOMNode->firstChild);
return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($text));
}
}
class php4DOMNodelist
{
var $myDOMNodelist;
var $nodeset;
function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)
{
$this->myDOMNodelist=$aDOMNodelist;
$this->nodeset=array();
$i=0;
if (isset($this->myDOMNodelist))
while ($node=$this->myDOMNodelist->item($i))
{
$this->nodeset[]=new php4DOMElement($node,$aOwnerDocument);
$i++;
}
}
}
class php4DOMXPath
{
var $myDOMXPath;
var $myOwnerDocument;
function php4DOMXPath($dom_document)
{
$this->myOwnerDocument=$dom_document;
$this->myDOMXPath=new DOMXPath($dom_document->myDOMNode);
}
function query($eval_str,$contextnode)
{
if (isset($contextnode)) return new php4DOMNodelist($this->myDOMXPath->query($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument);
else return new php4DOMNodelist($this->myDOMXPath->query($eval_str),$this->myOwnerDocument);
}
function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
}
if (extension_loaded('xsl'))
{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
class php4DomXsltStylesheet
{
var $myxsltProcessor;
function php4DomXsltStylesheet($dom_document)
{
$this->myxsltProcessor=new xsltProcessor();
$this->myxsltProcessor->importStyleSheet($dom_document);
}
function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)
{
foreach ($xslt_parameters as $param=>$value)
$this->myxsltProcessor->setParameter('',$param,$value);
$myphp4DOMDocument=new php4DOMDocument();
$myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
return $myphp4DOMDocument;
}
function result_dump_file($dom_document,$filename)
{
$html=$dom_document->myDOMNode->saveHTML();
file_put_contents($filename,$html);
return $html;
}
function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}
}
}
?>

View File

@ -0,0 +1,27 @@
<?php
/**
* @file languages/spanish.php
* @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'usant servidor',
CAS_STR_AUTHENTICATION_WANTED
=> 'Autentificació CAS necessària!',
CAS_STR_LOGOUT
=> 'Sortida de CAS necessària!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Autentificació CAS fallida!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
);
?>

View File

@ -0,0 +1,27 @@
<?php
/**
* @file languages/english.php
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CAS Authentication wanted!',
CAS_STR_LOGOUT
=> 'CAS logout wanted!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
CAS_STR_AUTHENTICATION_FAILED
=> 'CAS Authentication failed!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
);
?>

View File

@ -0,0 +1,28 @@
<?php
/**
* @file languages/english.php
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'utilisant le serveur',
CAS_STR_AUTHENTICATION_WANTED
=> 'Authentication CAS nécessaire&nbsp;!',
CAS_STR_LOGOUT
=> 'Déconnexion demandée&nbsp;!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Vous auriez du etre redirigé(e) vers le serveur CAS. Cliquez <a href="%s">ici</a> pour continuer.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Authentification CAS infructueuse&nbsp;!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Vous n\'avez pas été authentifié(e).</p><p>Vous pouvez soumettre votre requete à nouveau en cliquant <a href="%s">ici</a>.</p><p>Si le problème persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
);
?>

View File

@ -0,0 +1,27 @@
<?php
/**
* @file languages/german.php
* @author Henrik Genssen <hg at mediafactory.de>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'via Server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CAS Authentifizierung erforderlich!',
CAS_STR_LOGOUT
=> 'CAS Abmeldung!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
CAS_STR_AUTHENTICATION_FAILED
=> 'CAS Anmeldung fehlgeschlagen!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
);
?>

View File

@ -0,0 +1,27 @@
<?php
/**
* @file languages/greek.php
* @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> '÷ñçóéìïðïéåßôáé ï åîõðçñåôçôÞò',
CAS_STR_AUTHENTICATION_WANTED
=> 'Áðáéôåßôáé ç ôáõôïðïßçóç CAS!',
CAS_STR_LOGOUT
=> 'Áðáéôåßôáé ç áðïóýíäåóç áðü CAS!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Èá Ýðñåðå íá åß÷áôå áíáêáôåõèõíèåß óôïí åîõðçñåôçôÞ CAS. ÊÜíôå êëßê <a href="%s">åäþ</a> ãéá íá óõíå÷ßóåôå.',
CAS_STR_AUTHENTICATION_FAILED
=> 'Ç ôáõôïðïßçóç CAS áðÝôõ÷å!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>Äåí ôáõôïðïéçèÞêáôå.</p><p>Ìðïñåßôå íá îáíáðñïóðáèÞóåôå, êÜíïíôáò êëßê <a href="%s">åäþ</a>.</p><p>Åáí ôï ðñüâëçìá åðéìåßíåé, åëÜôå óå åðáöÞ ìå ôïí <a href="mailto:%s">äéá÷åéñéóôÞ</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'Ç õðçñåóßá `<b>%s</b>\' äåí åßíáé äéáèÝóéìç (<b>%s</b>).'
);
?>

View File

@ -0,0 +1,27 @@
<?php
/**
* @file languages/japanese.php
* @author fnorif (fnorif@yahoo.co.jp)
*
* Now Encoding is EUC-JP and LF
**/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'using server',
CAS_STR_AUTHENTICATION_WANTED
=> 'CASによる認証を行います',
CAS_STR_LOGOUT
=> 'CASからログアウトします!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'CASサーバに行く必要があります。自動的に転送されない場合は <a href="%s">こちら</a> をクリックして続行します。',
CAS_STR_AUTHENTICATION_FAILED
=> 'CASによる認証に失敗しました',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>認証できませんでした.</p><p>もう一度リクエストを送信する場合は<a href="%s">こちら</a>をクリック.</p><p>問題が解決しない場合は <a href="mailto:%s">このサイトの管理者</a>に問い合わせてください.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'サービス `<b>%s</b>\' は利用できません (<b>%s</b>).'
);
?>

View File

@ -0,0 +1,24 @@
<?php
/**
* @file languages/languages.php
* Internationalization constants
* @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
//@{
/**
* a phpCAS string index
*/
define("CAS_STR_USING_SERVER", 1);
define("CAS_STR_AUTHENTICATION_WANTED", 2);
define("CAS_STR_LOGOUT", 3);
define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
define("CAS_STR_AUTHENTICATION_FAILED", 5);
define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
define("CAS_STR_SERVICE_UNAVAILABLE", 7);
//@}
?>

View File

@ -0,0 +1,27 @@
<?php
/**
* @file languages/spanish.php
* @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
* @sa @link internalLang Internationalization @endlink
* @ingroup internalLang
*/
$this->_strings = array(
CAS_STR_USING_SERVER
=> 'usando servidor',
CAS_STR_AUTHENTICATION_WANTED
=> '¡Autentificación CAS necesaria!',
CAS_STR_LOGOUT
=> '¡Salida CAS necesaria!',
CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
=> 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
CAS_STR_AUTHENTICATION_FAILED
=> '¡Autentificación CAS fallida!',
CAS_STR_YOU_WERE_NOT_AUTHENTICATED
=> '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
CAS_STR_SERVICE_UNAVAILABLE
=> 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
);
?>