summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-01-11 16:23:48 -0800
committerEvan Prodromou <evan@status.net>2010-01-11 16:23:48 -0800
commit7e5c15fa80e23d1fb22744553156bcebad716ae8 (patch)
treef20e5854ec1076192ab8bdc2be31b6a2c4bb7efd
parent04c76fc4e5d711ba38d22ffe201bb93d40126071 (diff)
parent116c5f6839adf518e2bfe27ad2899a474899a9a1 (diff)
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
-rw-r--r--lib/action.php2
-rw-r--r--locale/ar/LC_MESSAGES/statusnet.po262
-rw-r--r--locale/arz/LC_MESSAGES/statusnet.po262
-rw-r--r--locale/bg/LC_MESSAGES/statusnet.po264
-rw-r--r--locale/ca/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/cs/LC_MESSAGES/statusnet.po266
-rw-r--r--locale/de/LC_MESSAGES/statusnet.po267
-rw-r--r--locale/el/LC_MESSAGES/statusnet.po260
-rw-r--r--locale/en_GB/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/es/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/fa/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/fi/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/fr/LC_MESSAGES/statusnet.po458
-rw-r--r--locale/ga/LC_MESSAGES/statusnet.po262
-rw-r--r--locale/he/LC_MESSAGES/statusnet.po266
-rw-r--r--locale/hsb/LC_MESSAGES/statusnet.po390
-rw-r--r--locale/ia/LC_MESSAGES/statusnet.po261
-rw-r--r--locale/is/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/it/LC_MESSAGES/statusnet.po441
-rw-r--r--locale/ja/LC_MESSAGES/statusnet.po262
-rw-r--r--locale/ko/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/mk/LC_MESSAGES/statusnet.po288
-rw-r--r--locale/nb/LC_MESSAGES/statusnet.po264
-rw-r--r--locale/nl/LC_MESSAGES/statusnet.po289
-rw-r--r--locale/nn/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/pl/LC_MESSAGES/statusnet.po499
-rw-r--r--locale/pt/LC_MESSAGES/statusnet.po835
-rw-r--r--locale/pt_BR/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/ru/LC_MESSAGES/statusnet.po288
-rw-r--r--locale/statusnet.po250
-rw-r--r--locale/sv/LC_MESSAGES/statusnet.po262
-rw-r--r--locale/te/LC_MESSAGES/statusnet.po266
-rw-r--r--locale/tr/LC_MESSAGES/statusnet.po266
-rw-r--r--locale/uk/LC_MESSAGES/statusnet.po512
-rw-r--r--locale/vi/LC_MESSAGES/statusnet.po262
-rw-r--r--locale/zh_CN/LC_MESSAGES/statusnet.po263
-rw-r--r--locale/zh_TW/LC_MESSAGES/statusnet.po268
-rw-r--r--plugins/CasAuthentication/extlib/CAS.php2942
-rw-r--r--plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php378
-rw-r--r--plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php496
-rw-r--r--plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php374
-rw-r--r--plugins/CasAuthentication/extlib/CAS/client.php4588
-rw-r--r--plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php552
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/catalan.php54
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/english.php52
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/french.php54
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/german.php52
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/greek.php52
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/languages.php46
-rw-r--r--plugins/CasAuthentication/extlib/CAS/languages/spanish.php54
50 files changed, 11537 insertions, 9259 deletions
diff --git a/lib/action.php b/lib/action.php
index 6efa9163d..a521bcb50 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -141,7 +141,7 @@ class Action extends HTMLOutputter // lawsuit
function showTitle()
{
$this->element('title', null,
- sprintf(_("%1$s - %2$s"),
+ sprintf(_("%1\$s - %2\$s"),
$this->title(),
common_config('site', 'name')));
}
diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po
index 36a3cdf22..7f80c9be3 100644
--- a/locale/ar/LC_MESSAGES/statusnet.po
+++ b/locale/ar/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:32+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:04+0000\n"
"Language-Team: Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ar\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "لا صفحة كهذه"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -371,7 +371,7 @@ msgstr ""
msgid "Group not found!"
msgstr "لم توجد المجموعة!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr ""
@@ -379,7 +379,7 @@ msgstr ""
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "تعذّر إنشاء المجموعة."
@@ -421,11 +421,11 @@ msgstr ""
msgid "No such notice."
msgstr "لا إشعار كهذا."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "لا يمكنك تكرار ملحوظتك الخاصة."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "كرر بالفعل هذه الملاحظة."
@@ -595,7 +595,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1701,7 +1701,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s انضم إلى مجموعة %s"
@@ -1718,66 +1718,62 @@ msgstr "لست عضوا في تلك المجموعة."
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s انضم إلى مجموعة %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "والج بالفعل."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "اسم المستخدم أو كلمة السر غير صحيحان."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "خطأ أثناء ضبط المستخدم. لست مُصرحًا على الأرجح."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "لُج"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "لُج إلى الموقع"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "الاسم المستعار"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "كلمة السر"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "تذكّرني"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "أنسيت كلمة السر؟"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1841,7 +1837,7 @@ msgstr ""
msgid "Message sent"
msgstr "أُرسلت الرسالة"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "رسالة مباشرة %s"
@@ -1928,8 +1924,8 @@ msgstr "نوع المحتوى "
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "ليس نسق بيانات مدعوم."
@@ -1973,6 +1969,31 @@ msgstr "أظهر أو أخفِ تصاميم الملفات الشخصية."
msgid "URL shortening service is too long (max 50 chars)."
msgstr ""
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "لا مجموعة مُحدّدة."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "لا ملاحظة محددة."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "لا طلب استيثاق!"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "لا ملاحظة محددة."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "لُج إلى الموقع"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2007,7 +2028,7 @@ msgid "6 or more characters"
msgstr ""
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "أكّد"
@@ -2228,42 +2249,42 @@ msgstr "معلومات الملف الشخصي"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "الاسم الكامل"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "الصفحة الرئيسية"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr ""
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "صِف نفسك واهتماماتك"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "السيرة"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "الموقع"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2560,7 +2581,7 @@ msgstr "خطأ أثناء ضبط المستخدم."
msgid "New password successfully saved. You are now logged in."
msgstr ""
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "عذرًا، الأشخاص المدعوون وحدهم يستطيعون التسجيل."
@@ -2572,7 +2593,7 @@ msgstr "عذرا، رمز دعوة غير صالح."
msgid "Registration successful"
msgstr "نجح التسجيل"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "سجّل"
@@ -2589,56 +2610,56 @@ msgstr ""
msgid "Email address already exists."
msgstr "عنوان البريد الإلكتروني موجود مسبقًا."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "اسم مستخدم أو كلمة سر غير صالحة."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 حروف أو أكثر. مطلوب."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "نفس كلمة السر أعلاه. مطلوب."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "البريد الإلكتروني"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "نصوصي وملفاتي متاحة تحت رخصة "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "المشاع المبدع نسبة المنصف إلى مؤلفه 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2657,7 +2678,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3782,23 +3803,28 @@ msgstr "المؤلف"
msgid "Description"
msgstr "الوصف"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "لم يمكن إنشاء توكن الولوج ل%s"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "أنت ممنوع من إرسال رسائل مباشرة."
@@ -3894,6 +3920,11 @@ msgstr "أخرى"
msgid "Other options"
msgstr "خيارات أخرى"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "صفحة غير مُعنونة"
@@ -4153,7 +4184,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "تعذّر إيجاد المستخدم الهدف."
#: lib/command.php:92
@@ -4162,7 +4193,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "أرسل التنبيه"
#: lib/command.php:126
@@ -4178,27 +4209,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "لا ملف بهذه الهوية."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "ليس للمستخدم إشعار أخير"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "لست عضوا في تلك المجموعة."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "تعذّر إنشاء المجموعة."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s انضم إلى مجموعة %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "تعذّر إنشاء المجموعة."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s انضم إلى مجموعة %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "الاسم الكامل: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4216,18 +4267,33 @@ msgstr "الصفحة الرئيسية: %s"
msgid "About: %s"
msgstr "عن: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "رسالة مباشرة %s"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "لا يمكنك تكرار ملحوظتك الخاصة."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "كرر بالفعل هذه الملاحظة."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "الإشعار من %s مكرر"
#: lib/command.php:437
@@ -4236,12 +4302,12 @@ msgstr "خطأ تكرار الإشعار."
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "رُد على رسالة %s"
#: lib/command.php:502
@@ -4249,7 +4315,7 @@ msgid "Error saving notice."
msgstr "خطأ أثناء حفظ الإشعار."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4258,7 +4324,7 @@ msgid "Subscribed to %s"
msgstr "مُشترك ب%s"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4287,24 +4353,19 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "لم يمكن إنشاء توكن الولوج ل%s"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "لست مُشتركًا بأي أحد."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "لست مشتركًا بأحد."
@@ -4314,11 +4375,11 @@ msgstr[3] "أنت مشترك بهؤلاء الأشخاص:"
msgstr[4] ""
msgstr[5] ""
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "لا أحد مشترك بك."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "لا أحد مشترك بك."
@@ -4328,11 +4389,11 @@ msgstr[3] "هؤلاء الأشخاص مشتركون بك:"
msgstr[4] ""
msgstr[5] ""
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "لست عضوًا في أي مجموعة."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "لست عضوًا في أي مجموعة."
@@ -4342,7 +4403,7 @@ msgstr[3] "أنت عضو في هذه المجموعات:"
msgstr[4] ""
msgstr[5] ""
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4897,12 +4958,12 @@ msgstr "أرفق ملفًا"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "لم يمكن حفظ تفضيلات الموقع."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "لم يمكن حفظ تفضيلات الموقع."
#: lib/noticeform.php:215
@@ -5257,47 +5318,47 @@ msgstr "رسالة"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "قبل لحظات قليلة"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "قبل دقيقة تقريبًا"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "قبل ساعة تقريبًا"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "قبل يوم تقريبا"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "قبل شهر تقريبًا"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "قبل سنة تقريبًا"
@@ -5310,3 +5371,8 @@ msgstr "%s ليس لونًا صحيحًا!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/arz/LC_MESSAGES/statusnet.po b/locale/arz/LC_MESSAGES/statusnet.po
index d2c7679bc..2c8fc18d1 100644
--- a/locale/arz/LC_MESSAGES/statusnet.po
+++ b/locale/arz/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:36+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:08+0000\n"
"Language-Team: Egyptian Spoken Arabic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: arz\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "لا صفحه كهذه"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -370,7 +370,7 @@ msgstr ""
msgid "Group not found!"
msgstr "لم توجد المجموعة!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr ""
@@ -378,7 +378,7 @@ msgstr ""
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "تعذّر إنشاء المجموعه."
@@ -420,11 +420,11 @@ msgstr ""
msgid "No such notice."
msgstr "لا إشعار كهذا."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "لا يمكنك تكرار ملحوظتك الخاصه."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "كرر بالفعل هذه الملاحظه."
@@ -594,7 +594,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1700,7 +1700,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s انضم إلى مجموعه %s"
@@ -1717,66 +1717,62 @@ msgstr "لست عضوا فى تلك المجموعه."
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s انضم إلى مجموعه %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "والج بالفعل."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "اسم المستخدم أو كلمه السر غير صحيحان."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "خطأ أثناء ضبط المستخدم. لست مُصرحًا على الأرجح."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "لُج"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "لُج إلى الموقع"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "الاسم المستعار"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "كلمه السر"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "تذكّرني"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "أنسيت كلمه السر؟"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1840,7 +1836,7 @@ msgstr ""
msgid "Message sent"
msgstr "أُرسلت الرسالة"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "رساله مباشره %s"
@@ -1927,8 +1923,8 @@ msgstr "نوع المحتوى "
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "ليس نسق بيانات مدعوم."
@@ -1972,6 +1968,31 @@ msgstr "أظهر أو أخفِ تصاميم الملفات الشخصيه."
msgid "URL shortening service is too long (max 50 chars)."
msgstr ""
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "لا مجموعه مُحدّده."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "لا ملاحظه محدده."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "لا طلب استيثاق!"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "لا ملاحظه محدده."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "لُج إلى الموقع"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2006,7 +2027,7 @@ msgid "6 or more characters"
msgstr ""
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "أكّد"
@@ -2227,42 +2248,42 @@ msgstr "معلومات الملف الشخصي"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "الاسم الكامل"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "الصفحه الرئيسية"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr ""
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "صِف نفسك واهتماماتك"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "السيرة"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "الموقع"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2559,7 +2580,7 @@ msgstr "خطأ أثناء ضبط المستخدم."
msgid "New password successfully saved. You are now logged in."
msgstr ""
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "عذرًا، الأشخاص المدعوون وحدهم يستطيعون التسجيل."
@@ -2571,7 +2592,7 @@ msgstr "عذرا، رمز دعوه غير صالح."
msgid "Registration successful"
msgstr "نجح التسجيل"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "سجّل"
@@ -2588,56 +2609,56 @@ msgstr ""
msgid "Email address already exists."
msgstr "عنوان البريد الإلكترونى موجود مسبقًا."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "اسم مستخدم أو كلمه سر غير صالحه."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 حروف أو أكثر. مطلوب."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "نفس كلمه السر أعلاه. مطلوب."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "البريد الإلكتروني"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "نصوصى وملفاتى متاحه تحت رخصه "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "المشاع المبدع نسبه المنصف إلى مؤلفه 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2656,7 +2677,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3781,23 +3802,28 @@ msgstr "المؤلف"
msgid "Description"
msgstr "الوصف"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "لم يمكن إنشاء توكن الولوج ل%s"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "أنت ممنوع من إرسال رسائل مباشره."
@@ -3893,6 +3919,11 @@ msgstr "أخرى"
msgid "Other options"
msgstr "خيارات أخرى"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "صفحه غير مُعنونة"
@@ -4152,7 +4183,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "تعذّر إيجاد المستخدم الهدف."
#: lib/command.php:92
@@ -4161,7 +4192,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "أرسل التنبيه"
#: lib/command.php:126
@@ -4177,27 +4208,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "لا ملف بهذه الهويه."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "ليس للمستخدم إشعار أخير"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "لست عضوا فى تلك المجموعه."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "تعذّر إنشاء المجموعه."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s انضم إلى مجموعه %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "تعذّر إنشاء المجموعه."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s انضم إلى مجموعه %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "الاسم الكامل: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4215,18 +4266,33 @@ msgstr "الصفحه الرئيسية: %s"
msgid "About: %s"
msgstr "عن: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "رساله مباشره %s"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "لا يمكنك تكرار ملحوظتك الخاصه."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "كرر بالفعل هذه الملاحظه."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "الإشعار من %s مكرر"
#: lib/command.php:437
@@ -4235,12 +4301,12 @@ msgstr "خطأ تكرار الإشعار."
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "رُد على رساله %s"
#: lib/command.php:502
@@ -4248,7 +4314,7 @@ msgid "Error saving notice."
msgstr "خطأ أثناء حفظ الإشعار."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4257,7 +4323,7 @@ msgid "Subscribed to %s"
msgstr "مُشترك ب%s"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4286,24 +4352,19 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "لم يمكن إنشاء توكن الولوج ل%s"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "لست مُشتركًا بأى أحد."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "لست مشتركًا بأحد."
@@ -4313,11 +4374,11 @@ msgstr[3] "أنت مشترك بهؤلاء الأشخاص:"
msgstr[4] ""
msgstr[5] ""
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "لا أحد مشترك بك."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "لا أحد مشترك بك."
@@ -4327,11 +4388,11 @@ msgstr[3] "هؤلاء الأشخاص مشتركون بك:"
msgstr[4] ""
msgstr[5] ""
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "لست عضوًا فى أى مجموعه."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "لست عضوًا فى أى مجموعه."
@@ -4341,7 +4402,7 @@ msgstr[3] "أنت عضو فى هذه المجموعات:"
msgstr[4] ""
msgstr[5] ""
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4896,12 +4957,12 @@ msgstr "أرفق ملفًا"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "لم يمكن حفظ تفضيلات الموقع."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "لم يمكن حفظ تفضيلات الموقع."
#: lib/noticeform.php:215
@@ -5256,47 +5317,47 @@ msgstr "رسالة"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "قبل لحظات قليلة"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "قبل دقيقه تقريبًا"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "قبل ساعه تقريبًا"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "قبل يوم تقريبا"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "قبل شهر تقريبًا"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "قبل سنه تقريبًا"
@@ -5309,3 +5370,8 @@ msgstr "%s ليس لونًا صحيحًا!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/bg/LC_MESSAGES/statusnet.po b/locale/bg/LC_MESSAGES/statusnet.po
index bffd397eb..db950916b 100644
--- a/locale/bg/LC_MESSAGES/statusnet.po
+++ b/locale/bg/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:39+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:12+0000\n"
"Language-Team: Bulgarian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: bg\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Няма такака страница."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -377,7 +377,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Групата не е открита."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Вече членувате в тази група."
@@ -385,7 +385,7 @@ msgstr "Вече членувате в тази група."
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Грешка при проследяване — потребителят не е намерен."
@@ -427,11 +427,11 @@ msgstr "Не може да изтривате бележки на друг по
msgid "No such notice."
msgstr "Няма такава бележка."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Не можете да повтаряте собствени бележки."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Вече сте повторили тази бележка."
@@ -603,7 +603,7 @@ msgstr "Изрязване"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1780,7 +1780,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "За да се присъедините към група, трябва да сте влезли."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s се присъедини към групата %s"
@@ -1798,62 +1798,57 @@ msgstr "Не членувате в тази група."
msgid "Could not find membership record."
msgstr "Грешка при обновяване записа на потребител."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s напусна групата %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Вече сте влезли."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Невалидно съдържание на бележка"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Грешно име или парола."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Забранено."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Вход"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Псевдоним"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Парола"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Запомни ме"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Автоматично влизане занапред. Да не се ползва на общи компютри!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Загубена или забравена парола"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1861,7 +1856,7 @@ msgstr ""
"За по-голяма сигурност, моля въведете отново потребителското си име и парола "
"при промяна на настройките."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1929,7 +1924,7 @@ msgstr ""
msgid "Message sent"
msgstr "Съобщението е изпратено"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Прякото съобщение до %s е изпратено."
@@ -2018,8 +2013,8 @@ msgstr "вид съдържание "
msgid "Only "
msgstr "Само "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Неподдържан формат на данните"
@@ -2064,6 +2059,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Услугата за съкращаване е твърде дълга (може да е до 50 знака)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Не е указана група."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Не е указана бележка."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Сървърът не е върнал адрес на профила."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Невалидно съдържание на бележка"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Влизане в сайта"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2099,7 +2119,7 @@ msgid "6 or more characters"
msgstr "6 или повече знака"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Потвърждаване"
@@ -2322,42 +2342,42 @@ msgstr "Данни на профила"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "От 1 до 64 малки букви или цифри, без пунктоация и интервали"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Пълно име"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Лична страница"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Адрес на личната ви страница, блог или профил в друг сайт"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Опишете себе си и интересите си в до %d букви"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Опишете себе си и интересите си"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "За мен"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Местоположение"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Къде се намирате (град, община, държава и т.н.)"
@@ -2654,7 +2674,7 @@ msgstr "Грешка в настройките на потребителя."
msgid "New password successfully saved. You are now logged in."
msgstr "Новата парола е запазена. Влязохте успешно."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2667,7 +2687,7 @@ msgstr "Грешка в кода за потвърждение."
msgid "Registration successful"
msgstr "Записването е успешно."
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Регистриране"
@@ -2684,59 +2704,59 @@ msgstr "Не можете да се регистрате, ако не сте с
msgid "Email address already exists."
msgstr "Адресът на е-поща вече се използва."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Неправилно име или парола."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"От 1 до 64 малки букви или цифри, без пунктоация и интервали. Задължително "
"поле."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 или повече знака. Задължително поле."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Същото като паролата по-горе. Задължително поле."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Е-поща"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Използва се само за промени, обяви или възстановяване на паролата"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "По-дълго име, за предпочитане \"истинското\" ви име."
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Текстовете и файловите ми са достъпни под "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Криейтив Комънс Признание 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr " освен тези лични данни: парола, е-поща, месинджър, телефон."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2769,7 +2789,7 @@ msgstr ""
"Благодарим, че се включихте в сайта и дано ползването на услугата ви носи "
"само приятни мигове!"
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3933,23 +3953,28 @@ msgstr "Автор"
msgid "Description"
msgstr "Описание"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Грешка при отбелязване като любима."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4054,6 +4079,11 @@ msgstr "Друго"
msgid "Other options"
msgstr "Други настройки"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Неозаглавена страница"
@@ -4320,7 +4350,7 @@ msgstr "За съжаление тази команда все още не се
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Грешка при обновяване на потребител с потвърден email адрес."
#: lib/command.php:92
@@ -4329,7 +4359,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Изпратено е побутване на %s"
#: lib/command.php:126
@@ -4345,27 +4375,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Не е открита бележка с такъв идентификатор."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Потребителят няма последна бележка"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Бележката е отбелязана като любима."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Вече членувате в тази група."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Грешка при проследяване — потребителят не е намерен."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s се присъедини към групата %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Грешка при проследяване — потребителят не е намерен."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s напусна групата %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Пълно име: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4383,19 +4433,34 @@ msgstr "Домашна страница: %s"
msgid "About: %s"
msgstr "Относно: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"Съобщението е твърде дълго. Най-много може да е 140 знака, а сте въвели %d."
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Прякото съобщение до %s е изпратено."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Грешка при изпращане на прякото съобщение"
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Не можете да повтаряте собствени бележки."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Вече сте повторили тази бележка."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Бележката от %s е повторена"
#: lib/command.php:437
@@ -4404,13 +4469,13 @@ msgstr "Грешка при повтаряне на бележката."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
"Съобщението е твърде дълго. Най-много може да е 140 знака, а сте въвели %d."
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Отговорът до %s е изпратен"
#: lib/command.php:502
@@ -4419,7 +4484,7 @@ msgstr "Грешка при записване на бележката."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Уточнете името на потребителя, за когото се абонирате."
#: lib/command.php:563
@@ -4429,7 +4494,7 @@ msgstr "Абонирани сте за %s."
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Уточнете името на потребителя, от когото се отписвате."
#: lib/command.php:591
@@ -4458,50 +4523,45 @@ msgid "Can't turn on notification."
msgstr "Грешка при включване на уведомлението."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Грешка при отбелязване като любима."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Не сте абонирани за никого."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Вече сте абонирани за следните потребители:"
msgstr[1] "Вече сте абонирани за следните потребители:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Никой не е абониран за вас."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Грешка при абониране на друг потребител за вас."
msgstr[1] "Грешка при абониране на друг потребител за вас."
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Не членувате в нито една група."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Не членувате в тази група."
msgstr[1] "Не членувате в тази група."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5074,12 +5134,12 @@ msgstr "Прикрепяне на файл"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Грешка при запазване етикетите."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Грешка при запазване етикетите."
#: lib/noticeform.php:215
@@ -5446,47 +5506,47 @@ msgstr "Съобщение"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "преди няколко секунди"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "преди около минута"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "преди около %d минути"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "преди около час"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "преди около %d часа"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "преди около ден"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "преди около %d дни"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "преди около месец"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "преди около %d месеца"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "преди около година"
@@ -5499,3 +5559,9 @@ msgstr "%s не е допустим цвят!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s не е допустим цвят! Използвайте 3 или 6 шестнадесетични знака."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Съобщението е твърде дълго. Най-много може да е 140 знака, а сте въвели %d."
diff --git a/locale/ca/LC_MESSAGES/statusnet.po b/locale/ca/LC_MESSAGES/statusnet.po
index e9ef85b17..eb6a6a3af 100644
--- a/locale/ca/LC_MESSAGES/statusnet.po
+++ b/locale/ca/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:42+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:17+0000\n"
"Language-Team: Catalan\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ca\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "No existeix la pàgina."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -385,7 +385,7 @@ msgstr "L'àlies no pot ser el mateix que el sobrenom."
msgid "Group not found!"
msgstr "No s'ha trobat el grup!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Ja sou membre del grup."
@@ -393,7 +393,7 @@ msgstr "Ja sou membre del grup."
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "No s'ha pogut afegir l'usuari %s al grup %s."
@@ -435,12 +435,12 @@ msgstr "No pots eliminar l'estatus d'un altre usuari."
msgid "No such notice."
msgstr "No existeix aquest avís."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "No es poden posar en on les notificacions."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Eliminar aquesta nota"
@@ -612,7 +612,7 @@ msgstr "Retalla"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1796,7 +1796,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Has d'haver entrat per participar en un grup."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s s'ha pogut afegir al grup %s"
@@ -1813,64 +1813,59 @@ msgstr "No ets membre d'aquest grup."
msgid "Could not find membership record."
msgstr "No s'han trobat registres dels membres."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s ha abandonat el grup %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Ja estàs connectat."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "El contingut de l'avís és invàlid"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Nom d'usuari o contrasenya incorrectes."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "No autoritzat."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Inici de sessió"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Accedir al lloc"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Sobrenom"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contrasenya"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Recorda'm"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Iniciar sessió automàticament en el futur; no utilitzar en ordinadors "
"compartits!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Contrasenya oblidada o perduda?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1878,7 +1873,7 @@ msgstr ""
"Per raons de seguretat, si us plau torna a escriure el teu nom d'usuari i "
"contrasenya abans de canviar la teva configuració."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1945,7 +1940,7 @@ msgstr "No t'enviïs missatges a tu mateix, simplement dir-te això."
msgid "Message sent"
msgstr "S'ha enviat el missatge"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Missatge directe per a %s enviat"
@@ -2037,8 +2032,8 @@ msgstr "tipus de contingut "
msgid "Only "
msgstr "Només "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Format de data no suportat."
@@ -2083,6 +2078,31 @@ msgid "URL shortening service is too long (max 50 chars)."
msgstr ""
"El servei d'auto-escurçament d'URL és massa llarga (màx. 50 caràcters)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "No s'ha especificat cap grup."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "No s'ha especificat perfil."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "No id en el perfil sol·licitat."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "El contingut de l'avís és invàlid"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Accedir al lloc"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2119,7 +2139,7 @@ msgid "6 or more characters"
msgstr "6 o més caràcters"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmar"
@@ -2346,43 +2366,43 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"1-64 lletres en minúscula o números, sense signes de puntuació o espais"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nom complet"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Pàgina personal"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL del teu web, blog o perfil en un altre lloc"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Descriviu qui sou i els vostres interessos en %d caràcters"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Explica'ns alguna cosa sobre tu "
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografia"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Ubicació"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "On ets, per exemple \"Ciutat, Estat (o Regió), País\""
@@ -2688,7 +2708,7 @@ msgstr "Error en configurar l'usuari."
msgid "New password successfully saved. You are now logged in."
msgstr "Nova contrasenya guardada correctament. Has iniciat una sessió."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Ho sentim, però només la gent convidada pot registrar-s'hi."
@@ -2700,7 +2720,7 @@ msgstr "El codi d'invitació no és vàlid."
msgid "Registration successful"
msgstr "Registre satisfactori"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registre"
@@ -2717,11 +2737,11 @@ msgstr "No pots registrar-te si no estàs d'acord amb la llicència."
msgid "Email address already exists."
msgstr "L'adreça de correu electrònic ja existeix."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Nom d'usuari o contrasenya invàlids."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2729,42 +2749,42 @@ msgstr ""
"Amb aquest formulari, podeu crear un compte nou. Podeu enviar avisos i "
"enllaçar a amics i col·legues. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 lletres en minúscula o números, sense puntuacions ni espais. Requerit."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 o més caràcters. Requerit."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Igual a la contrasenya de dalt. Requerit."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correu electrònic"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Utilitzat només per a actualitzacions, anuncis i recuperació de contrasenyes"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nom llarg, preferiblement el teu nom \"real\""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "El meu text i els meus fitxers estan disponibles sota "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Atribució 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2773,7 +2793,7 @@ msgstr ""
"excepte les següents dades privades: contrasenya, adreça de correu "
"electrònic, adreça de missatgeria instantània, número de telèfon."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2804,7 +2824,7 @@ msgstr ""
"\n"
"Gràcies per registrar-te i esperem que gaudeixis d'aquest servei."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3987,23 +4007,28 @@ msgstr "Autoria"
msgid "Description"
msgstr "Descripció"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "No s'han pogut crear els àlies."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4107,6 +4132,11 @@ msgstr "Altres"
msgid "Other options"
msgstr "Altres opcions"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Pàgina sense titol"
@@ -4369,7 +4399,7 @@ msgstr "Perdona, aquesta comanda no està implementada."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "No es pot actualitzar l'usuari amb el correu electrònic confirmat"
#: lib/command.php:92
@@ -4378,7 +4408,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Reclamació enviada"
#: lib/command.php:126
@@ -4391,27 +4421,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "No hi ha cap perfil amb aquesta id."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "L'usuari no té última nota"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Nota marcada com a favorita."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Ja sou membre del grup."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "No s'ha pogut afegir l'usuari %s al grup %s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s s'ha pogut afegir al grup %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "No s'ha pogut eliminar l'usuari %s del grup %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s ha abandonat el grup %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nom complet: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4429,18 +4479,33 @@ msgstr "Pàgina web: %s"
msgid "About: %s"
msgstr "Sobre tu: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Missatge massa llarg - màxim és 140 caràcters, tu has enviat %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Missatge directe per a %s enviat"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Error al enviar el missatge directe."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "No es poden posar en on les notificacions."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Eliminar aquesta nota"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Notificació publicada"
#: lib/command.php:437
@@ -4450,12 +4515,12 @@ msgstr "Problema en guardar l'avís."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Missatge massa llarg - màxim és 140 caràcters, tu has enviat %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "S'ha enviat la resposta a %s"
#: lib/command.php:502
@@ -4465,7 +4530,7 @@ msgstr "Problema en guardar l'avís."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Especifica el nom de l'usuari a que vols subscriure't"
#: lib/command.php:563
@@ -4475,7 +4540,7 @@ msgstr "Subscrit a %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Especifica el nom de l'usuari del que vols deixar d'estar subscrit"
#: lib/command.php:591
@@ -4504,52 +4569,47 @@ msgid "Can't turn on notification."
msgstr "No es poden posar en on les notificacions."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "No s'han pogut crear els àlies."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "No estàs subscrit a aquest perfil."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Ja estàs subscrit a aquests usuaris:"
msgstr[1] "Ja estàs subscrit a aquests usuaris:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "No pots subscriure a un altre a tu mateix."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "No pots subscriure a un altre a tu mateix."
msgstr[1] "No pots subscriure a un altre a tu mateix."
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "No sou membre de cap grup."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "No sou un membre del grup."
msgstr[1] "No sou un membre del grup."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5124,12 +5184,12 @@ msgstr "Adjunta un fitxer"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Comparteix la vostra ubicació"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Comparteix la vostra ubicació"
#: lib/noticeform.php:215
@@ -5494,47 +5554,47 @@ msgstr "Missatge"
msgid "Moderate"
msgstr "Modera"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "fa pocs segons"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "fa un minut"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "fa %d minuts"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "fa una hora"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "fa %d hores"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "fa un dia"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "fa %d dies"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "fa un mes"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "fa %d mesos"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "fa un any"
@@ -5547,3 +5607,8 @@ msgstr "%s no és un color vàlid!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s no és un color vàlid! Feu servir 3 o 6 caràcters hexadecimals."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Missatge massa llarg - màxim és 140 caràcters, tu has enviat %d"
diff --git a/locale/cs/LC_MESSAGES/statusnet.po b/locale/cs/LC_MESSAGES/statusnet.po
index e7b46fb8e..53b0f3b4c 100644
--- a/locale/cs/LC_MESSAGES/statusnet.po
+++ b/locale/cs/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:46+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:21+0000\n"
"Language-Team: Czech\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: cs\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "Žádné takové oznámení."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -380,7 +380,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Žádný požadavek nebyl nalezen!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "Již jste přihlášen"
@@ -389,7 +389,7 @@ msgstr "Již jste přihlášen"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Nelze přesměrovat na server: %s"
@@ -432,12 +432,12 @@ msgstr ""
msgid "No such notice."
msgstr "Žádné takové oznámení."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Nemůžete se registrovat, pokud nesouhlasíte s licencí."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Odstranit toto oznámení"
@@ -613,7 +613,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1773,7 +1773,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1791,68 +1791,63 @@ msgstr "Neodeslal jste nám profil"
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1 statusů na %2"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Již přihlášen"
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Neplatný obsah sdělení"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Neplatné jméno nebo heslo"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Neautorizován."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Přihlásit"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Přezdívka"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Heslo"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Zapamatuj si mě"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Příště automaticky přihlásit; ne pro počítače, které používá "
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Ztracené nebo zapomenuté heslo?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr "Z bezpečnostních důvodů, prosím zadejte znovu své jméno a heslo."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1919,7 +1914,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr ""
@@ -2010,8 +2005,8 @@ msgstr "Připojit"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -2058,6 +2053,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Umístění příliš dlouhé (maximálně 255 znaků)"
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Nové sdělení"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Nové sdělení"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Nebylo vráceno žádné URL profilu od servu."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Neplatný obsah sdělení"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2094,7 +2113,7 @@ msgid "6 or more characters"
msgstr "6 a více znaků"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Heslo znovu"
@@ -2328,42 +2347,42 @@ msgstr "Neznámý profil"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 znaků nebo čísel, bez teček, čárek a mezer"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Celé jméno"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Moje stránky"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Adresa vašich stránek, blogu nebo profilu na jiných stránkách."
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Popiš sebe a své zájmy ve 140 znacích"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Popište sebe a své zájmy"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "O mě"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Umístění"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Místo. Město, stát."
@@ -2662,7 +2681,7 @@ msgstr "Chyba nastavení uživatele"
msgid "New password successfully saved. You are now logged in."
msgstr "Nové heslo bylo uloženo. Nyní jste přihlášen."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2675,7 +2694,7 @@ msgstr "Chyba v ověřovacím kódu"
msgid "Registration successful"
msgstr "Registrace úspěšná"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrovat"
@@ -2692,50 +2711,50 @@ msgstr "Nemůžete se registrovat, pokud nesouhlasíte s licencí."
msgid "Email address already exists."
msgstr "Emailová adresa již existuje"
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Neplatné jméno nebo heslo"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr ""
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Použije se pouze pro aktualizace, oznámení a obnovu hesla."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Mé texty a soubory jsou k dispozici pod"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2744,7 +2763,7 @@ msgstr ""
" až na tyto privátní data: heslo, emailová adresa, IM adresa, telefonní "
"číslo."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2763,7 +2782,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3943,23 +3962,28 @@ msgstr ""
msgid "Description"
msgstr "Odběry"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Nelze uložin informace o obrázku"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -4061,6 +4085,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1 statusů na %2"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4332,7 +4361,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Nelze aktualizovat uživatele"
#: lib/command.php:92
@@ -4340,9 +4369,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr ""
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
-msgstr ""
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
+msgstr "Odpovědi na %s"
#: lib/command.php:126
#, php-format
@@ -4354,27 +4383,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Vzdálený profil s nesouhlasícím profilem"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Uživatel nemá profil."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Již jste přihlášen"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Nelze přesměrovat na server: %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1 statusů na %2"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Nelze vytvořit OpenID z: %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1 statusů na %2"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Celé jméno"
#: lib/command.php:321 lib/mail.php:254
@@ -4392,18 +4441,33 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
msgstr ""
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Nemůžete se registrovat, pokud nesouhlasíte s licencí."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Odstranit toto oznámení"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Sdělení"
#: lib/command.php:437
@@ -4413,12 +4477,12 @@ msgstr "Problém při ukládání sdělení"
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Odpovědi na %s"
#: lib/command.php:502
@@ -4427,7 +4491,7 @@ msgid "Error saving notice."
msgstr "Problém při ukládání sdělení"
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4436,7 +4500,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4465,56 +4529,51 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Nelze uložin informace o obrázku"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Neodeslal jste nám profil"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Neodeslal jste nám profil"
msgstr[1] "Neodeslal jste nám profil"
msgstr[2] ""
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Vzdálený odběr"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Vzdálený odběr"
msgstr[1] "Vzdálený odběr"
msgstr[2] ""
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Neodeslal jste nám profil"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Neodeslal jste nám profil"
msgstr[1] "Neodeslal jste nám profil"
msgstr[2] ""
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5090,12 +5149,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Nelze uložit profil"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Nelze uložit profil"
#: lib/noticeform.php:215
@@ -5469,47 +5528,47 @@ msgstr "Zpráva"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "před pár sekundami"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "asi před minutou"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "asi před %d minutami"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "asi před hodinou"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "asi před %d hodinami"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "asi přede dnem"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "před %d dny"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "asi před měsícem"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "asi před %d mesíci"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "asi před rokem"
@@ -5522,3 +5581,8 @@ msgstr "Stránka není platnou URL."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/de/LC_MESSAGES/statusnet.po b/locale/de/LC_MESSAGES/statusnet.po
index c58b5aba0..152836338 100644
--- a/locale/de/LC_MESSAGES/statusnet.po
+++ b/locale/de/LC_MESSAGES/statusnet.po
@@ -12,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:49+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:26+0000\n"
"Language-Team: German\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: de\n"
"X-Message-Group: out-statusnet\n"
@@ -42,7 +42,7 @@ msgstr "Seite nicht vorhanden"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -269,7 +269,6 @@ msgid "No status found with that ID."
msgstr "Keine Nachricht mit dieser ID gefunden."
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
msgstr "Diese Nachricht ist bereits ein Favorit!"
@@ -278,7 +277,6 @@ msgid "Could not create favorite."
msgstr "Konnte keinen Favoriten erstellen."
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
msgstr "Diese Nachricht ist kein Favorit!"
@@ -300,7 +298,6 @@ msgid "Could not unfollow user: User not found."
msgstr "Kann Benutzer nicht entfolgen: Benutzer nicht gefunden."
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
msgstr "Du kannst dich nicht selbst entfolgen!"
@@ -389,7 +386,7 @@ msgstr "Alias kann nicht das gleiche wie der Spitznamen sein."
msgid "Group not found!"
msgstr "Gruppe nicht gefunden!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Du bist bereits Mitglied dieser Gruppe"
@@ -397,8 +394,8 @@ msgstr "Du bist bereits Mitglied dieser Gruppe"
msgid "You have been blocked from that group by the admin."
msgstr "Der Admin dieser Gruppe hat dich gesperrt."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
+#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Konnte Benutzer %s nicht der Gruppe %s hinzufügen."
@@ -439,11 +436,11 @@ msgstr "Du kannst den Status eines anderen Benutzers nicht löschen."
msgid "No such notice."
msgstr "Unbekannte Nachricht."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Du kannst deine eigenen Nachrichten nicht wiederholen."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Nachricht bereits wiederholt"
@@ -617,7 +614,7 @@ msgstr "Zuschneiden"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1795,7 +1792,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du musst angemeldet sein, um Mitglied einer Gruppe zu werden."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s ist der Gruppe %s beigetreten"
@@ -1812,61 +1809,57 @@ msgstr "Du bist kein Mitglied dieser Gruppe."
msgid "Could not find membership record."
msgstr "Konnte Mitgliedseintrag nicht finden."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s hat die Gruppe %s verlassen"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Bereits angemeldet."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Token ungültig oder abgelaufen."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Falscher Benutzername oder Passwort."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
"Fehler beim setzen des Benutzers. Du bist vermutlich nicht autorisiert."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Anmelden"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "An Seite anmelden"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Nutzername"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Passwort"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Anmeldedaten merken"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Automatisch anmelden; nicht bei gemeinsam genutzten PCs einsetzen!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Passwort vergessen?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1874,7 +1867,7 @@ msgstr ""
"Bitte gebe aus Sicherheitsgründen deinen Benutzernamen und dein Passwort "
"ein, bevor die Änderungen an deinen Einstellungen übernommen werden."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1941,7 +1934,7 @@ msgstr ""
msgid "Message sent"
msgstr "Nachricht gesendet"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Direkte Nachricht an %s abgeschickt"
@@ -2033,8 +2026,8 @@ msgstr "Content-Typ "
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Kein unterstütztes Datenformat."
@@ -2078,6 +2071,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL-Auto-Kürzungs-Dienst ist zu lang (max. 50 Zeichen)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Keine Gruppe angegeben"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Kein Profil angegeben."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Keine Profil-ID in der Anfrage."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Token ungültig oder abgelaufen."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "An Seite anmelden"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2113,7 +2131,7 @@ msgid "6 or more characters"
msgstr "6 oder mehr Zeichen"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Bestätigen"
@@ -2342,43 +2360,43 @@ msgstr "Profilinformation"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 Kleinbuchstaben oder Ziffern, keine Sonder- oder Leerzeichen"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Vollständiger Name"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Homepage"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
"URL deiner Homepage, deines Blogs, oder deines Profils auf einer anderen Site"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Beschreibe dich selbst und deine Interessen in %d Zeichen"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Beschreibe dich selbst und deine Interessen"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografie"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Aufenthaltsort"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Wo du bist, beispielsweise „Stadt, Gebiet, Land“"
@@ -2679,7 +2697,7 @@ msgstr "Fehler bei den Nutzereinstellungen."
msgid "New password successfully saved. You are now logged in."
msgstr "Neues Passwort erfolgreich gespeichert. Du bist jetzt angemeldet."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Es tut uns leid, zum Registrieren benötigst du eine Einladung."
@@ -2691,7 +2709,7 @@ msgstr "Entschuldigung, ungültiger Bestätigungscode."
msgid "Registration successful"
msgstr "Registrierung erfolgreich"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrieren"
@@ -2709,54 +2727,54 @@ msgstr ""
msgid "Email address already exists."
msgstr "Diese E-Mail-Adresse existiert bereits."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Benutzername oder Passwort falsch."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 kleingeschriebene Buchstaben oder Zahlen, keine Satz- oder Leerzeichen. "
"Pflicht."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 oder mehr Buchstaben. Pflicht."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Gleiches Passwort wie zuvor. Pflichteingabe."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-Mail"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Wird nur für Updates, wichtige Mitteilungen und zur "
"Passwortwiederherstellung verwendet"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Längerer Name, bevorzugt dein „echter“ Name"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Meine Texte und Daten sind verfügbar unter"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2764,7 +2782,7 @@ msgstr ""
"außer folgende private Daten: Passwort, E-Mail-Adresse, IM-Adresse und "
"Telefonnummer."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2797,7 +2815,7 @@ msgstr ""
"\n"
"Danke für deine Anmeldung, wir hoffen das dir der Service gefällt."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4006,23 +4024,28 @@ msgstr "Autor"
msgid "Description"
msgstr "Beschreibung"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Konnte keinen Favoriten erstellen."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4126,6 +4149,11 @@ msgstr "Sonstige"
msgid "Other options"
msgstr "Sonstige Optionen"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Seite ohne Titel"
@@ -4393,7 +4421,7 @@ msgstr "Leider ist dieser Befehl noch nicht implementiert."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Die bestätigte E-Mail-Adresse konnte nicht gespeichert werden."
#: lib/command.php:92
@@ -4402,7 +4430,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Stups abgeschickt"
#: lib/command.php:126
@@ -4415,27 +4443,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Nachricht mit dieser ID existiert nicht"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Benutzer hat keine letzte Nachricht"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Nachricht als Favorit markiert."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Du bist bereits Mitglied dieser Gruppe"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Konnte Benutzer %s nicht der Gruppe %s hinzufügen."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s ist der Gruppe %s beigetreten"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Konnte Benutzer %s aus der Gruppe %s nicht entfernen"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s hat die Gruppe %s verlassen"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Vollständiger Name: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4453,18 +4501,33 @@ msgstr "Homepage: %s"
msgid "About: %s"
msgstr "Über: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Nachricht zu lang - maximal %d Zeichen erlaubt, du hast %d gesendet"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Direkte Nachricht an %s abgeschickt"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Fehler beim Senden der Nachricht"
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Du kannst deine eigenen Nachrichten nicht wiederholen."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Nachricht bereits wiederholt"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Nachricht hinzugefügt"
#: lib/command.php:437
@@ -4474,12 +4537,12 @@ msgstr "Problem beim Speichern der Nachricht."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Nachricht zu lange - maximal 140 Zeichen erlaubt, du hast %s gesendet"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Antwort an %s gesendet"
#: lib/command.php:502
@@ -4488,7 +4551,7 @@ msgstr "Problem beim Speichern der Nachricht."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Gib den Namen des Benutzers an, den du abonnieren möchtest"
#: lib/command.php:563
@@ -4498,7 +4561,7 @@ msgstr "%s abonniert"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Gib den Namen des Benutzers ein, den du nicht mehr abonnieren möchtest"
#: lib/command.php:591
@@ -4527,51 +4590,46 @@ msgid "Can't turn on notification."
msgstr "Konnte Benachrichtigung nicht aktivieren."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Konnte keinen Favoriten erstellen."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Du hast dieses Profil nicht abonniert."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Du hast diese Benutzer bereits abonniert:"
msgstr[1] "Du hast diese Benutzer bereits abonniert:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Niemand hat Dich abonniert."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Die Gegenseite konnte Dich nicht abonnieren."
msgstr[1] "Die Gegenseite konnte Dich nicht abonnieren."
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Du bist in keiner Gruppe Mitglied."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Du bist kein Mitglied dieser Gruppe."
msgstr[1] "Du bist kein Mitglied dieser Gruppe."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5204,12 +5262,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Konnte Tags nicht speichern."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Konnte Tags nicht speichern."
#: lib/noticeform.php:215
@@ -5581,47 +5639,47 @@ msgstr "Nachricht"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "vor wenigen Sekunden"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "vor einer Minute"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "vor %d Minuten"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "vor einer Stunde"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "vor %d Stunden"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "vor einem Tag"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "vor %d Tagen"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "vor einem Monat"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "vor %d Monaten"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "vor einem Jahr"
@@ -5634,3 +5692,8 @@ msgstr "%s ist keine gültige Farbe!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s ist keine gültige Farbe! Verwenden Sie 3 oder 6 Hex-Zeichen."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Nachricht zu lang - maximal %d Zeichen erlaubt, du hast %d gesendet"
diff --git a/locale/el/LC_MESSAGES/statusnet.po b/locale/el/LC_MESSAGES/statusnet.po
index 74f505790..ea2ad34fa 100644
--- a/locale/el/LC_MESSAGES/statusnet.po
+++ b/locale/el/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:53+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:31+0000\n"
"Language-Team: Greek\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: el\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Δεν υπάρχει τέτοιο σελίδα."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -376,7 +376,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Ομάδα δεν βρέθηκε!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr ""
@@ -384,7 +384,7 @@ msgstr ""
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ"
@@ -426,12 +426,12 @@ msgstr ""
msgid "No such notice."
msgstr ""
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
@@ -602,7 +602,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1740,7 +1740,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1757,60 +1757,56 @@ msgstr ""
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr ""
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Ήδη συνδεδεμένος."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Λάθος όνομα χρήστη ή κωδικός"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Σύνδεση"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Ψευδώνυμο"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Κωδικός"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr ""
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Αυτόματη σύνδεση στο μέλλον. ΟΧΙ για κοινόχρηστους υπολογιστές!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Χάσατε ή ξεχάσατε τον κωδικό σας;"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1818,7 +1814,7 @@ msgstr ""
"Για λόγους ασφαλείας, παρακαλώ εισάγετε ξανά το όνομα χρήστη και τον κωδικό "
"σας, πριν αλλάξετε τις ρυθμίσεις σας."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1885,7 +1881,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr ""
@@ -1973,8 +1969,8 @@ msgstr "Σύνδεση"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -2020,6 +2016,29 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Η τοποθεσία είναι πολύ μεγάλη (μέγιστο 255 χαρακτ.)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Μήνυμα"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Μήνυμα"
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Μήνυμα"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2056,7 +2075,7 @@ msgid "6 or more characters"
msgstr "6 ή περισσότεροι χαρακτήρες"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Επιβεβαίωση"
@@ -2282,43 +2301,43 @@ msgstr ""
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 μικρά γράμματα ή αριθμοί, χωρίς σημεία στίξης ή κενά"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Ονοματεπώνυμο"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Αρχική σελίδα"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Περιέγραψε τον εαυτό σου και τα ενδιαφέροντά σου σε 140 χαρακτήρες"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Περιέγραψε τον εαυτό σου και τα ενδιαφέροντά σου σε 140 χαρακτήρες"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Βιογραφικό"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Τοποθεσία"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2617,7 +2636,7 @@ msgstr ""
msgid "New password successfully saved. You are now logged in."
msgstr ""
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2629,7 +2648,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -2646,50 +2665,50 @@ msgstr ""
msgid "Email address already exists."
msgstr "Η διεύθυνση email υπάρχει ήδη."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr ""
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "1-64 μικρά γράμματα ή αριθμοί, χωρίς σημεία στίξης ή κενά. Απαραίτητο."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 ή περισσότεροι χαρακτήρες. Απαραίτητο."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr ""
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2698,7 +2717,7 @@ msgstr ""
"εκτός από τα εξής προσωπικά δεδομένα: κωδικός πρόσβασης, διεύθυνση email, "
"διεύθυνση IM, τηλεφωνικό νούμερο."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2732,7 +2751,7 @@ msgstr ""
"Ευχαριστούμε που εγγράφηκες και ευχόμαστε να περάσεις καλά με την υπηρεσία "
"μας."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3877,23 +3896,28 @@ msgstr ""
msgid "Description"
msgstr "Περιγραφή"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Αδύνατη η αποθήκευση του προφίλ."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -3990,6 +4014,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, php-format
+msgid "%1$s - %2$s"
+msgstr ""
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4250,7 +4279,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Απέτυχε η ενημέρωση χρήστη μέσω επιβεβαιωμένης email διεύθυνσης."
#: lib/command.php:92
@@ -4259,7 +4288,7 @@ msgstr ""
#: lib/command.php:99
#, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr ""
#: lib/command.php:126
@@ -4271,26 +4300,46 @@ msgid ""
msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr ""
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr ""
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Ομάδες με τα περισσότερα μέλη"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Αδύνατη η αποθήκευση των νέων πληροφοριών του προφίλ"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "ομάδες των χρηστών %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Αδύνατη η αποθήκευση του προφίλ."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "ομάδες των χρηστών %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Ονοματεπώνυμο"
#: lib/command.php:321 lib/mail.php:254
@@ -4308,18 +4357,33 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
msgstr ""
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Ρυθμίσεις OpenID"
#: lib/command.php:437
@@ -4328,12 +4392,12 @@ msgstr ""
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr ""
#: lib/command.php:502
@@ -4341,7 +4405,7 @@ msgid "Error saving notice."
msgstr ""
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4350,7 +4414,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4379,52 +4443,47 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Αδύνατη η αποθήκευση του προφίλ."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
msgstr[1] "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
msgstr[1] "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Δεν είστε μέλος καμίας ομάδας."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Ομάδες με τα περισσότερα μέλη"
msgstr[1] "Ομάδες με τα περισσότερα μέλη"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4984,12 +5043,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Αδύνατη η αποθήκευση του προφίλ."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Αδύνατη η αποθήκευση του προφίλ."
#: lib/noticeform.php:215
@@ -5353,47 +5412,47 @@ msgstr "Μήνυμα"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr ""
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr ""
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr ""
@@ -5406,3 +5465,8 @@ msgstr "%s δεν είναι ένα έγκυρο χρώμα!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/en_GB/LC_MESSAGES/statusnet.po b/locale/en_GB/LC_MESSAGES/statusnet.po
index 58b8129f6..61965f97c 100644
--- a/locale/en_GB/LC_MESSAGES/statusnet.po
+++ b/locale/en_GB/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:27:56+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:35+0000\n"
"Language-Team: British English\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: en-gb\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "No such page"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -384,7 +384,7 @@ msgstr "Alias can't be the same as nickname."
msgid "Group not found!"
msgstr "Group not found!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "You are already a member of that group."
@@ -392,7 +392,7 @@ msgstr "You are already a member of that group."
msgid "You have been blocked from that group by the admin."
msgstr "You have been blocked from that group by the admin."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Could not join user %s to group %s."
@@ -434,11 +434,11 @@ msgstr "You may not delete another user's status."
msgid "No such notice."
msgstr "No such notice."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Cannot repeat your own notice."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Already repeated that notice."
@@ -608,7 +608,7 @@ msgstr "Crop"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1798,7 +1798,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "You must be logged in to join a group."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s joined group %s"
@@ -1815,62 +1815,57 @@ msgstr "You are not a member of that group."
msgid "Could not find membership record."
msgstr "Could not find membership record."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s left group %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Already logged in."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Invalid notice content"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Incorrect username or password."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "You are not authorised."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Login"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Login to site"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Nickname"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Password"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Remember me"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Automatically login in the future; not for shared computers!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Lost or forgotten password?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1878,7 +1873,7 @@ msgstr ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1945,7 +1940,7 @@ msgstr ""
msgid "Message sent"
msgstr "Message sent"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Direct message to %s sent"
@@ -2036,8 +2031,8 @@ msgstr "Connect"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Not a supported data format."
@@ -2082,6 +2077,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL shortening service is too long (max 50 chars)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "No profile specified."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "No profile specified."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "No profile id in request."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Invalid notice content"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Login to site"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2116,7 +2136,7 @@ msgid "6 or more characters"
msgstr "6 or more characters"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirm"
@@ -2345,42 +2365,42 @@ msgstr "Profile information"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Full name"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Homepage"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL of your homepage, blog, or profile on another site"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Describe yourself and your interests in %d chars"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Describe yourself and your interests"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Bio"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Location"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Where you are, like \"City, State (or Region), Country\""
@@ -2686,7 +2706,7 @@ msgstr "Error setting user."
msgid "New password successfully saved. You are now logged in."
msgstr "New password successfully saved. You are now logged in."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Sorry, only invited people can register."
@@ -2699,7 +2719,7 @@ msgstr "Error with confirmation code."
msgid "Registration successful"
msgstr "Registration successful"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Register"
@@ -2716,50 +2736,50 @@ msgstr "You can't register if you don't agree to the licence."
msgid "Email address already exists."
msgstr "E-mail address already exists."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Invalid username or password."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 or more characters. Required."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Same as password above. Required."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Used only for updates, announcements, and password recovery"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Longer name, preferably your \"real\" name"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "My text and files are available under "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2768,7 +2788,7 @@ msgstr ""
" except this private data: password, e-mail address, IM address, phone "
"number."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2801,7 +2821,7 @@ msgstr ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3988,23 +4008,28 @@ msgstr ""
msgid "Description"
msgstr "Description"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Could not create aliases"
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4105,6 +4130,11 @@ msgstr "Other"
msgid "Other options"
msgstr "Other options"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Untitled page"
@@ -4373,7 +4403,7 @@ msgstr "Sorry, this command is not yet implemented."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Could not find a user with nickname %s"
#: lib/command.php:92
@@ -4382,7 +4412,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Nudge sent to %s"
#: lib/command.php:126
@@ -4395,27 +4425,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "No profile with that id."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "User has no last notice"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Notice marked as fave."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "You are already a member of that group."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Could not join user %s to group %s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s joined group %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Could not remove user %s to group %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s left group %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Fullname: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4433,18 +4483,33 @@ msgstr "Homepage: %s"
msgid "About: %s"
msgstr "About: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Message too long - maximum is %d characters, you sent %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Direct message to %s sent"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Error sending direct message."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Cannot repeat your own notice."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Already repeated that notice."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Notice posted"
#: lib/command.php:437
@@ -4454,12 +4519,12 @@ msgstr "Error saving notice."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Notice too long - maximum is %d characters, you sent %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Reply to %s sent"
#: lib/command.php:502
@@ -4468,7 +4533,7 @@ msgstr "Error saving notice."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Specify the name of the user to subscribe to"
#: lib/command.php:563
@@ -4478,7 +4543,7 @@ msgstr "Subscribed to %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Specify the name of the user to unsubscribe from"
#: lib/command.php:591
@@ -4507,53 +4572,48 @@ msgid "Can't turn on notification."
msgstr "Can't turn on notification."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Could not create aliases"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "You are not subscribed to that profile."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "You are already subscribed to these users:"
msgstr[1] "You are already subscribed to these users:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Could not subscribe other to you."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Could not subscribe other to you."
msgstr[1] "Could not subscribe other to you."
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "You are not a member of that group."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "You are not a member of that group."
msgstr[1] "You are not a member of that group."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5132,12 +5192,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Couldn't save tags."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Couldn't save tags."
#: lib/noticeform.php:215
@@ -5501,47 +5561,47 @@ msgstr "Message"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "a few seconds ago"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "about a minute ago"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "about %d minutes ago"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "about an hour ago"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "about %d hours ago"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "about a day ago"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "about %d days ago"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "about a month ago"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "about %d months ago"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "about a year ago"
@@ -5554,3 +5614,8 @@ msgstr "%s is not a valid colour!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s is not a valid colour! Use 3 or 6 hex chars."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Message too long - maximum is %d characters, you sent %d"
diff --git a/locale/es/LC_MESSAGES/statusnet.po b/locale/es/LC_MESSAGES/statusnet.po
index e2aea134f..acc7f4a30 100644
--- a/locale/es/LC_MESSAGES/statusnet.po
+++ b/locale/es/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:00+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:39+0000\n"
"Language-Team: Spanish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: es\n"
"X-Message-Group: out-statusnet\n"
@@ -41,7 +41,7 @@ msgstr "No existe tal página"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -382,7 +382,7 @@ msgstr ""
msgid "Group not found!"
msgstr "¡No se encontró el método de la API!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Ya eres miembro de ese grupo"
@@ -390,7 +390,7 @@ msgstr "Ya eres miembro de ese grupo"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "No se puede unir usuario %s a grupo %s"
@@ -432,12 +432,12 @@ msgstr "No puedes borrar el estado de otro usuario."
msgid "No such notice."
msgstr "No existe ese aviso."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "No se puede activar notificación."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Borrar este aviso"
@@ -610,7 +610,7 @@ msgstr "Cortar"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1805,7 +1805,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Debes estar conectado para unirte a un grupo."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s se unió a grupo %s"
@@ -1824,64 +1824,59 @@ msgstr "No eres miembro de ese grupo"
msgid "Could not find membership record."
msgstr "No se pudo encontrar registro de miembro"
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s dejó grupo %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Ya estás conectado."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "El contenido del aviso es inválido"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Nombre de usuario o contraseña incorrectos."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "No autorizado."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Inicio de sesión"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Ingresar a sitio"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Apodo"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contraseña"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Recordarme"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Iniciar sesión automáticamente en el futuro. ¡No usar en ordenadores "
"compartidos! "
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "¿Contraseña olvidada o perdida?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1889,7 +1884,7 @@ msgstr ""
"Por razones de seguridad, por favor vuelve a escribir tu nombre de usuario y "
"contraseña antes de cambiar tu configuración."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1957,7 +1952,7 @@ msgstr "No te auto envíes un mensaje; dícetelo a ti mismo."
msgid "Message sent"
msgstr "Mensaje"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Se envió mensaje directo a %s"
@@ -2051,8 +2046,8 @@ msgstr "Conectarse"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "No es un formato de dato soportado"
@@ -2099,6 +2094,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Servicio de acorte de URL demasiado largo (máx. 50 caracteres)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Grupo no especificado."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "No se especificó perfil."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Ningún perfil de Id en solicitud."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "El contenido del aviso es inválido"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Ingresar a sitio"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2136,7 +2156,7 @@ msgid "6 or more characters"
msgstr "6 o más caracteres"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmar"
@@ -2373,43 +2393,43 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"1-64 letras en minúscula o números, sin signos de puntuación o espacios"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nombre completo"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Página de inicio"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "El URL de tu página de inicio, blog o perfil en otro sitio"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Cuéntanos algo sobre ti y tus intereses en 140 caracteres"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Descríbete y cuenta de tus "
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografía"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Ubicación"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Dónde estás, por ejemplo \"Ciudad, Estado (o Región), País\""
@@ -2716,7 +2736,7 @@ msgstr "Error al configurar el usuario."
msgid "New password successfully saved. You are now logged in."
msgstr "Nueva contraseña guardada correctamente. Has iniciado una sesión."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Disculpa, sólo personas invitadas pueden registrarse."
@@ -2729,7 +2749,7 @@ msgstr "Error con el código de confirmación."
msgid "Registration successful"
msgstr "Registro exitoso."
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrarse"
@@ -2746,53 +2766,53 @@ msgstr "No puedes registrarte si no estás de acuerdo con la licencia."
msgid "Email address already exists."
msgstr "La dirección de correo electrónico ya existe."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Usuario o contraseña inválidos."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 letras en minúscula o números, sin signos de puntuación o espacios. "
"Requerido."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 o más caracters. Requerido."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Igual a la contraseña de arriba. Requerida"
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correo electrónico"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Se usa sólo para actualizaciones, anuncios y recuperación de contraseñas"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nombre más largo, preferiblemente tu nombre \"real\""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Mi texto y archivos están disponibles bajo"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2801,7 +2821,7 @@ msgstr ""
"excepto los siguientes datos privados: contraseña, dirección de correo "
"electrónico, dirección de mensajería instantánea, número de teléfono."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2834,7 +2854,7 @@ msgstr ""
"\n"
"Gracias por suscribirte y esperamos que disfrutes el uso de este servicio."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4039,23 +4059,28 @@ msgstr ""
msgid "Description"
msgstr "Descripción"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "No se pudo crear favorito."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4160,6 +4185,11 @@ msgstr "Otro"
msgid "Other options"
msgstr "Otras opciones"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Página sin título"
@@ -4427,7 +4457,7 @@ msgstr "Disculpa, todavía no se implementa este comando."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr ""
"No se pudo actualizar el usuario con la dirección de correo confirmada."
@@ -4437,7 +4467,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "zumbido enviado a %s"
#: lib/command.php:126
@@ -4450,27 +4480,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Ningún perfil con ese ID."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Usuario no tiene último aviso"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Aviso marcado como favorito."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Ya eres miembro de ese grupo"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "No se puede unir usuario %s a grupo %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s se unió a grupo %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "No se pudo eliminar a usuario %s de grupo %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s dejó grupo %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nombre completo: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4488,18 +4538,33 @@ msgstr "Página de inicio: %s"
msgid "About: %s"
msgstr "Sobre: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Mensaje muy largo - máximo 140 caracteres, enviaste %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Se envió mensaje directo a %s"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Error al enviar mensaje directo."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "No se puede activar notificación."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Borrar este aviso"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Aviso publicado"
#: lib/command.php:437
@@ -4509,12 +4574,12 @@ msgstr "Hubo un problema al guardar el aviso."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Mensaje muy largo - máximo 140 caracteres, enviaste %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Responder este aviso."
#: lib/command.php:502
@@ -4524,7 +4589,7 @@ msgstr "Hubo un problema al guardar el aviso."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Especificar el nombre del usuario a suscribir"
#: lib/command.php:563
@@ -4534,7 +4599,7 @@ msgstr "Suscrito a %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Especificar el nombre del usuario para desuscribirse de"
#: lib/command.php:591
@@ -4563,50 +4628,45 @@ msgid "Can't turn on notification."
msgstr "No se puede activar notificación."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "No se pudo crear favorito."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "No estás suscrito a nadie."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Ya estás suscrito a estos usuarios:"
msgstr[1] "Ya estás suscrito a estos usuarios:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Nadie está suscrito a ti."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "No se pudo suscribir otro a ti."
msgstr[1] "No se pudo suscribir otro a ti."
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "No eres miembro de ningún grupo"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "No eres miembro de este grupo."
msgstr[1] "No eres miembro de este grupo."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5184,12 +5244,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "No se pudo guardar tags."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "No se pudo guardar tags."
#: lib/noticeform.php:215
@@ -5559,47 +5619,47 @@ msgstr "Mensaje"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "hace unos segundos"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "hace un minuto"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "hace %d minutos"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "hace una hora"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "hace %d horas"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "hace un día"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "hace %d días"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "hace un mes"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "hace %d meses"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "hace un año"
@@ -5612,3 +5672,8 @@ msgstr ""
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Mensaje muy largo - máximo 140 caracteres, enviaste %d"
diff --git a/locale/fa/LC_MESSAGES/statusnet.po b/locale/fa/LC_MESSAGES/statusnet.po
index a1c6eb42f..4cd62b0f6 100644
--- a/locale/fa/LC_MESSAGES/statusnet.po
+++ b/locale/fa/LC_MESSAGES/statusnet.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:06+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:49+0000\n"
"Last-Translator: Ahmad Sufi Mahmudi\n"
"Language-Team: Persian\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
"X-Language-Code: fa\n"
"X-Message-Group: out-statusnet\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
@@ -42,7 +42,7 @@ msgstr "چنین صفحه‌ای وجود ندارد"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -380,7 +380,7 @@ msgstr "نام و نام مستعار شما نمی تواند یکی باشد .
msgid "Group not found!"
msgstr "گروه یافت نشد!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "شما از پیش یک عضو این گروه هستید."
@@ -388,7 +388,7 @@ msgstr "شما از پیش یک عضو این گروه هستید."
msgid "You have been blocked from that group by the admin."
msgstr "دسترسی شما به گروه توسط مدیر آن محدود شده است."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "عضویت %s در گروه %s نا موفق بود."
@@ -430,11 +430,11 @@ msgstr "شما توانایی حذف وضعیت کاربر دیگری را ند
msgid "No such notice."
msgstr "چنین پیامی وجود ندارد."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "نمی توانید خبر خود را تکرار کنید."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "ابن خبر قبلا فرستاده شده"
@@ -605,7 +605,7 @@ msgstr "برش"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1749,7 +1749,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "برای پیوستن به یک گروه، باید وارد شده باشید."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "ملحق شدن به گروه"
@@ -1766,60 +1766,56 @@ msgstr "شما یک کاربر این گروه نیستید."
msgid "Could not find membership record."
msgstr "عضویت ثبت شده پیدا نشد."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s گروه %s را ترک کرد."
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "قبلا وارد شده"
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "علامت بی اعتبار یا منقضی."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "نام کاربری یا رمز عبور نادرست."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "خطا در تنظیم کاربر. شما احتمالا اجازه ی این کار را ندارید."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "ورود"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "ورود به وب‌گاه"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "نام کاربری"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "گذرواژه"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "مرا به یاد بسپار"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "وارد شدن خودکار. نه برای کامپیوترهای مشترک!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "رمز عبور خود را گم یا فراموش کرده اید؟"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1827,7 +1823,7 @@ msgstr ""
"به دلایل امنیتی، لطفا نام کاربری و رمز عبور خود را قبل از تغییر تنظیمات "
"دوباره وارد نمایید."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1893,7 +1889,7 @@ msgstr "یک پیام را به خودتان نفرستید؛ در عوض آن
msgid "Message sent"
msgstr "پیام فرستاده‌شد"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "پیام مستقیم به %s فرستاده شد."
@@ -1988,8 +1984,8 @@ msgstr "نوع محتوا "
msgid "Only "
msgstr " فقط"
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "یک قالب دادهٔ پشتیبانی‌شده نیست."
@@ -2033,6 +2029,30 @@ msgstr "نمایش یا عدم‌نمایش طراحی‌های کاربران."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "کوتاه کننده‌ی نشانی بسیار طولانی است (بیش‌تر از ۵۰ حرف)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "گروهی مشخص نشده است."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "خبری مشخص نشده."
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "علامت بی اعتبار یا منقضی."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "ورود به وب‌گاه"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2069,7 +2089,7 @@ msgid "6 or more characters"
msgstr "۶ نویسه یا بیش‌تر"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "تایید"
@@ -2294,42 +2314,42 @@ msgstr "اطلاعات شناس‌نامه"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "۱-۶۴ کاراکتر کوچک یا اعداد، بدون نقطه گذاری یا فاصله"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "نام‌کامل"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "صفحهٔ خانگی"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "نشانی اینترنتی صفحهٔ خانگی، وبلاگ یا مشخصات کاربری‌تان در یک وب‌گاه دیگر"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr ""
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "خودتان و علایقتان را توصیف کنید."
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "شرح‌حال"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "موقعیت"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2624,7 +2644,7 @@ msgstr ""
msgid "New password successfully saved. You are now logged in."
msgstr "کلمه ی عبور جدید با موفقیت ذخیره شد. شما الان وارد شده اید."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "با عرض معذرت، تنها افراد دعوت شده می توانند ثبت نام کنند."
@@ -2636,7 +2656,7 @@ msgstr "با عرض تاسف، کد دعوت نا معتبر است."
msgid "Registration successful"
msgstr "ثبت نام با موفقیت انجام شد."
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "ثبت نام"
@@ -2653,50 +2673,50 @@ msgstr "شما نمی توانید ثبت نام کنید اگر با لیسان
msgid "Email address already exists."
msgstr "آدرس ایمیل از قبل وجود دارد."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "نام کاربری یا کلمه ی عبور نا معتبر."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "۱-۶۴ حرف کوچک یا اعداد، بدون نشانه گذاری یا فاصله نیاز است."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "۶ کاراکتر یا بیشتر نیاز است."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "پست الکترونیکی"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "نام بلند تر، به طور بهتر نام واقعیتان"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr ""
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2704,7 +2724,7 @@ msgstr ""
"به استثنای این داده ی محرمانه : کلمه ی عبور، آدرس ایمیل، آدرس IM، و شماره "
"تلفن."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2723,7 +2743,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3856,23 +3876,28 @@ msgstr "مؤلف"
msgid "Description"
msgstr ""
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "نمی‌توان نام‌های مستعار را ساخت."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "شما از فرستادن پیام مستقیم مردود شده اید."
@@ -3972,6 +3997,11 @@ msgstr "دیگر"
msgid "Other options"
msgstr "انتخابات دیگر"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%s گروه %s را ترک کرد."
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "صفحه ی بدون عنوان"
@@ -4226,7 +4256,7 @@ msgstr "متاسفانه این دستور هنوز اجرا نشده."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "پیدا نشد %s کاریری یا نام مستعار"
#: lib/command.php:92
@@ -4235,7 +4265,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "فرتادن اژیر"
#: lib/command.php:126
@@ -4251,27 +4281,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "خبری با این مشخصه ایجاد نشد"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "کاربر آگهی آخر ندارد"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "شما از پیش یک عضو این گروه هستید."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "عضویت %s در گروه %s نا موفق بود."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "ملحق شدن به گروه"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "خارج شدن %s از گروه %s نا موفق بود"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s گروه %s را ترک کرد."
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "نام کامل : %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4289,20 +4339,35 @@ msgstr "صفحه خانگی : %s"
msgid "About: %s"
msgstr "درباره ی : %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"پیغام بسیار طولانی است - بیشترین اندازه امکان پذیر %d کاراکتر است , شما %d "
"تا فرستادید"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "پیام مستقیم به %s فرستاده شد."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "خطا در فرستادن پیام مستقیم."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "نمی توانید خبر خود را تکرار کنید."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "ابن خبر قبلا فرستاده شده"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "آگهی تکرار شد"
#: lib/command.php:437
@@ -4311,14 +4376,14 @@ msgstr "خطا هنگام تکرار آگهی."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
"پیغام بسیار طولانی است - بیشترین اندازه امکان پذیر %d کاراکتر است , شما %d "
"تا فرستادید"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "به این آگهی جواب دهید"
#: lib/command.php:502
@@ -4326,7 +4391,7 @@ msgid "Error saving notice."
msgstr "خطا هنگام ذخیره ی آگهی"
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4335,7 +4400,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4365,47 +4430,42 @@ msgstr "ناتوان در روشن کردن آگاه سازی."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr "فرمان ورود از کار افتاده است"
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "نمی‌توان نام‌های مستعار را ساخت."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "شما توسط هیچ کس تصویب نشده اید ."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "هم اکنون شما این کاربران را دنبال می‌کنید: "
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "هیچکس شما را تایید نکرده ."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "هیچکس شما را تایید نکرده ."
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "شما در هیچ گروهی عضو نیستید ."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "شما یک عضو این گروه نیستید."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4968,12 +5028,12 @@ msgstr "یک فایل ضمیمه کنید"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "نمی‌توان تنظیمات مکانی را تنظیم کرد."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "نمی‌توان تنظیمات مکانی را تنظیم کرد."
#: lib/noticeform.php:215
@@ -5328,47 +5388,47 @@ msgstr "پیام"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "چند ثانیه پیش"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "حدود یک دقیقه پیش"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "حدود %d دقیقه پیش"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "حدود یک ساعت پیش"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "حدود %d ساعت پیش"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "حدود یک روز پیش"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "حدود %d روز پیش"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "حدود یک ماه پیش"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "حدود %d ماه پیش"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "حدود یک سال پیش"
@@ -5381,3 +5441,10 @@ msgstr "%s یک رنگ صحیح نیست!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s یک رنگ صحیح نیست! از ۳ یا ۶ حرف مبنای شانزده استفاده کنید"
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"پیغام بسیار طولانی است - بیشترین اندازه امکان پذیر %d کاراکتر است , شما %d "
+"تا فرستادید"
diff --git a/locale/fi/LC_MESSAGES/statusnet.po b/locale/fi/LC_MESSAGES/statusnet.po
index 783946114..5bbcb949f 100644
--- a/locale/fi/LC_MESSAGES/statusnet.po
+++ b/locale/fi/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:03+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:45+0000\n"
"Language-Team: Finnish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fi\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "Sivua ei ole."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -388,7 +388,7 @@ msgstr "Alias ei voi olla sama kuin ryhmätunnus."
msgid "Group not found!"
msgstr "Ryhmää ei löytynyt!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Sinä kuulut jo tähän ryhmään."
@@ -396,7 +396,7 @@ msgstr "Sinä kuulut jo tähän ryhmään."
msgid "You have been blocked from that group by the admin."
msgstr "Sinut on estetty osallistumasta tähän ryhmään ylläpitäjän toimesta."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Käyttäjä %s ei voinut liittyä ryhmään %s."
@@ -438,12 +438,12 @@ msgstr "Et voi poistaa toisen käyttäjän päivitystä."
msgid "No such notice."
msgstr "Päivitystä ei ole."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Ilmoituksia ei voi pistää päälle."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Poista tämä päivitys"
@@ -615,7 +615,7 @@ msgstr "Rajaa"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1802,7 +1802,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Sinun pitää olla kirjautunut sisään, jos haluat liittyä ryhmään."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s liittyi ryhmään %s"
@@ -1819,64 +1819,59 @@ msgstr "Sinä et kuulu tähän ryhmään."
msgid "Could not find membership record."
msgstr "Ei löydetty käyttäjän jäsenyystietoja."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s erosi ryhmästä %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Olet jo kirjautunut sisään."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Päivityksen sisältö ei kelpaa"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Väärä käyttäjätunnus tai salasana"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Sinulla ei ole valtuutusta tähän."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Kirjaudu sisään"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Kirjaudu sisään"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Tunnus"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Salasana"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Muista minut"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Kirjaudu sisään automaattisesti tulevaisuudessa; ei tietokoneille joilla "
"useampi käyttäjä!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Oletko hukannut tai unohtanut salasanasi?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1884,7 +1879,7 @@ msgstr ""
"Syötä turvallisuussyistä käyttäjätunnuksesi ja salasanasi uudelleen ennen "
"asetuksiesi muuttamista."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1951,7 +1946,7 @@ msgstr "Älä lähetä viestiä itsellesi, vaan kuiskaa se vain hiljaa itsellesi
msgid "Message sent"
msgstr "Viesti lähetetty"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Suora viesti käyttäjälle %s lähetetty"
@@ -2045,8 +2040,8 @@ msgstr "Yhdistä"
msgid "Only "
msgstr "Vain "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Tuo ei ole tuettu tietomuoto."
@@ -2091,6 +2086,31 @@ msgstr "Näytä tai piillota profiilin ulkoasu."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL-lyhennyspalvelun nimi on liian pitkä (max 50 merkkiä)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Ryhmää ei ole määritelty."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Profiilia ei ole määritelty."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Ei profiili id:tä kyselyssä."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Päivityksen sisältö ei kelpaa"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Kirjaudu sisään"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2125,7 +2145,7 @@ msgid "6 or more characters"
msgstr "6 tai useampia merkkejä"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Vahvista"
@@ -2364,42 +2384,42 @@ msgstr ""
"1-64 pientä kirjainta tai numeroa, ei ääkkösiä eikä välimerkkejä tai "
"välilyöntejä"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Koko nimi"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Kotisivu"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Kotisivusi, blogisi tai toisella sivustolla olevan profiilisi osoite."
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Kuvaile itseäsi ja kiinnostuksen kohteitasi %d merkillä"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Kuvaile itseäsi ja kiinnostuksen kohteitasi"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Tietoja"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Kotipaikka"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Olinpaikka kuten \"Kaupunki, Maakunta (tai Lääni), Maa\""
@@ -2703,7 +2723,7 @@ msgid "New password successfully saved. You are now logged in."
msgstr ""
"Uusi salasana tallennettiin onnistuneesti. Olet nyt kirjautunut sisään."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Valitettavasti vain kutsutut ihmiset voivat rekisteröityä."
@@ -2715,7 +2735,7 @@ msgstr "Virheellinen kutsukoodin."
msgid "Registration successful"
msgstr "Rekisteröityminen onnistui"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Rekisteröidy"
@@ -2732,56 +2752,56 @@ msgstr "Et voi rekisteröityä, jos et hyväksy lisenssiehtoja."
msgid "Email address already exists."
msgstr "Sähköpostiosoite on jo käytössä."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Käyttäjätunnus tai salasana ei kelpaa."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 pientä kirjainta tai numeroa, ei ääkkösiä eikä välimerkkejä tai "
"välilyöntejä. Pakollinen."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 tai useampia merkkejä. Pakollinen."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Sama kuin ylläoleva salasana. Pakollinen."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Sähköposti"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Käytetään ainoastaan päivityksien lähettämiseen, ilmoitusasioihin ja "
"salasanan uudelleen käyttöönottoon."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Pitempi nimi, mieluiten oikea nimesi"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr ""
"Minun tekstini ja tiedostoni ovat käytettävissä seuraavan lisenssin "
"mukaisesti "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2789,7 +2809,7 @@ msgstr ""
"poislukien yksityinen tieto: salasana, sähköpostiosoite, IM-osoite, "
"puhelinnumero."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2822,7 +2842,7 @@ msgstr ""
"\n"
"Kiitokset rekisteröitymisestäsi ja toivomme että pidät palvelustamme."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4023,23 +4043,28 @@ msgstr ""
msgid "Description"
msgstr "Kuvaus"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Ei voitu lisätä aliasta."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4142,6 +4167,11 @@ msgstr "Muut"
msgid "Other options"
msgstr "Muita asetuksia"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Nimetön sivu"
@@ -4413,7 +4443,7 @@ msgstr "Valitettavasti tätä komentoa ei ole vielä toteutettu."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Ei voitu päivittää käyttäjälle vahvistettua sähköpostiosoitetta."
#: lib/command.php:92
@@ -4422,7 +4452,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Tönäisy lähetetty"
#: lib/command.php:126
@@ -4435,27 +4465,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Ei profiilia tuolla id:llä."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Käyttäjällä ei ole viimeistä päivitystä"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Päivitys on merkitty suosikiksi."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Sinä kuulut jo tähän ryhmään."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Käyttäjä %s ei voinut liittyä ryhmään %s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s liittyi ryhmään %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Ei voitu poistaa käyttäjää %s ryhmästä %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s erosi ryhmästä %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Koko nimi: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4473,18 +4523,33 @@ msgstr "Kotisivu: %s"
msgid "About: %s"
msgstr "Tietoa: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Suora viesti käyttäjälle %s lähetetty"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Tapahtui virhe suoran viestin lähetyksessä."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Ilmoituksia ei voi pistää päälle."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Poista tämä päivitys"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Päivitys lähetetty"
#: lib/command.php:437
@@ -4494,12 +4559,12 @@ msgstr "Ongelma päivityksen tallentamisessa."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Vastaa tähän päivitykseen"
#: lib/command.php:502
@@ -4509,7 +4574,7 @@ msgstr "Ongelma päivityksen tallentamisessa."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Anna käyttäjätunnus, jonka päivitykset haluat tilata"
#: lib/command.php:563
@@ -4519,7 +4584,7 @@ msgstr "Käyttäjän %s päivitykset tilattu"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Anna käyttäjätunnus, jonka päivityksien tilauksen haluat lopettaa"
#: lib/command.php:591
@@ -4548,53 +4613,48 @@ msgid "Can't turn on notification."
msgstr "Ilmoituksia ei voi pistää päälle."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Ei voitu lisätä aliasta."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Olet jos tilannut seuraavien käyttäjien päivitykset:"
msgstr[1] "Olet jos tilannut seuraavien käyttäjien päivitykset:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Toista ei voitu asettaa tilaamaan sinua."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Toista ei voitu asettaa tilaamaan sinua."
msgstr[1] "Toista ei voitu asettaa tilaamaan sinua."
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Sinä et kuulu tähän ryhmään."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Sinä et kuulu tähän ryhmään."
msgstr[1] "Sinä et kuulu tähän ryhmään."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5179,12 +5239,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Tageja ei voitu tallentaa."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Tageja ei voitu tallentaa."
#: lib/noticeform.php:215
@@ -5561,47 +5621,47 @@ msgstr "Viesti"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "muutama sekunti sitten"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "noin minuutti sitten"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "noin %d minuuttia sitten"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "noin tunti sitten"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "noin %d tuntia sitten"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "noin päivä sitten"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "noin %d päivää sitten"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "noin kuukausi sitten"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "noin %d kuukautta sitten"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "noin vuosi sitten"
@@ -5614,3 +5674,8 @@ msgstr "Kotisivun verkko-osoite ei ole toimiva."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
diff --git a/locale/fr/LC_MESSAGES/statusnet.po b/locale/fr/LC_MESSAGES/statusnet.po
index 341d26556..2fa90cfd1 100644
--- a/locale/fr/LC_MESSAGES/statusnet.po
+++ b/locale/fr/LC_MESSAGES/statusnet.po
@@ -1,6 +1,5 @@
# Translation of StatusNet to French
#
-# Author@translatewiki.net: Brion
# Author@translatewiki.net: IAlex
# Author@translatewiki.net: Isoph
# Author@translatewiki.net: Jean-Frédéric
@@ -13,12 +12,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:09+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:54+0000\n"
"Language-Team: French\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: fr\n"
"X-Message-Group: out-statusnet\n"
@@ -43,7 +42,7 @@ msgstr "Page non trouvée"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -197,7 +196,7 @@ msgid ""
"The server was unable to handle that much POST data (%s bytes) due to its "
"current configuration."
msgstr ""
-"Le serveur n'a pas pu gérer autant de données de POST (%s octets) en raison "
+"Le serveur n’a pas pu gérer autant de données de POST (%s octets) en raison "
"de sa configuration actuelle."
#: actions/apiaccountupdateprofilebackgroundimage.php:136
@@ -235,17 +234,17 @@ msgstr "Messages direct depuis %s"
#: actions/apidirectmessage.php:93
#, php-format
msgid "All the direct messages sent from %s"
-msgstr "Tous les messages envoyés par %s"
+msgstr "Tous les messages directs envoyés par %s"
#: actions/apidirectmessage.php:101
#, php-format
msgid "Direct messages to %s"
-msgstr "Messages envoyés à %s"
+msgstr "Messages directs envoyés à %s"
#: actions/apidirectmessage.php:105
#, php-format
msgid "All the direct messages sent to %s"
-msgstr "Tous les messages envoyés à %s"
+msgstr "Tous les messages directs envoyés à %s"
#: actions/apidirectmessagenew.php:126
msgid "No message text!"
@@ -272,18 +271,16 @@ msgid "No status found with that ID."
msgstr "Aucun statut trouvé avec cet identifiant. "
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
-msgstr "Cet avis a déjà été ajouté à vos favoris !"
+msgstr "Cet avis est déjà un favori."
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
msgid "Could not create favorite."
msgstr "Impossible de créer le favori."
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
-msgstr "Cet avis n’est pas un favori !"
+msgstr "Cet avis n’est pas un favori."
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
msgid "Could not delete favorite."
@@ -303,9 +300,8 @@ msgid "Could not unfollow user: User not found."
msgstr "Impossible de ne plus suivre l’utilisateur : utilisateur non trouvé."
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
-msgstr "Vous ne pouvez pas ne plus vous suivre vous-même !"
+msgstr "Vous ne pouvez pas ne plus vous suivre vous-même."
#: actions/apifriendshipsexists.php:94
msgid "Two user ids or screen_names must be supplied."
@@ -391,7 +387,7 @@ msgstr "L’alias ne peut pas être le même que le pseudo."
msgid "Group not found!"
msgstr "Groupe non trouvé !"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Vous êtes déjà membre de ce groupe."
@@ -399,7 +395,7 @@ msgstr "Vous êtes déjà membre de ce groupe."
msgid "You have been blocked from that group by the admin."
msgstr "Vous avez été bloqué de ce groupe par l’administrateur."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Impossible de joindre l’utilisateur %1$s au groupe %2$s."
@@ -441,11 +437,11 @@ msgstr "Vous ne pouvez pas supprimer le statut d’un autre utilisateur."
msgid "No such notice."
msgstr "Avis non trouvé."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Vous ne pouvez pas reprendre votre propre avis."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Vous avez déjà repris cet avis."
@@ -486,7 +482,7 @@ msgstr "%1$s / Favoris de %2$s"
#: actions/apitimelinefavorites.php:120
#, php-format
msgid "%1$s updates favorited by %2$s / %2$s."
-msgstr "%1$s mises à jour des favoris de %2$s / %2$s."
+msgstr "%1$s statuts favoris de %2$s / %2$s."
#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
#: actions/grouprss.php:131 actions/userrss.php:90
@@ -619,7 +615,7 @@ msgstr "Recadrer"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -727,7 +723,7 @@ msgstr "Une liste des utilisateurs dont l’inscription à ce groupe est bloqué
#: actions/blockedfromgroup.php:281
msgid "Unblock user from group"
-msgstr "Débloquer l’utilisateur du groupe"
+msgstr "Débloquer l’utilisateur de ce groupe"
#: actions/blockedfromgroup.php:313 lib/unblockform.php:69
msgid "Unblock"
@@ -996,9 +992,8 @@ msgstr "Vous devez ouvrir une session pour créer un groupe."
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
msgid "You must be an admin to edit the group."
-msgstr "Seuls les administrateurs d’un groupe peuvent le modifier."
+msgstr "Vous devez être administrateur pour modifier le groupe."
#: actions/editgroup.php:154
msgid "Use this form to edit the group."
@@ -1022,7 +1017,6 @@ msgid "Options saved."
msgstr "Vos options ont été enregistrées."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "Paramètres du courriel"
@@ -1060,9 +1054,8 @@ msgid "Cancel"
msgstr "Annuler"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
-msgstr "Adresses courriel"
+msgstr "Adresse électronique"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
@@ -1188,7 +1181,7 @@ msgstr "L’adresse a été supprimée."
#: actions/emailsettings.php:446 actions/smssettings.php:518
msgid "No incoming email address."
-msgstr "Aucune adresse pour le courriel entrant."
+msgstr "Aucune adresse de courriel entrant."
#: actions/emailsettings.php:456 actions/emailsettings.php:478
#: actions/smssettings.php:528 actions/smssettings.php:552
@@ -1201,7 +1194,7 @@ msgstr "L’adresse de courriel entrant a été supprimée."
#: actions/emailsettings.php:481 actions/smssettings.php:555
msgid "New incoming email address added."
-msgstr "Nouvelle adresse courriel ajoutée."
+msgstr "Nouvelle adresse de courriel entrant ajoutée."
#: actions/favor.php:79
msgid "This notice is already a favorite!"
@@ -1272,11 +1265,11 @@ msgstr "Utilisateurs en vedette - page %d"
#: actions/featured.php:99
#, php-format
msgid "A selection of some great users on %s"
-msgstr "Une sélection d'utilisateurs à ne pas manquer dans %s"
+msgstr "Une sélection d’utilisateurs à ne pas manquer dans %s"
#: actions/file.php:34
msgid "No notice ID."
-msgstr "Aucun identifiant d'avis."
+msgstr "Aucun identifiant d’avis."
#: actions/file.php:38
msgid "No notice."
@@ -1429,9 +1422,8 @@ msgstr ""
"est de %s."
#: actions/grouplogo.php:178
-#, fuzzy
msgid "User without matching profile."
-msgstr "Utilisateur sans profil correspondant"
+msgstr "Utilisateur sans profil correspondant."
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
@@ -1564,7 +1556,6 @@ msgid "Error removing the block."
msgstr "Erreur lors de l’annulation du blocage."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
msgstr "Paramètres de messagerie instantanée"
@@ -1597,7 +1588,6 @@ msgstr ""
"votre liste de contacts ?)"
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
msgstr "Adresse de messagerie instantanée"
@@ -1607,7 +1597,7 @@ msgid ""
"Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
"add %s to your buddy list in your IM client or on GTalk."
msgstr ""
-"Adresse Jabber ou GTalk (ex : nom@example.org). Assurez-vous d’ajouter %s à "
+"Adresse Jabber ou GTalk (ex : nom@exemple.org). Assurez-vous d’ajouter %s à "
"votre liste d’amis dans votre logiciel de messagerie instantanée ou dans "
"GTalk."
@@ -1819,7 +1809,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Vous devez ouvrir une session pour rejoindre un groupe."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s a rejoint le groupe %2$s"
@@ -1836,64 +1826,60 @@ msgstr "Vous n'êtes pas membre de ce groupe."
msgid "Could not find membership record."
msgstr "Aucun enregistrement à ce groupe n’a été trouvé."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s a quitté le groupe %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Déjà connecté."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Jeton invalide ou expiré."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Identifiant ou mot de passe incorrect."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
-"Erreur lors de la mise en place de l'utilisateur. Vous n'y êtes probablement "
+"Erreur lors de la mise en place de l’utilisateur. Vous n’y êtes probablement "
"pas autorisé."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Ouvrir une session"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Ouverture de session"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Pseudo"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Mot de passe"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Se souvenir de moi"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Ouvrir automatiquement ma session à l’avenir (déconseillé pour les "
"ordinateurs publics ou partagés)"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Mot de passe perdu ?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1901,14 +1887,14 @@ msgstr ""
"Pour des raisons de sécurité, veuillez entrer à nouveau votre identifiant et "
"votre mot de passe afin d’enregistrer vos préférences."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
"(%%action.register%%) a new account."
msgstr ""
-"Ouvrez une session avec votre identifiant et votre mot de passe. Vous n'avez "
-"pas encore d'identifiant ? [Créez-vous](%%action.register%%) un nouveau "
+"Ouvrez une session avec votre identifiant et votre mot de passe. Vous n’avez "
+"pas encore d’identifiant ? [Créez-vous](%%action.register%%) un nouveau "
"compte."
#: actions/makeadmin.php:91
@@ -1922,16 +1908,16 @@ msgid "%1$s is already an admin for group \"%2$s\"."
msgstr "%1$s est déjà administrateur du groupe « %2$s »."
#: actions/makeadmin.php:132
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
msgstr ""
-"Impossible d'avoir les enregistrements d'appartenance pour %1$s dans le "
-"groupe %2$s"
+"Impossible d’obtenir les enregistrements d’appartenance pour %1$s dans le "
+"groupe %2$s."
#: actions/makeadmin.php:145
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "Impossible de rendre %1$s administrateur du groupe %2$s"
+msgstr "Impossible de rendre %1$s administrateur du groupe %2$s."
#: actions/microsummary.php:69
msgid "No current status"
@@ -1972,10 +1958,10 @@ msgstr ""
msgid "Message sent"
msgstr "Message envoyé"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
-msgstr "Message direct à %s envoyé."
+msgstr "Message direct envoyé à %s."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -2068,8 +2054,8 @@ msgstr "type de contenu "
msgid "Only "
msgstr "Seulement "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Format de données non supporté."
@@ -2113,6 +2099,31 @@ msgstr "Afficher ou masquer les paramètres de conception."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Le service de réduction d’URL est trop long (50 caractères maximum)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Aucun groupe n’a été spécifié."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Aucun avis n’a été spécifié."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Aucune identité de profil dans la requête."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Jeton invalide ou expiré."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Ouverture de session"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2148,7 +2159,7 @@ msgid "6 or more characters"
msgstr "6 caractères ou plus"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmer"
@@ -2259,7 +2270,7 @@ msgstr "Avatars"
#: actions/pathsadminpanel.php:257
msgid "Avatar server"
-msgstr "Serveur d'avatar"
+msgstr "Serveur d’avatar"
#: actions/pathsadminpanel.php:261
msgid "Avatar path"
@@ -2310,7 +2321,6 @@ msgid "When to use SSL"
msgstr "Quand utiliser SSL"
#: actions/pathsadminpanel.php:308
-#, fuzzy
msgid "SSL server"
msgstr "Serveur SSL"
@@ -2320,8 +2330,7 @@ msgstr "Serveur vers lequel rediriger les requêtes SSL"
#: actions/pathsadminpanel.php:325
msgid "Save paths"
-msgstr ""
-"Impossible de définir l'utilisateur. Vous n'êtes probablement pas autorisé."
+msgstr "Enregistrer les chemins."
#: actions/peoplesearch.php:52
#, php-format
@@ -2349,13 +2358,13 @@ msgstr "Utilisateurs marqués par eux-mêmes avec %1$s - page %2$d"
#: actions/postnotice.php:84
msgid "Invalid notice content"
-msgstr "Contenu invalide"
+msgstr "Contenu de l’avis invalide"
#: actions/postnotice.php:90
#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-"La licence des avis « %1$s » n'est pas compatible avec la licence du site « %2"
+"La licence des avis « %1$s » n’est pas compatible avec la licence du site « %2"
"$s »."
#: actions/profilesettings.php:60
@@ -2377,42 +2386,42 @@ msgstr "Information de profil"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nom complet"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Site personnel"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Adresse de votre site Web, blogue, ou profil dans un autre site"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Décrivez vous et vos intérêts en %d caractères"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Décrivez vous et vos interêts"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Bio"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Emplacement"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Indiquez votre emplacement, ex.: « Ville, État (ou région), Pays »"
@@ -2530,7 +2539,7 @@ msgid ""
"This is the public timeline for %%site.name%% but no one has posted anything "
"yet."
msgstr ""
-"Ceci est la chronologie publique de %%site.name%% mais personne n'a encore "
+"Ceci est la chronologie publique de %%site.name%% mais personne n’a encore "
"rien posté."
#: actions/public.php:182
@@ -2582,7 +2591,7 @@ msgstr "Dernières marques les plus populaires sur %s "
#, php-format
msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
msgstr ""
-"Personne n'a encore posté d’avis avec une [marque (hashtag)](%%doc.tags%%)."
+"Personne n’a encore posté d’avis avec une [marque (hashtag)](%%doc.tags%%)."
#: actions/publictagcloud.php:72
msgid "Be the first to post one!"
@@ -2729,7 +2738,7 @@ msgid "New password successfully saved. You are now logged in."
msgstr ""
"Nouveau mot de passe créé avec succès. Votre session est maintenant ouverte."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Désolé ! Seules les personnes invitées peuvent s’inscrire."
@@ -2741,7 +2750,7 @@ msgstr "Désolé, code d’invitation invalide."
msgid "Registration successful"
msgstr "Compte créé avec succès"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Créer un compte"
@@ -2758,11 +2767,11 @@ msgstr "Vous devez accepter les termes de la licence pour créer un compte."
msgid "Email address already exists."
msgstr "Cette adresse courriel est déjà utilisée."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Identifiant ou mot de passe incorrect."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2770,43 +2779,43 @@ msgstr ""
"Avec ce formulaire vous pouvez créer un nouveau compte. Vous pourrez ensuite "
"poster des avis and et vous relier à des amis et collègues. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces. Requis."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 caractères ou plus. Requis."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Identique au mot de passe ci-dessus. Requis."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Courriel"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Utilisé uniquement pour les mises à jour, les notifications, et la "
"récupération de mot de passe"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nom plus long, votre \"vrai\" nom de préférence"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Mes textes et mes fichiers sont disponibles sous"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Paternité 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2814,7 +2823,7 @@ msgstr ""
" à l’exception de ces données personnelles : mot de passe, adresse e-mail, "
"adresse de messagerie instantanée, numéro de téléphone."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2848,7 +2857,7 @@ msgstr ""
"Merci pour votre inscription ! Nous vous souhaitons d’apprécier notre "
"service."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3000,7 +3009,7 @@ msgstr ""
#: actions/sandbox.php:72
msgid "User is already sandboxed."
-msgstr "L'utilisateur est déjà dans le bac à sable."
+msgstr "L’utilisateur est déjà dans le bac à sable."
#: actions/showfavorites.php:132
msgid "Could not retrieve favorite notices."
@@ -3132,7 +3141,7 @@ msgid ""
"their life and interests. [Join now](%%%%action.register%%%%) to become part "
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-"**%s** est un groupe d'utilisateurs sur %%%%site.name%%%%, un service de "
+"**%s** est un groupe d’utilisateurs sur %%%%site.name%%%%, un service de "
"[microblogging](http://fr.wikipedia.org/wiki/Microblog) basé sur le logiciel "
"libre [StatusNet](http://status.net/). Ses membres partagent des courts "
"messages sur leur vie et leurs intérêts. [Inscrivez-vous maintenant](%%%%"
@@ -3280,22 +3289,21 @@ msgid "Site name must have non-zero length."
msgstr "Le nom du site ne peut pas être vide."
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address."
-msgstr "Vous devez avoir une adresse de courriel de contact valide."
+msgstr "Vous devez avoir une adresse électronique de contact valide."
#: actions/siteadminpanel.php:172
-#, fuzzy, php-format
+#, php-format
msgid "Unknown language \"%s\"."
-msgstr "Langue « %s » inconnue"
+msgstr "Langue « %s » inconnue."
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
-msgstr "URL de rapport d'instantanés invalide."
+msgstr "URL de rapport d’instantanés invalide."
#: actions/siteadminpanel.php:185
msgid "Invalid snapshot run value."
-msgstr "Valeur de lancement d'instantanés invalide."
+msgstr "Valeur de lancement d’instantanés invalide."
#: actions/siteadminpanel.php:191
msgid "Snapshot frequency must be a number."
@@ -3307,7 +3315,7 @@ msgstr "La limite minimale de texte est de 140 caractères."
#: actions/siteadminpanel.php:203
msgid "Dupe limit must 1 or more seconds."
-msgstr "La limite de doublon doit être d'une seconde ou plus."
+msgstr "La limite de doublon doit être d’une seconde ou plus."
#: actions/siteadminpanel.php:253
msgid "General"
@@ -3367,7 +3375,7 @@ msgstr "Serveur"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
-msgstr "Nom d'hôte du serveur du site."
+msgstr "Nom d’hôte du serveur du site."
#: actions/siteadminpanel.php:310
msgid "Fancy URLs"
@@ -3395,7 +3403,7 @@ msgstr "Sur invitation uniquement"
#: actions/siteadminpanel.php:329
msgid "Make registration invitation only."
-msgstr "Rendre l'inscription sur invitation seulement."
+msgstr "Rendre l’inscription sur invitation seulement."
#: actions/siteadminpanel.php:333
msgid "Closed"
@@ -3468,7 +3476,6 @@ msgid "Save site settings"
msgstr "Sauvegarder les paramètres du site"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
msgstr "Paramètres SMS"
@@ -3500,9 +3507,8 @@ msgid "Enter the code you received on your phone."
msgstr "Entrez le code que vous avez reçu sur votre téléphone."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
-msgstr "Numéro SMS"
+msgstr "Numéro de téléphone pour les SMS"
#: actions/smssettings.php:140
msgid "Phone number, no punctuation or spaces, with area code"
@@ -3694,7 +3700,7 @@ msgstr "Flux des avis pour la marque %s (Atom)"
#: actions/tagother.php:39
msgid "No ID argument."
-msgstr "Aucun argument d'identifiant."
+msgstr "Aucun argument d’identifiant."
#: actions/tagother.php:65
#, php-format
@@ -3747,15 +3753,15 @@ msgstr "Méthode API en construction."
#: actions/unblock.php:59
msgid "You haven't blocked that user."
-msgstr "Vous n'avez pas bloqué cet utilisateur."
+msgstr "Vous n’avez pas bloqué cet utilisateur."
#: actions/unsandbox.php:72
msgid "User is not sandboxed."
-msgstr "L'utilisateur ne se trouve pas dans le bac à sable."
+msgstr "L’utilisateur ne se trouve pas dans le bac à sable."
#: actions/unsilence.php:72
msgid "User is not silenced."
-msgstr "L'utilisateur n'est pas réduit au silence."
+msgstr "L’utilisateur n’est pas réduit au silence."
#: actions/unsubscribe.php:77
msgid "No profile id in request."
@@ -3793,7 +3799,7 @@ msgstr "Texte de bienvenue invalide. La taille maximale est de 255 caractères."
#: actions/useradminpanel.php:165
#, php-format
msgid "Invalid default subscripton: '%1$s' is not user."
-msgstr "Abonnement par défaut invalide : « %1$s » n'est pas un utilisateur."
+msgstr "Abonnement par défaut invalide : « %1$s » n’est pas un utilisateur."
#: actions/useradminpanel.php:218 lib/accountsettingsaction.php:108
#: lib/personalgroupnav.php:109
@@ -3806,7 +3812,7 @@ msgstr "Limite de bio"
#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
-msgstr "Longueur maximale de la bio d'un profil en caractères."
+msgstr "Longueur maximale de la bio d’un profil en caractères."
#: actions/useradminpanel.php:231
msgid "New users"
@@ -3840,7 +3846,7 @@ msgstr "Invitations activées"
#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
msgstr ""
-"S'il faut autoriser les utilisateurs à inviter de nouveaux utilisateurs."
+"S’il faut autoriser les utilisateurs à inviter de nouveaux utilisateurs."
#: actions/useradminpanel.php:265
msgid "Sessions"
@@ -3852,7 +3858,7 @@ msgstr "Gérer les sessions"
#: actions/useradminpanel.php:272
msgid "Whether to handle sessions ourselves."
-msgstr "S'il faut gérer les sessions nous-même."
+msgstr "S’il faut gérer les sessions nous-même."
#: actions/useradminpanel.php:276
msgid "Session debugging"
@@ -4028,7 +4034,7 @@ msgid ""
msgstr ""
"StatusNet est un logiciel libre : vous pouvez le redistribuer et/ou le "
"modifier en respectant les termes de la licence Licence Publique Générale "
-"GNU Affero telle qu'elle a été publiée par la Free Software Foundation, dans "
+"GNU Affero telle qu’elle a été publiée par la Free Software Foundation, dans "
"sa version 3 ou (comme vous le souhaitez) toute version plus récente. "
#: actions/version.php:174
@@ -4038,9 +4044,9 @@ msgid ""
"FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
"for more details. "
msgstr ""
-"Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE "
+"Ce programme est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE "
"GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou "
-"D'ADAPTATION À UN BUT PARTICULIER. Pour plus de détails, voir la Licence "
+"D’ADAPTATION À UN BUT PARTICULIER. Pour plus de détails, voir la Licence "
"Publique Générale GNU Affero."
#: actions/version.php:180
@@ -4050,7 +4056,7 @@ msgid ""
"along with this program. If not, see %s."
msgstr ""
"Vous avez dû recevoir une copie de la Licence Publique Générale GNU Affero "
-"avec ce programme. Si ce n'est pas le cas, consultez %s."
+"avec ce programme. Si ce n’est pas le cas, consultez %s."
#: actions/version.php:189
msgid "Plugins"
@@ -4072,7 +4078,7 @@ msgstr "Auteur(s)"
msgid "Description"
msgstr "Description"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4081,19 +4087,24 @@ msgstr ""
"Un fichier ne peut pas être plus gros que %d octets et le fichier que vous "
"avez envoyé pesait %d octets. Essayez d’importer une version moins grosse."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr "Un fichier aussi gros dépasserai votre quota utilisateur de %d octets."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "Un fichier aussi gros dépasserai votre quota mensuel de %d octets."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Impossible de créer le jeton d’ouverture de session pour %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
-msgstr "Il vous est interdit d'envoyer des messages directs."
+msgstr "Il vous est interdit d’envoyer des messages directs."
#: classes/Message.php:61
msgid "Could not insert message."
@@ -4152,7 +4163,7 @@ msgstr "RT @%1$s %2$s"
#: classes/User.php:368
#, php-format
msgid "Welcome to %1$s, @%2$s!"
-msgstr "Bienvenu à %1$s, @%2$s !"
+msgstr "Bienvenue à %1$s, @%2$s !"
#: classes/User_group.php:380
msgid "Could not create group."
@@ -4190,6 +4201,11 @@ msgstr "Autres "
msgid "Other options"
msgstr "Autres options "
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Page sans nom"
@@ -4374,7 +4390,7 @@ msgstr "Vous ne pouvez pas faire de modifications sur ce site."
#: lib/adminpanelaction.php:107
msgid "Changes to that panel are not allowed."
-msgstr "La modification de ce panneau n'est pas autorisée."
+msgstr "La modification de ce panneau n’est pas autorisée."
#: lib/adminpanelaction.php:206
msgid "showForm() not implemented."
@@ -4426,7 +4442,7 @@ msgstr "La modification du mot de passe a échoué"
#: lib/authenticationplugin.php:197
msgid "Password changing is not allowed"
-msgstr "La modification du mot de passe n'est pas autorisée"
+msgstr "La modification du mot de passe n’est pas autorisée"
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
@@ -4445,8 +4461,8 @@ msgid "Sorry, this command is not yet implemented."
msgstr "Désolé, cette commande n’a pas encore été implémentée."
#: lib/command.php:88
-#, php-format
-msgid "Could not find a user with nickname %s."
+#, fuzzy, php-format
+msgid "Could not find a user with nickname %s"
msgstr "Impossible de trouver un utilisateur avec le pseudo %s."
#: lib/command.php:92
@@ -4454,9 +4470,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr "Ça n’a pas de sens de se faire un clin d’œil à soi-même !"
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
-msgstr "Clin d'œil envoyé à %s."
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
+msgstr "Clin d’œil envoyé à %s."
#: lib/command.php:126
#, php-format
@@ -4470,26 +4486,48 @@ msgstr ""
"Messages : %3$s"
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+#, fuzzy
+msgid "Notice with that id does not exist"
msgstr "Aucun avis avec cet identifiant n’existe."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
+#, fuzzy
+msgid "User has no last notice"
msgstr "Aucun avis récent pour cet utilisateur."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Avis ajouté aux favoris."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Vous êtes déjà membre de ce groupe."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Impossible de joindre l’utilisateur %1$s au groupe %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s a rejoint le groupe %2$s"
+
#: lib/command.php:284
-#, php-format
-msgid "Could not remove user %1$s to group %2$s."
+#, fuzzy, php-format
+msgid "Could not remove user %s to group %s"
msgstr "Impossible de retirer l’utilisateur %1$s du groupe %2$s."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s a quitté le groupe %2$s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nom complet : %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4507,36 +4545,51 @@ msgstr "Site Web : %s"
msgid "About: %s"
msgstr "À propos : %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#: lib/command.php:358
+#, fuzzy, php-format
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"Message trop long ! La taille maximale est de %1$d caractères ; vous en avez "
"entré %2$d."
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Message direct envoyé à %s."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Une erreur est survenue pendant l’envoi de votre message."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Vous ne pouvez pas reprendre votre propre avis."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Vous avez déjà repris cet avis."
+
#: lib/command.php:435
-#, php-format
-msgid "Notice from %s repeated."
+#, fuzzy, php-format
+msgid "Notice from %s repeated"
msgstr "Avis de %s repris."
#: lib/command.php:437
msgid "Error repeating notice."
-msgstr "Erreur lors de la reprise de l'avis."
+msgstr "Erreur lors de la reprise de l’avis."
#: lib/command.php:491
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
"Avis trop long ! La taille maximale est de %1$d caractères ; vous en avez "
"entré %2$d."
#: lib/command.php:500
-#, php-format
-msgid "Reply to %s sent."
+#, fuzzy, php-format
+msgid "Reply to %s sent"
msgstr "Réponse à %s envoyée."
#: lib/command.php:502
@@ -4544,7 +4597,8 @@ msgid "Error saving notice."
msgstr "Problème lors de l’enregistrement de l’avis."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+#, fuzzy
+msgid "Specify the name of the user to subscribe to"
msgstr "Indiquez le nom de l’utilisateur auquel vous souhaitez vous abonner."
#: lib/command.php:563
@@ -4553,7 +4607,8 @@ msgid "Subscribed to %s"
msgstr "Abonné à %s"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+#, fuzzy
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
"Indiquez le nom de l’utilisateur duquel vous souhaitez vous désabonner."
@@ -4583,52 +4638,48 @@ msgid "Can't turn on notification."
msgstr "Impossible d’activer les avertissements."
#: lib/command.php:650
-msgid "Login command is disabled."
-msgstr "La commande d'ouverture de session est désactivée."
-
-#: lib/command.php:664
-#, php-format
-msgid "Could not create login token for %s."
-msgstr "Impossible de créer le jeton d'ouverture de session pour %s."
+#, fuzzy
+msgid "Login command is disabled"
+msgstr "La commande d’ouverture de session est désactivée."
-#: lib/command.php:669
-#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+#: lib/command.php:661
+#, fuzzy, php-format
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
"Ce lien n’est utilisable qu’une seule fois, et est valable uniquement "
"pendant 2 minutes : %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Vous n'êtes pas abonné(e) à personne."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Vous êtes abonné à cette personne :"
msgstr[1] "Vous êtes abonné à ces personnes :"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
-msgstr "Personne ne s'est abonné à vous."
+msgstr "Personne ne s’est abonné à vous."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Cette personne est abonnée à vous :"
msgstr[1] "Ces personnes sont abonnées à vous :"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
-msgstr "Vous n'êtes pas membre d'aucun groupe."
+msgstr "Vous n’êtes membre d’aucun groupe."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Vous êtes membre de ce groupe :"
msgstr[1] "Vous êtes membre de ces groupes :"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4679,12 +4730,12 @@ msgstr ""
"leave <nickname> - se désabonner de l’utilisateur\n"
"d <nickname> <text> - message direct à l’utilisateur\n"
"get <nickname> - obtenir le dernier avis de l’utilisateur\n"
-"whois <nickname> - obtenir le profil de l'utilisateur\n"
+"whois <nickname> - obtenir le profil de l’utilisateur\n"
"fav <nickname> - ajouter de dernier avis de l’utilisateur comme favori\n"
"fav #<notice_id> - ajouter l’avis correspondant à l’identifiant comme "
"favori\n"
-"repeat #<notice_id> - reprendre l'avis correspondant à l'identifiant\n"
-"repeat <nickname> - reprendre le dernier avis de l'utilisateur\n"
+"repeat #<notice_id> - reprendre l’avis correspondant à l’identifiant\n"
+"repeat <nickname> - reprendre le dernier avis de l’utilisateur\n"
"reply #<notice_id> - répondre à l’avis correspondant à l’identifiant\n"
"reply <nickname> - répondre au dernier avis de l’utilisateur\n"
"join <group> - rejoindre le groupe\n"
@@ -4698,7 +4749,7 @@ msgstr ""
"last <nickname> - même effet que 'get'\n"
"on <nickname> - pas encore implémenté.\n"
"off <nickname> - pas encore implémenté.\n"
-"nudge <nickname> - envoyer un clin d'œil à l'utilisateur.\n"
+"nudge <nickname> - envoyer un clin d’œil à l’utilisateur.\n"
"invite <phone number> - pas encore implémenté.\n"
"track <word> - pas encore implémenté.\n"
"untrack <word> - pas encore implémenté.\n"
@@ -4709,7 +4760,7 @@ msgstr ""
#: lib/common.php:199
msgid "No configuration file found. "
-msgstr "Aucun fichier de configuration n'a été trouvé. "
+msgstr "Aucun fichier de configuration n’a été trouvé. "
#: lib/common.php:200
msgid "I looked for configuration files in the following places: "
@@ -5011,11 +5062,9 @@ msgstr ""
"Changez votre adresse de courriel ou vos options de notification sur %8$s\n"
#: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"Bio : %s\n"
-"\n"
+msgstr "Bio : %s"
#: lib/mail.php:286
#, php-format
@@ -5150,7 +5199,7 @@ msgstr ""
"%1$s (@%7$s) vient de marquer votre message de %2$s comme un de ses "
"favoris.\n"
"\n"
-"L'URL de votre message est :\n"
+"L’URL de votre message est :\n"
"\n"
"%3$s\n"
"\n"
@@ -5231,7 +5280,7 @@ msgstr "Désolé, la réception de courriels n’est pas permise."
#: lib/mailhandler.php:228
#, php-format
msgid "Unsupported message type: %s"
-msgstr "Type de message non-supporté : %s"
+msgstr "Type de message non supporté : %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5268,7 +5317,6 @@ msgid "File upload stopped by extension."
msgstr "Import de fichier stoppé par une extension."
#: lib/mediafile.php:179 lib/mediafile.php:216
-#, fuzzy
msgid "File exceeds user's quota."
msgstr "Le fichier dépasse le quota de l’utilisateur."
@@ -5277,9 +5325,8 @@ msgid "File could not be moved to destination directory."
msgstr "Le fichier n’a pas pu être déplacé dans le dossier de destination."
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
-msgstr "Impossible de déterminer le mime-type du fichier !"
+msgstr "Impossible de déterminer le type MIME du fichier."
#: lib/mediafile.php:270
#, php-format
@@ -5287,7 +5334,7 @@ msgid " Try using another %s format."
msgstr " Essayez d’utiliser un autre %s format."
#: lib/mediafile.php:275
-#, fuzzy, php-format
+#, php-format
msgid "%s is not a supported file type on this server."
msgstr "%s n’est pas un type de fichier supporté sur ce serveur."
@@ -5321,11 +5368,13 @@ msgid "Attach a file"
msgstr "Attacher un fichier"
#: lib/noticeform.php:212
-msgid "Share my location."
+#, fuzzy
+msgid "Share my location"
msgstr "Partager ma localisation."
#: lib/noticeform.php:214
-msgid "Do not share my location."
+#, fuzzy
+msgid "Do not share my location"
msgstr "Ne pas partager ma localisation."
#: lib/noticeform.php:215
@@ -5484,7 +5533,7 @@ msgstr "Aucun argument de retour."
#: lib/profileformaction.php:137
msgid "Unimplemented method."
-msgstr "Méthode non- implémentée."
+msgstr "Méthode non implémentée."
#: lib/publicgroupnav.php:78
msgid "Public"
@@ -5679,47 +5728,47 @@ msgstr "Message"
msgid "Moderate"
msgstr "Modérer"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "il y a quelques secondes"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "il y a 1 minute"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "il y a %d minutes"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "il y a 1 heure"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "il y a %d heures"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "il y a 1 jour"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "il y a %d jours"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "il y a 1 mois"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "il y a %d mois"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "il y a environ 1 an"
@@ -5733,3 +5782,10 @@ msgstr "&s n’est pas une couleur valide !"
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
"%s n’est pas une couleur valide ! Utilisez 3 ou 6 caractères hexadécimaux."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Message trop long ! La taille maximale est de %1$d caractères ; vous en avez "
+"entré %2$d."
diff --git a/locale/ga/LC_MESSAGES/statusnet.po b/locale/ga/LC_MESSAGES/statusnet.po
index 97d4fcbcb..8b9658e48 100644
--- a/locale/ga/LC_MESSAGES/statusnet.po
+++ b/locale/ga/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:13+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:26:58+0000\n"
"Language-Team: Irish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ga\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "Non existe a etiqueta."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -386,7 +386,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Método da API non atopado"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Xa estas suscrito a estes usuarios:"
@@ -394,7 +394,7 @@ msgstr "Xa estas suscrito a estes usuarios:"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
@@ -436,12 +436,12 @@ msgstr "Non deberías eliminar o estado de outro usuario"
msgid "No such notice."
msgstr "Ningún chío."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Non se pode activar a notificación."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Eliminar chío"
@@ -618,7 +618,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1833,7 +1833,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Debes estar logueado para invitar a outros usuarios a empregar %s"
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s / Favoritos dende %s"
@@ -1853,62 +1853,57 @@ msgstr "Non estás suscrito a ese perfil"
msgid "Could not find membership record."
msgstr "Non se puido actualizar o rexistro de usuario."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s / Favoritos dende %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Sesión xa iniciada"
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Contido do chío inválido"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Usuario ou contrasinal incorrectos."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Non está autorizado."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Inicio de sesión"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Alcume"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contrasinal"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Lembrarme"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Endiante acceder automáticamente, coidado en equipos compartidos!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "¿Perdeches a contrasinal?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1916,7 +1911,7 @@ msgstr ""
"Por razóns de seguranza, por favor re-insire o teu nome de usuario e "
"contrasinal antes de cambiar as túas preferenzas."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1986,7 +1981,7 @@ msgstr ""
msgid "Message sent"
msgstr "Non hai mensaxes de texto!"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Mensaxe directo a %s enviado"
@@ -2078,8 +2073,8 @@ msgstr "Conectar"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Non é un formato de datos soportado."
@@ -2124,6 +2119,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Sistema de acortamento de URLs demasiado longo (max 50 car.)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Non se especificou ningún perfil."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Non se especificou ningún perfil."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Non hai identificador de perfil na peticion."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Contido do chío inválido"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2161,7 +2180,7 @@ msgid "6 or more characters"
msgstr "6 ou máis caracteres"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmar"
@@ -2398,43 +2417,43 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"De 1 a 64 letras minúsculas ou númeors, nin espazos nin signos de puntuación"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome completo"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Páxina persoal"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Enderezo da túa páxina persoal, blogue, ou perfil noutro sitio"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Contanos un pouco de ti e dos teus intereses en 140 caractéres."
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Bio"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Localización"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "¿Onde estas, coma \"Cidade, Provincia, País\""
@@ -2744,7 +2763,7 @@ msgstr "Acounteceu un erro configurando o usuario."
msgid "New password successfully saved. You are now logged in."
msgstr "A nova contrasinal gardouse correctamente. Xa estas logueado."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Desculpa, só se pode rexistrar a xente con invitación."
@@ -2757,7 +2776,7 @@ msgstr "Acounteceu un erro co código de confirmación."
msgid "Registration successful"
msgstr "Xa estas rexistrado!!"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Rexistrar"
@@ -2774,11 +2793,11 @@ msgstr "Non podes rexistrarte se non estas de acordo coa licenza."
msgid "Email address already exists."
msgstr "O enderezo de correo xa existe."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Usuario ou contrasinal inválidos."
-#: actions/register.php:342
+#: actions/register.php:343
#, fuzzy
msgid ""
"With this form you can create a new account. You can then post notices and "
@@ -2788,43 +2807,43 @@ msgstr ""
"chíos, e suscribirte a amigos. (Tes unha conta [OpenID](http://openid.net/)? "
"Proba o noso [Rexistro OpenID](%%action.openidlogin%%)!)"
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"De 1 a 64 letras minúsculas ou números, nin espazos nin signos de "
"puntuación. Requerido."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 ou máis caracteres. Requerido."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "A mesma contrasinal que arriba. Requerido."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correo Electrónico"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Empregado só para actualizacións, novidades, e recuperación de contrasinais"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome máis longo, preferiblemente o teu nome \"real\""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "O meu texto e arquivos están dispoñibles baixo licenza "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2833,7 +2852,7 @@ msgstr ""
" agás esta informción privada: contrasinal, dirección de correo electrónico, "
"dirección IM, número de teléfono."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2865,7 +2884,7 @@ msgstr ""
"\n"
"Grazas por rexistrarte e esperamos que laretexes moito."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4082,23 +4101,28 @@ msgstr ""
msgid "Description"
msgstr "Subscricións"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Non se puido crear o favorito."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4205,6 +4229,11 @@ msgstr "Outros"
msgid "Other options"
msgstr "Outras opcions"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4488,7 +4517,7 @@ msgstr "Desculpa, este comando todavía non está implementado."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Non se puido actualizar o usuario coa dirección de correo electrónico."
#: lib/command.php:92
@@ -4497,7 +4526,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Toque enviado"
#: lib/command.php:126
@@ -4513,27 +4542,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Non se atopou un perfil con ese ID."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "O usuario non ten último chio."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Chío marcado coma favorito."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Xa estas suscrito a estes usuarios:"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s / Favoritos dende %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s / Favoritos dende %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nome completo: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4551,18 +4600,33 @@ msgstr "Páxina persoal: %s"
msgid "About: %s"
msgstr "Sobre: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Mensaxe directo a %s enviado"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Erro ó enviar a mensaxe directa."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Non se pode activar a notificación."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Eliminar chío"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Chío publicado"
#: lib/command.php:437
@@ -4572,12 +4636,12 @@ msgstr "Aconteceu un erro ó gardar o chío."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Non se pode eliminar este chíos."
#: lib/command.php:502
@@ -4587,7 +4651,7 @@ msgstr "Aconteceu un erro ó gardar o chío."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Especifica o nome do usuario ó que queres suscribirte"
#: lib/command.php:563
@@ -4597,7 +4661,7 @@ msgstr "Suscrito a %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Especifica o nome de usuario ó que queres deixar de seguir"
#: lib/command.php:591
@@ -4626,25 +4690,20 @@ msgid "Can't turn on notification."
msgstr "Non se pode activar a notificación."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Non se puido crear o favorito."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Non estás suscrito a ese perfil"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Xa estas suscrito a estes usuarios:"
@@ -4653,12 +4712,12 @@ msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Outro usuario non se puido suscribir a ti."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Outro usuario non se puido suscribir a ti."
@@ -4667,12 +4726,12 @@ msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Non estás suscrito a ese perfil"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Non estás suscrito a ese perfil"
@@ -4681,7 +4740,7 @@ msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
-#: lib/command.php:745
+#: lib/command.php:737
#, fuzzy
msgid ""
"Commands:\n"
@@ -5346,12 +5405,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Non se puideron gardar as etiquetas."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Non se puideron gardar as etiquetas."
#: lib/noticeform.php:215
@@ -5742,47 +5801,47 @@ msgstr "Nova mensaxe"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "fai uns segundos"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "fai un minuto"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "fai %d minutos"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "fai unha hora"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "fai %d horas"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "fai un día"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "fai %d días"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "fai un mes"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "fai %d meses"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "fai un ano"
@@ -5795,3 +5854,8 @@ msgstr "%1s non é unha orixe fiable."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Mensaxe demasiado longa - o máximo é 140 caracteres, ti enviaches %d "
diff --git a/locale/he/LC_MESSAGES/statusnet.po b/locale/he/LC_MESSAGES/statusnet.po
index 64e5e15f1..6d8f61d8e 100644
--- a/locale/he/LC_MESSAGES/statusnet.po
+++ b/locale/he/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:16+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:03+0000\n"
"Language-Team: Hebrew\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "אין הודעה כזו."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -378,7 +378,7 @@ msgstr ""
msgid "Group not found!"
msgstr "לא נמצא"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "כבר נכנסת למערכת!"
@@ -387,7 +387,7 @@ msgstr "כבר נכנסת למערכת!"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "נכשלה ההפניה לשרת: %s"
@@ -430,12 +430,12 @@ msgstr ""
msgid "No such notice."
msgstr "אין הודעה כזו."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "לא ניתן להירשם ללא הסכמה לרשיון"
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "כבר נכנסת למערכת!"
@@ -612,7 +612,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1782,7 +1782,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1800,68 +1800,63 @@ msgstr "לא שלחנו אלינו את הפרופיל הזה"
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "הסטטוס של %1$s ב-%2$s "
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "כבר מחובר."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "תוכן ההודעה לא חוקי"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "שם משתמש או סיסמה לא נכונים."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "לא מורשה."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "היכנס"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "כינוי"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "סיסמה"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "זכור אותי"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "בעתיד התחבר אוטומטית; לא לשימוש במחשבים ציבוריים!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "שכחת או איבדת את הסיסמה?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr "לצרכי אבטחה, הכנס מחדש את שם המשתמש והסיסמה לפני שתשנה את ההגדרות."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1928,7 +1923,7 @@ msgstr ""
msgid "Message sent"
msgstr "הודעה חדשה"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr ""
@@ -2019,8 +2014,8 @@ msgstr "התחבר"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -2067,6 +2062,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "שם המיקום ארוך מידי (מותר עד 255 אותיות)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "הודעה חדשה"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "הודעה חדשה"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "השרת לא החזיר כתובת פרופיל"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "תוכן ההודעה לא חוקי"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2103,7 +2122,7 @@ msgid "6 or more characters"
msgstr "לפחות 6 אותיות"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "אשר"
@@ -2336,43 +2355,43 @@ msgstr "פרופיל לא מוכר"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1 עד 64 אותיות אנגליות קטנות או מספרים, ללא סימני פיסוק או רווחים."
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "שם מלא"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "אתר בית"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "הכתובת של אתר הבית שלך, בלוג, או פרופיל באתר אחר "
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "תאר את עצמך ואת נושאי העניין שלך ב-140 אותיות"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "תאר את עצמך ואת נושאי העניין שלך ב-140 אותיות"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "ביוגרפיה"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "מיקום"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "מיקומך, למשל \"עיר, מדינה או מחוז, ארץ\""
@@ -2669,7 +2688,7 @@ msgstr "שגיאה ביצירת שם המשתמש."
msgid "New password successfully saved. You are now logged in."
msgstr "הסיסמה החדשה נשמרה בהצלחה. אתה מחובר למערכת."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2682,7 +2701,7 @@ msgstr "שגיאה באישור הקוד."
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "הירשם"
@@ -2699,56 +2718,56 @@ msgstr "לא ניתן להירשם ללא הסכמה לרשיון"
msgid "Email address already exists."
msgstr ""
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "שם המשתמש או הסיסמה לא חוקיים"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr " לפחות 6 אותיות. שדה חובה."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr ""
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "לשימוש רק במקרים של עידכונים, הודעות מערכת, ושיחזורי סיסמאות"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "הטקסטים והקבצים שלי מופצים תחת רשיון"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2767,7 +2786,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3944,23 +3963,28 @@ msgstr ""
msgid "Description"
msgstr "הרשמות"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "שמירת מידע התמונה נכשל"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -4062,6 +4086,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "הסטטוס של %1$s ב-%2$s "
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4334,7 +4363,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "עידכון המשתמש נכשל."
#: lib/command.php:92
@@ -4342,9 +4371,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr ""
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
-msgstr ""
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
+msgstr "תגובת עבור %s"
#: lib/command.php:126
#, php-format
@@ -4356,27 +4385,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "אין פרופיל תואם לפרופיל המרוחק "
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "למשתמש אין פרופיל."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "כבר נכנסת למערכת!"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "נכשלה ההפניה לשרת: %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "הסטטוס של %1$s ב-%2$s "
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "נכשלה יצירת OpenID מתוך: %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "הסטטוס של %1$s ב-%2$s "
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "שם מלא"
#: lib/command.php:321 lib/mail.php:254
@@ -4394,18 +4443,33 @@ msgstr ""
msgid "About: %s"
msgstr "אודות: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
msgstr ""
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "לא ניתן להירשם ללא הסכמה לרשיון"
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "כבר נכנסת למערכת!"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "הודעות"
#: lib/command.php:437
@@ -4415,12 +4479,12 @@ msgstr "בעיה בשמירת ההודעה."
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "תגובת עבור %s"
#: lib/command.php:502
@@ -4429,7 +4493,7 @@ msgid "Error saving notice."
msgstr "בעיה בשמירת ההודעה."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4438,7 +4502,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4467,53 +4531,48 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "שמירת מידע התמונה נכשל"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "לא שלחנו אלינו את הפרופיל הזה"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "לא שלחנו אלינו את הפרופיל הזה"
msgstr[1] "לא שלחנו אלינו את הפרופיל הזה"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "הרשמה מרוחקת"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "הרשמה מרוחקת"
msgstr[1] "הרשמה מרוחקת"
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "לא שלחנו אלינו את הפרופיל הזה"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "לא שלחנו אלינו את הפרופיל הזה"
msgstr[1] "לא שלחנו אלינו את הפרופיל הזה"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5089,12 +5148,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "שמירת הפרופיל נכשלה."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "שמירת הפרופיל נכשלה."
#: lib/noticeform.php:215
@@ -5474,47 +5533,47 @@ msgstr "הודעה חדשה"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "לפני מספר שניות"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "לפני כדקה"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "לפני כ-%d דקות"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "לפני כשעה"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "לפני כ-%d שעות"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "לפני כיום"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "לפני כ-%d ימים"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "לפני כחודש"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "לפני כ-%d חודשים"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "לפני כשנה"
@@ -5527,3 +5586,8 @@ msgstr "לאתר הבית יש כתובת לא חוקית."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/hsb/LC_MESSAGES/statusnet.po b/locale/hsb/LC_MESSAGES/statusnet.po
index ed1cfc991..01be59de2 100644
--- a/locale/hsb/LC_MESSAGES/statusnet.po
+++ b/locale/hsb/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:19+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:07+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: hsb\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "Strona njeeksistuje"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -254,18 +254,16 @@ msgid "No status found with that ID."
msgstr "Status z tym ID njenamakany."
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
-msgstr "Tutón status je hižo faworit!"
+msgstr "Tutón status je hižo faworit."
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
msgid "Could not create favorite."
msgstr ""
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
-msgstr "Tón status faworit njeje!"
+msgstr "Tón status faworit njeje."
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
msgid "Could not delete favorite."
@@ -285,9 +283,8 @@ msgid "Could not unfollow user: User not found."
msgstr ""
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
-msgstr "Njemóžeš so samoho blokować."
+msgstr "Njemóžeš slědowanje swójskich aktiwitow blokować."
#: actions/apifriendshipsexists.php:94
msgid "Two user ids or screen_names must be supplied."
@@ -371,7 +368,7 @@ msgstr "Alias njemóže samsny kaž přimjeno być."
msgid "Group not found!"
msgstr "Skupina njenamakana!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Sy hižo čłon teje skupiny."
@@ -379,19 +376,19 @@ msgstr "Sy hižo čłon teje skupiny."
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
+#, php-format
msgid "Could not join user %1$s to group %2$s."
-msgstr "Skupina njeje so dała aktualizować."
+msgstr "Njebě móžno wužiwarja %1$s skupinje %2%s přidać."
#: actions/apigroupleave.php:114
msgid "You are not a member of this group."
msgstr "Njejsy čłon tuteje skupiny."
#: actions/apigroupleave.php:124 actions/leavegroup.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %1$s from group %2$s."
-msgstr "Skupina njeje so dała aktualizować."
+msgstr "Njebě móžno wužiwarja %1$s ze skupiny %2$s wotstronić."
#: actions/apigrouplist.php:95
#, php-format
@@ -421,11 +418,11 @@ msgstr "Njemóžeš status druheho wužiwarja zničić."
msgid "No such notice."
msgstr "Zdźělenka njeeksistuje."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Njemóžno twoju zdźělenku wospjetować."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Tuta zdźělenka bu hižo wospjetowana."
@@ -596,7 +593,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -689,9 +686,9 @@ msgid "%s blocked profiles"
msgstr ""
#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
msgid "%1$s blocked profiles, page %2$d"
-msgstr "%s a přećeljo, bok %d"
+msgstr "%1$s zablokowa profile, stronu %2$d"
#: actions/blockedfromgroup.php:108
msgid "A list of the users blocked from joining this group."
@@ -963,7 +960,6 @@ msgstr "Dyrbiš přizjewjeny być, zo by skupinu wutworił."
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Dyrbiš administrator być, zo by skupinu wobdźěłał."
@@ -989,7 +985,6 @@ msgid "Options saved."
msgstr "Opcije składowane."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "E-mejlowe nastajenja"
@@ -1025,9 +1020,8 @@ msgid "Cancel"
msgstr "Přetorhnyć"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
-msgstr "E-mejlowe adresy"
+msgstr "E-mejlowa adresa"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
@@ -1378,9 +1372,8 @@ msgstr ""
"s."
#: actions/grouplogo.php:178
-#, fuzzy
msgid "User without matching profile."
-msgstr "Wužiwar bjez hodźaceho so profila"
+msgstr "Wužiwar bjez hodźaceho so profila."
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
@@ -1400,9 +1393,9 @@ msgid "%s group members"
msgstr ""
#: actions/groupmembers.php:96
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members, page %2$d"
-msgstr "%s abonentow, strona %d"
+msgstr "%1$s skupinskich čłonow, strona %2$d"
#: actions/groupmembers.php:111
msgid "A list of the users in this group."
@@ -1500,7 +1493,6 @@ msgid "Error removing the block."
msgstr ""
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
msgstr "IM-nastajenja"
@@ -1527,7 +1519,6 @@ msgid ""
msgstr ""
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
msgstr "IM-adresa"
@@ -1707,7 +1698,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1724,66 +1715,62 @@ msgstr "Njejsy čłon teje skupiny."
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr ""
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Hižo přizjewjeny."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Wopačne wužiwarske mjeno abo hesło."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Zmylk při nastajenju wužiwarja. Snano njejsy awtorizowany."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Přizjewić"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Při sydle přizjewić"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Přimjeno"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Hesło"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Składować"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Hesło zhubjene abo zabyte?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1795,19 +1782,19 @@ msgid "Only an admin can make another user an admin."
msgstr "Jenož administrator móže druheho wužiwarja k administratorej činić."
#: actions/makeadmin.php:95
-#, fuzzy, php-format
+#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
-msgstr "%s je hižo administrator za skupinu \"%s\"."
+msgstr "%1$s je hižo administrator za skupinu \"%2$s\"."
#: actions/makeadmin.php:132
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
-msgstr "Skupina njeje so dała aktualizować."
+msgstr "Přistup na datowu sadźbu čłona %1$S w skupinje %2$s móžno njeje."
#: actions/makeadmin.php:145
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "%s je hižo administrator za skupinu \"%s\"."
+msgstr "Njeje móžno %1$S k administratorej w skupinje %2$s činić."
#: actions/microsummary.php:69
msgid "No current status"
@@ -1847,10 +1834,10 @@ msgstr ""
msgid "Message sent"
msgstr "Powěsć pósłana"
-#: actions/newmessage.php:185 lib/command.php:376
-#, fuzzy, php-format
+#: actions/newmessage.php:185
+#, php-format
msgid "Direct message to %s sent."
-msgstr "Direktne powěsće do %s"
+msgstr "Direktna powěsć do %s pósłana."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -1934,8 +1921,8 @@ msgstr ""
msgid "Only "
msgstr "Jenož "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Njeje podpěrany datowy format."
@@ -1979,6 +1966,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr ""
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Žana skupina podata."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Žana zdźělenka podata."
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Žana zdźělenka podata."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Při sydle přizjewić"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2013,7 +2024,7 @@ msgid "6 or more characters"
msgstr "6 abo wjace znamješkow"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Wobkrućić"
@@ -2175,7 +2186,6 @@ msgid "When to use SSL"
msgstr ""
#: actions/pathsadminpanel.php:308
-#, fuzzy
msgid "SSL server"
msgstr "SSL-serwer"
@@ -2234,42 +2244,42 @@ msgstr "Profilowe informacije"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Dospołne mjeno"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Startowa strona"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr ""
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr ""
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografija"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Městno"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2561,7 +2571,7 @@ msgstr ""
msgid "New password successfully saved. You are now logged in."
msgstr ""
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Wodaj, jenož přeprošeni ludźo móžeja so registrować."
@@ -2573,7 +2583,7 @@ msgstr "Wodaj, njepłaćiwy přeprošenski kod."
msgid "Registration successful"
msgstr "Registrowanje wuspěšne"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrować"
@@ -2590,56 +2600,56 @@ msgstr ""
msgid "Email address already exists."
msgstr "E-mejlowa adresa hižo eksistuje."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Njepłaćiwe wužiwarske mjeno abo hesło."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 abo wjace znamješkow. Trěbne."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Jenake kaž hesło horjeka. Trěbne."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mejl"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Dlěše mjeno, wosebje twoje \"woprawdźite\" mjeno"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Mój tekst a moje dataje steja k dispoziciji pod "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Attribution 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2658,7 +2668,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -2960,9 +2970,9 @@ msgid " tagged %s"
msgstr ""
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Kanal za přećelow wužiwarja %s (RSS 1.0)"
+msgstr "Powěsćowy kanal za %1$s je %2$s (RSS 1.0) markěrował"
#: actions/showstream.php:129
#, php-format
@@ -3041,14 +3051,13 @@ msgid "Site name must have non-zero length."
msgstr ""
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address."
-msgstr "Njepłaćiwa e-mejlowa adresa."
+msgstr "Dyrbiš płaćiwu kontaktowu e-mejlowu adresu měć."
#: actions/siteadminpanel.php:172
-#, fuzzy, php-format
+#, php-format
msgid "Unknown language \"%s\"."
-msgstr "Njeznata rěč \"%s\""
+msgstr "Njeznata rěč \"%s\"."
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
@@ -3227,9 +3236,8 @@ msgid "Save site settings"
msgstr "Sydłowe nastajenja składować"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
-msgstr "IM-nastajenja"
+msgstr "SMS-nastajenja"
#: actions/smssettings.php:69
#, php-format
@@ -3257,9 +3265,8 @@ msgid "Enter the code you received on your phone."
msgstr ""
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
-msgstr "Žane telefonowe čisło."
+msgstr "SMS telefonowe čisło"
#: actions/smssettings.php:140
msgid "Phone number, no punctuation or spaces, with area code"
@@ -3342,9 +3349,9 @@ msgid "%s subscribers"
msgstr "%s abonentow"
#: actions/subscribers.php:52
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscribers, page %2$d"
-msgstr "%s abonentow, strona %d"
+msgstr "%1$s abonentow, strona %2$d"
#: actions/subscribers.php:63
msgid "These are the people who listen to your notices."
@@ -3379,9 +3386,9 @@ msgid "%s subscriptions"
msgstr "%s abonementow"
#: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscriptions, page %2$d"
-msgstr "%s abonementow, strona %d"
+msgstr "%1$s abonementow, strona %2$d"
#: actions/subscriptions.php:65
msgid "These are the people whose notices you listen to."
@@ -3713,9 +3720,9 @@ msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr ""
#: actions/version.php:73
-#, fuzzy, php-format
+#, php-format
msgid "StatusNet %s"
-msgstr "Statistika"
+msgstr "StatusNet %s"
#: actions/version.php:153
#, php-format
@@ -3725,9 +3732,8 @@ msgid ""
msgstr ""
#: actions/version.php:157
-#, fuzzy
msgid "StatusNet"
-msgstr "Status zničeny."
+msgstr "StatusNet"
#: actions/version.php:161
msgid "Contributors"
@@ -3761,41 +3767,43 @@ msgid "Plugins"
msgstr ""
#: actions/version.php:195
-#, fuzzy
msgid "Name"
-msgstr "Přimjeno"
+msgstr "Mjeno"
#: actions/version.php:196 lib/action.php:741
-#, fuzzy
msgid "Version"
-msgstr "Posedźenja"
+msgstr "Wersija"
#: actions/version.php:197
-#, fuzzy
msgid "Author(s)"
-msgstr "Awtor"
+msgstr "Awtorojo"
#: actions/version.php:198 lib/groupeditform.php:172
msgid "Description"
msgstr "Wopisanje"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Njebě móžno, přizjewjenske znamješko za %s wutworić."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -3891,6 +3899,11 @@ msgstr "Druhe"
msgid "Other options"
msgstr "Druhe opcije"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Strona bjez titula"
@@ -4069,9 +4082,8 @@ msgid "You cannot make changes to this site."
msgstr ""
#: lib/adminpanelaction.php:107
-#, fuzzy
msgid "Changes to that panel are not allowed."
-msgstr "Registracija njedowolena."
+msgstr "Změny na tutym woknje njejsu dowolene."
#: lib/adminpanelaction.php:206
msgid "showForm() not implemented."
@@ -4118,14 +4130,12 @@ msgid "Tags for this attachment"
msgstr ""
#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
-#, fuzzy
msgid "Password changing failed"
-msgstr "Hesło změnjene"
+msgstr "Změnjenje hesła je so njeporadźiło"
#: lib/authenticationplugin.php:197
-#, fuzzy
msgid "Password changing is not allowed"
-msgstr "Hesło změnjene"
+msgstr "Změnjenje hesła njeje dowolene"
#: lib/channel.php:138 lib/channel.php:158
msgid "Command results"
@@ -4145,7 +4155,7 @@ msgstr ""
#: lib/command.php:88
#, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr ""
#: lib/command.php:92
@@ -4154,7 +4164,7 @@ msgstr ""
#: lib/command.php:99
#, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr ""
#: lib/command.php:126
@@ -4167,28 +4177,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
-msgstr ""
-"Wužiwar z tej e-mejlowej adresu abo tym wužiwarskim mjenom njeeksistuje."
+msgid "Notice with that id does not exist"
+msgstr "Zdźělenka z tym ID njeeksistuje."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
-msgstr "Wužiwar nima profil."
+msgid "User has no last notice"
+msgstr "Wužiwar nima poslednju powěsć."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Sy hižo čłon teje skupiny."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Njebě móžno wužiwarja %1$s skupinje %2%s přidać."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "Wužiwarske skupiny"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
-msgstr "Skupina njeje so dała aktualizować."
+msgid "Could not remove user %s to group %s"
+msgstr "Njebě móžno wužiwarja %1$s do skupiny $2$s přesunyć."
+
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "Wužiwarske skupiny"
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Dospołne mjeno: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4206,19 +4235,34 @@ msgstr ""
msgid "About: %s"
msgstr "Wo: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Direktna powěsć do %s pósłana."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Njemóžno twoju zdźělenku wospjetować."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Tuta zdźělenka bu hižo wospjetowana."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
-msgstr "Zdźělenka wot %s wospjetowana"
+msgid "Notice from %s repeated"
+msgstr "Powěsć wot %s wospjetowana."
#: lib/command.php:437
msgid "Error repeating notice."
@@ -4226,20 +4270,20 @@ msgstr "Zmylk při wospjetowanju zdźělenki"
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
-msgstr "Na tutu zdźělenku wotmołwić"
+msgid "Reply to %s sent"
+msgstr "Wotmołwa na %s pósłana."
#: lib/command.php:502
msgid "Error saving notice."
msgstr ""
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4248,7 +4292,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4277,24 +4321,19 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Njeje móžno było, přizjewjenske znamješko za %s wutworić"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr ""
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Sy tutu wosobu abonował:"
@@ -4302,11 +4341,11 @@ msgstr[1] "Sy tutej wosobje abonował:"
msgstr[2] "Sy tute wosoby abonował:"
msgstr[3] "Sy tute wosoby abonował:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr ""
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Tuta wosoba je će abonowała:"
@@ -4314,11 +4353,11 @@ msgstr[1] "Tutej wosobje stej će abonowałoj:"
msgstr[2] "Tute wosoby su će abonowali:"
msgstr[3] "Tute wosoby su će abonowali:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr ""
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Sy čłon tuteje skupiny:"
@@ -4326,7 +4365,7 @@ msgstr[1] "Sy čłon tuteju skupinow:"
msgstr[2] "Sy čłon tutych skupinow:"
msgstr[3] "Sy čłon tutych skupinow:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4640,11 +4679,9 @@ msgid ""
msgstr ""
#: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"Biografija: %s\n"
-"\n"
+msgstr "Biografija: %s"
#: lib/mail.php:286
#, php-format
@@ -4795,9 +4832,9 @@ msgid "Sorry, no incoming email allowed."
msgstr "Wodaj, dochadźaće e-mejle njejsu dowolene."
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Njepodpěrany format."
+msgstr "Njepodpěrany powěsćowy typ: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -4847,7 +4884,7 @@ msgid " Try using another %s format."
msgstr ""
#: lib/mediafile.php:275
-#, fuzzy, php-format
+#, php-format
msgid "%s is not a supported file type on this server."
msgstr "%s njeje podpěrany datajowy typ na tutym serwerje."
@@ -4882,13 +4919,13 @@ msgstr "Dataju připowěsnyć"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
-msgstr "Nastajenja městna njedachu so składować."
+msgid "Share my location"
+msgstr "Městno dźělić."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
-msgstr "Nastajenja městna njedachu so składować."
+msgid "Do not share my location"
+msgstr "Městno njedźělić."
#: lib/noticeform.php:215
msgid "Hide this info"
@@ -5242,47 +5279,47 @@ msgstr "Powěsć"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "před něšto sekundami"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "před něhdźe jednej mjeńšinu"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "před %d mjeńšinami"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "před něhdźe jednej hodźinu"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "před něhdźe %d hodźinami"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "před něhdźe jednym dnjom"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "před něhdźe %d dnjemi"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "před něhdźe jednym měsacom"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "před něhdźe %d měsacami"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "před něhdźe jednym lětom"
@@ -5297,3 +5334,8 @@ msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
"%s płaćiwa barba njeje! Wužij 3 heksadecimalne znamješka abo 6 "
"heksadecimalnych znamješkow."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/ia/LC_MESSAGES/statusnet.po b/locale/ia/LC_MESSAGES/statusnet.po
index c01c3a785..a845bae26 100644
--- a/locale/ia/LC_MESSAGES/statusnet.po
+++ b/locale/ia/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:22+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:11+0000\n"
"Language-Team: Interlingua\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ia\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "Pagina non existe"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -381,7 +381,7 @@ msgstr "Le alias non pote esser identic al pseudonymo."
msgid "Group not found!"
msgstr "Gruppo non trovate!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Tu es ja membro de iste gruppo."
@@ -389,7 +389,7 @@ msgstr "Tu es ja membro de iste gruppo."
msgid "You have been blocked from that group by the admin."
msgstr "Le administrator te ha blocate de iste gruppo."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Non poteva inscriber le usator %s in le gruppo %s."
@@ -431,11 +431,11 @@ msgstr "Tu non pote deler le stato de un altere usator."
msgid "No such notice."
msgstr "Nota non trovate."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Non pote repeter tu proprie nota."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Iste nota ha ja essite repetite."
@@ -609,7 +609,7 @@ msgstr "Taliar"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1797,7 +1797,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Tu debe aperir un session pro facer te membro de un gruppo."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s se faceva membro del gruppo %s"
@@ -1814,63 +1814,59 @@ msgstr "Tu non es membro de iste gruppo."
msgid "Could not find membership record."
msgstr "Non poteva trovar le datos del membrato."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s quitava le gruppo %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Tu es ja identificate."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Indicio invalide o expirate."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Nomine de usator o contrasigno incorrecte."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
"Error de acceder al conto de usator. Tu probabilemente non es autorisate."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Aperir session"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Identificar te a iste sito"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Pseudonymo"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Contrasigno"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Memorar me"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Aperir session automaticamente in le futuro; non pro computatores usate in "
"commun!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Contrasigno perdite o oblidate?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1878,7 +1874,7 @@ msgstr ""
"Pro motivos de securitate, per favor re-entra tu nomine de usator e "
"contrasigno ante de cambiar tu configurationes."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1946,7 +1942,7 @@ msgstr ""
msgid "Message sent"
msgstr "Message inviate"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Message directe a %s inviate"
@@ -2042,8 +2038,8 @@ msgstr "typo de contento "
msgid "Only "
msgstr "Solmente "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Formato de datos non supportate."
@@ -2087,6 +2083,30 @@ msgstr "Monstrar o celar apparentias de profilo."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Le servicio de accurtamento de URL es troppo longe (max 50 chars)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Nulle gruppo specificate."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Nulle nota specificate."
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Indicio invalide o expirate."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Identificar te a iste sito"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2122,7 +2142,7 @@ msgid "6 or more characters"
msgstr "6 o plus characteres"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmar"
@@ -2348,42 +2368,42 @@ msgstr "Information de profilo"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nomine complete"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Pagina personal"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL de tu pagina personal, blog o profilo in un altere sito"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Describe te e tu interesses in %d characteres"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Describe te e tu interesses"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Bio"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Loco"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Ubi tu es, como \"Citate, Stato (o Region), Pais\""
@@ -2694,7 +2714,7 @@ msgstr "Error durante le configuration del usator."
msgid "New password successfully saved. You are now logged in."
msgstr "Nove contrasigno salveguardate con successo. Tu session es ora aperte."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Pardono, solmente le personas invitate pote registrar se."
@@ -2706,7 +2726,7 @@ msgstr "Pardono, le codice de invitation es invalide."
msgid "Registration successful"
msgstr "Registration succedite"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Crear un conto"
@@ -2724,11 +2744,11 @@ msgstr ""
msgid "Email address already exists."
msgstr "Le adresse de e-mail existe ja."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Nomine de usator o contrasigno invalide."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2736,42 +2756,42 @@ msgstr ""
"Con iste formulario tu pote crear un nove conto. Postea, tu pote publicar "
"notas e mitter te in contacto con amicos e collegas. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "1-64 minusculas o numeros, sin punctuation o spatios. Requisite."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 o plus characteres. Requisite."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Identic al contrasigno hic supra. Requisite."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Usate solmente pro actualisationes, notificationes e recuperation de "
"contrasigno"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nomine plus longe, preferibilemente tu nomine \"real\""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Mi texto e files es disponibile sub "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Attribution 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2779,7 +2799,7 @@ msgstr ""
" excepte iste datos private: contrasigno, adresse de e-mail, adresse de "
"messageria instantanee, numero de telephono."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2811,7 +2831,7 @@ msgstr ""
"\n"
"Gratias pro inscriber te, e nos spera que iste servicio te place."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3986,23 +4006,28 @@ msgstr ""
msgid "Description"
msgstr ""
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Non poteva crear aliases."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -4098,6 +4123,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%s quitava le gruppo %s"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4352,7 +4382,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Non poteva trovar le usator de destination."
#: lib/command.php:92
@@ -4361,7 +4391,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Pulsata inviate"
#: lib/command.php:126
@@ -4374,27 +4404,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Nulle usator existe con iste adresse de e-mail o nomine de usator."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Le usator non ha un profilo."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Tu es ja membro de iste gruppo."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Non poteva inscriber le usator %s in le gruppo %s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s se faceva membro del gruppo %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Non poteva remover le usator %s del gruppo %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s quitava le gruppo %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nomine complete"
#: lib/command.php:321 lib/mail.php:254
@@ -4412,18 +4462,33 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Message directe a %s inviate"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Non pote repeter tu proprie nota."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Iste nota ha ja essite repetite."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Nota delite."
#: lib/command.php:437
@@ -4432,12 +4497,12 @@ msgstr "Error durante le repetition del nota."
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Responsas a %s"
#: lib/command.php:502
@@ -4445,7 +4510,7 @@ msgid "Error saving notice."
msgstr ""
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4454,7 +4519,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4483,50 +4548,45 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Non poteva crear aliases."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr ""
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] ""
msgstr[1] ""
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr ""
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] ""
msgstr[1] ""
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr ""
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] ""
msgstr[1] ""
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5081,12 +5141,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Non poteva salveguardar le preferentias de loco."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Non poteva salveguardar le preferentias de loco."
#: lib/noticeform.php:215
@@ -5443,47 +5503,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr ""
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr ""
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr ""
@@ -5496,3 +5556,8 @@ msgstr ""
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/is/LC_MESSAGES/statusnet.po b/locale/is/LC_MESSAGES/statusnet.po
index 78375617d..b524a7f8f 100644
--- a/locale/is/LC_MESSAGES/statusnet.po
+++ b/locale/is/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:25+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:15+0000\n"
"Language-Team: Icelandic\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: is\n"
"X-Message-Group: out-statusnet\n"
@@ -41,7 +41,7 @@ msgstr "Ekkert þannig merki."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -380,7 +380,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Aðferð í forritsskilum fannst ekki!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "Þú ert nú þegar meðlimur í þessum hópi"
@@ -389,7 +389,7 @@ msgstr "Þú ert nú þegar meðlimur í þessum hópi"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Gat ekki bætt notandanum %s í hópinn %s"
@@ -432,12 +432,12 @@ msgstr "Þú getur ekki eytt stöðu annars notanda."
msgid "No such notice."
msgstr "Ekkert svoleiðis babl."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Get ekki kveikt á tilkynningum."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Eyða þessu babli"
@@ -609,7 +609,7 @@ msgstr "Skera af"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1790,7 +1790,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Þú verður að hafa skráð þig inn til að bæta þér í hóp."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s bætti sér í hópinn %s"
@@ -1807,64 +1807,59 @@ msgstr "Þú ert ekki meðlimur í þessum hópi."
msgid "Could not find membership record."
msgstr "Gat ekki fundið meðlimaskrá."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s gekk úr hópnum %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Þú hefur nú þegar skráð þig inn."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Ótækt bablinnihald"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Rangt notendanafn eða lykilorð."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Engin heimild."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Innskráning"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Skrá þig inn á síðuna"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Stuttnefni"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Lykilorð"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Muna eftir mér"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Sjálfvirk innskráning í framtíðinni. Ekki nota þetta á tölvu sem aðrir deila "
"með þér!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Tapað eða gleymt lykilorð?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1872,7 +1867,7 @@ msgstr ""
"Af öryggisástæðum, vinsamlegast sláðu aftur inn notendanafnið þitt og "
"lykilorð áður en þú breytir stillingunum þínum."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1941,7 +1936,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Bein skilaboð send til %s"
@@ -2032,8 +2027,8 @@ msgstr ""
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Enginn stuðningur við gagnasnið."
@@ -2078,6 +2073,31 @@ msgid "URL shortening service is too long (max 50 chars)."
msgstr ""
"Þjónusta sjálfvirkrar vefslóðastyttingar er of löng (í mesta lagi 50 stafir)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Engin persónuleg síða tilgreind"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Engin persónuleg síða tilgreind"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Ekkert einkenni persónulegrar síðu í beiðni."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Ótækt bablinnihald"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Skrá þig inn á síðuna"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2113,7 +2133,7 @@ msgid "6 or more characters"
msgstr "6 eða fleiri tákn"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Staðfesta"
@@ -2347,45 +2367,45 @@ msgstr "Upplýsingar á persónulegri síðu"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 lágstafir eða tölustafir, engin greinarmerki eða bil"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullt nafn"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Heimasíða"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
"Veffang heimasíðunnar þinnar, bloggsins þíns eða persónulegrar síðu á öðru "
"vefsvæði"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Lýstu þér og áhugamálum þínum í 140 táknum"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Lýstu þér og þínum "
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Lýsing"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Staðsetning"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Staðsetning þín, eins og \"borg, sýsla, land\""
@@ -2685,7 +2705,7 @@ msgstr "Villa kom upp í stillingu notanda."
msgid "New password successfully saved. You are now logged in."
msgstr "Tókst að vista nýtt lykilorð. Þú ert núna innskráð(ur)"
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Afsakið en aðeins fólki sem er boðið getur nýskráð sig."
@@ -2697,7 +2717,7 @@ msgstr ""
msgid "Registration successful"
msgstr "Nýskráning tókst"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Nýskrá"
@@ -2714,58 +2734,58 @@ msgstr "Þú getur ekki nýskráð þig nema þú samþykkir leyfið."
msgid "Email address already exists."
msgstr "Tölvupóstfang er nú þegar skráð."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Ótækt notendanafn eða lykilorð."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 lágstafir eða tölustafir, engin greinarmerki eða bil. Nauðsynlegt."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 eða fleiri tákn. Nauðsynlegt"
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Sama og lykilorðið hér fyrir ofan. Nauðsynlegt."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Tölvupóstur"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Aðeins notað fyrir uppfærslur, tilkynningar og endurheimtingu lykilorða."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Lengra nafn, ákjósalegast að það sé \"rétta\" nafnið þitt"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Textinn og skrárnar mínar eru aðgengilegar undir "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2798,7 +2818,7 @@ msgstr ""
"\n"
"Takk fyrir að skrá þig og við vonum að þú njótir þjónustunnar."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3981,23 +4001,28 @@ msgstr ""
msgid "Description"
msgstr "Lýsing"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Gat ekki búið til uppáhald."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4096,6 +4121,11 @@ msgstr "Annað"
msgid "Other options"
msgstr "Aðrir valkostir"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Ónafngreind síða"
@@ -4366,7 +4396,7 @@ msgstr "Fyrirgefðu en þessi skipun hefur ekki enn verið útbúin."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Gat ekki uppfært notanda með staðfestu tölvupóstfangi."
#: lib/command.php:92
@@ -4375,7 +4405,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Ýtt við notanda"
#: lib/command.php:126
@@ -4388,27 +4418,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Enginn persónuleg síða með þessu einkenni."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Notandi hefur ekkert nýtt babl"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Babl gert að uppáhaldi."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Þú ert nú þegar meðlimur í þessum hópi"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Gat ekki bætt notandanum %s í hópinn %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s bætti sér í hópinn %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Gat ekki fjarlægt notandann %s úr hópnum %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s gekk úr hópnum %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Fullt nafn: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4426,18 +4476,33 @@ msgstr "Heimasíða: %s"
msgid "About: %s"
msgstr "Um: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Bein skilaboð send til %s"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Villa kom upp við að senda bein skilaboð"
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Get ekki kveikt á tilkynningum."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Eyða þessu babli"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Babl sent inn"
#: lib/command.php:437
@@ -4447,12 +4512,12 @@ msgstr "Vandamál komu upp við að vista babl."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Svara þessu babli"
#: lib/command.php:502
@@ -4462,7 +4527,7 @@ msgstr "Vandamál komu upp við að vista babl."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Tilgreindu nafn notandans sem þú vilt gerast áskrifandi að"
#: lib/command.php:563
@@ -4472,7 +4537,7 @@ msgstr "Nú ert þú áskrifandi að %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Tilgreindu nafn notandans sem þú vilt hætta sem áskrifandi að"
#: lib/command.php:591
@@ -4501,53 +4566,48 @@ msgid "Can't turn on notification."
msgstr "Get ekki kveikt á tilkynningum."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Gat ekki búið til uppáhald."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Þú ert ekki áskrifandi."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Þú ert nú þegar í áskrift að þessum notendum:"
msgstr[1] "Þú ert nú þegar í áskrift að þessum notendum:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Gat ekki leyft öðrum að gerast áskrifandi að þér."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Gat ekki leyft öðrum að gerast áskrifandi að þér."
msgstr[1] "Gat ekki leyft öðrum að gerast áskrifandi að þér."
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Þú ert ekki meðlimur í þessum hópi."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Þú ert ekki meðlimur í þessum hópi."
msgstr[1] "Þú ert ekki meðlimur í þessum hópi."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5119,12 +5179,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Gat ekki vistað merki."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Gat ekki vistað merki."
#: lib/noticeform.php:215
@@ -5495,47 +5555,47 @@ msgstr "Skilaboð"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "fyrir nokkrum sekúndum"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "fyrir um einni mínútu síðan"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "fyrir um %d mínútum síðan"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "fyrir um einum klukkutíma síðan"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "fyrir um %d klukkutímum síðan"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "fyrir um einum degi síðan"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "fyrir um %d dögum síðan"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "fyrir um einum mánuði síðan"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "fyrir um %d mánuðum síðan"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "fyrir um einu ári síðan"
@@ -5548,3 +5608,8 @@ msgstr ""
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Skilaboð eru of löng - 140 tákn eru í mesta lagi leyfð en þú sendir %d"
diff --git a/locale/it/LC_MESSAGES/statusnet.po b/locale/it/LC_MESSAGES/statusnet.po
index 4d0b5ae68..9f4e3e734 100644
--- a/locale/it/LC_MESSAGES/statusnet.po
+++ b/locale/it/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-11 00:20:48+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:19+0000\n"
"Language-Team: Italian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60910); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: it\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Pagina inesistente."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -91,7 +91,7 @@ msgstr ""
"scrivi un messaggio."
#: actions/all.php:134
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
@@ -266,7 +266,6 @@ msgid "No status found with that ID."
msgstr "Nessuno messaggio trovato con quel ID."
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
msgstr "Questo messaggio è già un preferito."
@@ -275,7 +274,6 @@ msgid "Could not create favorite."
msgstr "Impossibile creare un preferito."
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
msgstr "Questo messaggio non è un preferito."
@@ -297,7 +295,6 @@ msgid "Could not unfollow user: User not found."
msgstr "Impossibile non seguire l'utente: utente non trovato."
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
msgstr "Non puoi non seguirti."
@@ -385,7 +382,7 @@ msgstr "L'alias non può essere lo stesso del soprannome."
msgid "Group not found!"
msgstr "Gruppo non trovato!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Fai già parte di quel gruppo."
@@ -393,8 +390,8 @@ msgstr "Fai già parte di quel gruppo."
msgid "You have been blocked from that group by the admin."
msgstr "L'amministratore ti ha bloccato l'accesso a quel gruppo."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
+#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Impossibile iscrivere l'utente %1$s al gruppo %2$s."
@@ -403,7 +400,7 @@ msgid "You are not a member of this group."
msgstr "Non fai parte di questo gruppo."
#: actions/apigroupleave.php:124 actions/leavegroup.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %1$s from group %2$s."
msgstr "Impossibile rimuovere l'utente %1$s dal gruppo %2$s."
@@ -435,11 +432,11 @@ msgstr "Non puoi eliminare il messaggio di un altro utente."
msgid "No such notice."
msgstr "Nessun messaggio."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Non puoi ripetere un tuo messaggio."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Hai già ripetuto quel messaggio."
@@ -472,12 +469,12 @@ msgid "Unsupported format."
msgstr "Formato non supportato."
#: actions/apitimelinefavorites.php:108
-#, fuzzy, php-format
+#, php-format
msgid "%1$s / Favorites from %2$s"
msgstr "%1$s / Preferiti da %2$s"
#: actions/apitimelinefavorites.php:120
-#, fuzzy, php-format
+#, php-format
msgid "%1$s updates favorited by %2$s / %2$s."
msgstr "%1$s aggiornamenti preferiti da %2$s / %3$s"
@@ -611,7 +608,7 @@ msgstr "Ritaglia"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -708,7 +705,7 @@ msgid "%s blocked profiles"
msgstr "Profili bloccati di %s"
#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
msgid "%1$s blocked profiles, page %2$d"
msgstr "Profili bloccati di %1$s, pagina %2$d"
@@ -987,7 +984,6 @@ msgstr "Devi eseguire l'accesso per creare un gruppo."
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Devi essere amministratore per modificare il gruppo."
@@ -1013,7 +1009,6 @@ msgid "Options saved."
msgstr "Opzioni salvate."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "Impostazioni email"
@@ -1052,7 +1047,6 @@ msgid "Cancel"
msgstr "Annulla"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
msgstr "Indirizzi email"
@@ -1358,7 +1352,7 @@ msgid "Block user from group"
msgstr "Blocca l'utente dal gruppo"
#: actions/groupblock.php:162
-#, fuzzy, php-format
+#, php-format
msgid ""
"Are you sure you want to block user \"%1$s\" from the group \"%2$s\"? They "
"will be removed from the group, unable to post, and unable to subscribe to "
@@ -1422,7 +1416,6 @@ msgstr ""
"del file è di %s."
#: actions/grouplogo.php:178
-#, fuzzy
msgid "User without matching profile."
msgstr "Utente senza profilo corrispondente."
@@ -1444,7 +1437,7 @@ msgid "%s group members"
msgstr "Membri del gruppo %s"
#: actions/groupmembers.php:96
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members, page %2$d"
msgstr "Membri del gruppo %1$s, pagina %2$d"
@@ -1555,7 +1548,6 @@ msgid "Error removing the block."
msgstr "Errore nel rimuovere il blocco."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
msgstr "Impostazioni messaggistica istantanea"
@@ -1588,7 +1580,6 @@ msgstr ""
"elenco contatti?"
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
msgstr "Indirizzo di messaggistica istantanea"
@@ -1803,8 +1794,8 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Devi eseguire l'accesso per iscriverti a un gruppo."
-#: actions/joingroup.php:135 lib/command.php:239
-#, fuzzy, php-format
+#: actions/joingroup.php:135
+#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s fa ora parte del gruppo %2$s"
@@ -1820,60 +1811,56 @@ msgstr "Non fai parte di quel gruppo."
msgid "Could not find membership record."
msgstr "Impossibile trovare il record della membership."
-#: actions/leavegroup.php:134 lib/command.php:289
-#, fuzzy, php-format
+#: actions/leavegroup.php:134
+#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ha lasciato il gruppo %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Accesso già effettuato."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Token non valido o scaduto."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Nome utente o password non corretto."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Errore nell'impostare l'utente. Forse non hai l'autorizzazione."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Accedi"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Accedi al sito"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Soprannome"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Password"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Ricordami"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Accedi automaticamente in futuro; non per computer condivisi!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Password persa o dimenticata?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1881,7 +1868,7 @@ msgstr ""
"Per motivi di sicurezza, è necessario che tu inserisca il tuo nome utente e "
"la tua password prima di modificare le impostazioni."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1896,17 +1883,17 @@ msgstr ""
"Solo gli amministratori possono rendere un altro utente amministratori."
#: actions/makeadmin.php:95
-#, fuzzy, php-format
+#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
msgstr "%1$s è già amministratore del gruppo \"%2$s\"."
#: actions/makeadmin.php:132
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
msgstr "Impossibile recuperare la membership per %1$s nel gruppo %2$s"
#: actions/makeadmin.php:145
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
msgstr "Impossibile rendere %1$s un amministratore del gruppo %2$s"
@@ -1948,8 +1935,8 @@ msgstr "Non inviarti un messaggio, piuttosto ripetilo a voce dolcemente."
msgid "Message sent"
msgstr "Messaggio inviato"
-#: actions/newmessage.php:185 lib/command.php:376
-#, fuzzy, php-format
+#: actions/newmessage.php:185
+#, php-format
msgid "Direct message to %s sent."
msgstr "Messaggio diretto a %s inviato."
@@ -2043,8 +2030,8 @@ msgstr "tipo di contenuto "
msgid "Only "
msgstr "Solo "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Non è un formato di dati supportato."
@@ -2088,6 +2075,31 @@ msgstr "Mostra o nasconde gli aspetti del profilo."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Il servizio di riduzione degli URL è troppo lungo (max 50 caratteri)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Nessun gruppo specificato."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Nessun messaggio specificato."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Nessun ID di profilo nella richiesta."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Token non valido o scaduto."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Accedi al sito"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2124,7 +2136,7 @@ msgid "6 or more characters"
msgstr "6 o più caratteri"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Conferma"
@@ -2286,7 +2298,6 @@ msgid "When to use SSL"
msgstr "Quando usare SSL"
#: actions/pathsadminpanel.php:308
-#, fuzzy
msgid "SSL server"
msgstr "Server SSL"
@@ -2317,7 +2328,7 @@ msgid "Not a valid people tag: %s"
msgstr "Non è un'etichetta valida di persona: %s"
#: actions/peopletag.php:144
-#, fuzzy, php-format
+#, php-format
msgid "Users self-tagged with %1$s - page %2$d"
msgstr "Utenti auto-etichettati con %1$s - pagina %2$d"
@@ -2326,7 +2337,7 @@ msgid "Invalid notice content"
msgstr "Contenuto del messaggio non valido"
#: actions/postnotice.php:90
-#, fuzzy, php-format
+#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
"La licenza \"%1$s\" del messaggio non è compatibile con la licenza del sito "
@@ -2352,42 +2363,42 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"1-64 lettere minuscole o numeri, senza spazi o simboli di punteggiatura"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Pagina web"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL della tua pagina web, blog o profilo su un altro sito"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Descriviti assieme ai tuoi interessi in %d caratteri"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Descrivi te e i tuoi interessi"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografia"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Ubicazione"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Dove ti trovi, tipo \"città, regione, stato\""
@@ -2453,7 +2464,6 @@ msgid "Couldn't update user for autosubscribe."
msgstr "Impossibile aggiornare l'utente per auto-abbonarsi."
#: actions/profilesettings.php:359
-#, fuzzy
msgid "Couldn't save location prefs."
msgstr "Impossibile salvare le preferenze della posizione."
@@ -2697,7 +2707,7 @@ msgstr "Errore nell'impostare l'utente."
msgid "New password successfully saved. You are now logged in."
msgstr "Nuova password salvata con successo. Hai effettuato l'accesso."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Solo le persone invitate possono registrarsi."
@@ -2709,7 +2719,7 @@ msgstr "Codice di invito non valido."
msgid "Registration successful"
msgstr "Registrazione riuscita"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registra"
@@ -2726,11 +2736,11 @@ msgstr "Non puoi registrarti se non accetti la licenza."
msgid "Email address already exists."
msgstr "Indirizzo email già esistente."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Nome utente o password non valido."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2739,41 +2749,41 @@ msgstr ""
"successivamente inviare messaggi e metterti in contatto con i tuoi amici e "
"colleghi. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 lettere minuscole o numeri, niente punteggiatura o spazi; richiesto"
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 o più caratteri; richiesta"
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Stessa password di sopra; richiesta"
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Usata solo per aggiornamenti, annunci e recupero password"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome completo, preferibilmente il tuo \"vero\" nome"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "I miei testi e file sono disponibili nei termini della licenza "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Attribution 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2781,8 +2791,8 @@ msgstr ""
" a eccezione di questi dati personali: password, indirizzo email, indirizzo "
"messaggistica istantanea e numero di telefono."
-#: actions/register.php:537
-#, fuzzy, php-format
+#: actions/register.php:538
+#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
"want to...\n"
@@ -2815,7 +2825,7 @@ msgstr ""
"Grazie per la tua iscrizione e speriamo tu possa divertiti usando questo "
"servizio."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -2928,13 +2938,13 @@ msgid "Replies feed for %s (Atom)"
msgstr "Feed delle risposte di %s (Atom)"
#: actions/replies.php:198
-#, fuzzy, php-format
+#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-"Questa è l'attività delle risposte a %s, ma %s non ha ricevuto ancora alcun "
-"messaggio."
+"Questa è l'attività delle risposte a %1$s, ma %2$s non ha ricevuto ancora "
+"alcun messaggio."
#: actions/replies.php:203
#, php-format
@@ -2946,12 +2956,12 @@ msgstr ""
"[entrare in qualche gruppo](%%action.groups%%)."
#: actions/replies.php:205
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"Puoi provare a [richiamare %s](../%s) o [scrivere qualche cosa alla sua "
+"Puoi provare a [richiamare %1$s](../%2$s) o [scrivere qualche cosa alla sua "
"attenzione](%%%%action.newnotice%%%%?status_textarea=%s)."
#: actions/repliesrss.php:72
@@ -3147,9 +3157,9 @@ msgid " tagged %s"
msgstr " etichettati con %s"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Feed dei messaggi per %s etichettati con %s (RSS 1.0)"
+msgstr "Feed dei messaggi per %1$s etichettati con %2$s (RSS 1.0)"
#: actions/showstream.php:129
#, php-format
@@ -3172,9 +3182,9 @@ msgid "FOAF for %s"
msgstr "FOAF per %s"
#: actions/showstream.php:191
-#, fuzzy, php-format
+#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
-msgstr "Questa è l'attività di %s, ma %s non ha ancora scritto nulla."
+msgstr "Questa è l'attività di %1$s, ma %2$s non ha ancora scritto nulla."
#: actions/showstream.php:196
msgid ""
@@ -3185,13 +3195,13 @@ msgstr ""
"potrebbe essere un buon momento per iniziare! :)"
#: actions/showstream.php:198
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-"Puoi provare a richiamare %s o [scrivere qualche cosa che attiri la sua "
-"attenzione](%%%%action.newnotice%%%%?status_textarea=%s)."
+"Puoi provare a richiamare %1$s o [scrivere qualche cosa che attiri la sua "
+"attenzione](%%%%action.newnotice%%%%?status_textarea=%2$s)."
#: actions/showstream.php:234
#, php-format
@@ -3240,7 +3250,6 @@ msgid "Site name must have non-zero length."
msgstr "Il nome del sito non deve avere lunghezza parti a zero."
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address."
msgstr "Devi avere un'email di contatto valida."
@@ -3430,7 +3439,6 @@ msgid "Save site settings"
msgstr "Salva impostazioni"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
msgstr "Impostazioni SMS"
@@ -3460,7 +3468,6 @@ msgid "Enter the code you received on your phone."
msgstr "Inserisci il codice che hai ricevuto sul tuo telefono."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
msgstr "Numero di telefono per SMS"
@@ -3552,9 +3559,9 @@ msgid "%s subscribers"
msgstr "Abbonati a %s"
#: actions/subscribers.php:52
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscribers, page %2$d"
-msgstr "Abbonati a %s, pagina %d"
+msgstr "Abbonati a %1$s, pagina %2$d"
#: actions/subscribers.php:63
msgid "These are the people who listen to your notices."
@@ -3593,9 +3600,9 @@ msgid "%s subscriptions"
msgstr "Abbonamenti di %s"
#: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscriptions, page %2$d"
-msgstr "Abbonamenti di %s, pagina %d"
+msgstr "Abbonamenti di %1$s, pagina %2$d"
#: actions/subscriptions.php:65
msgid "These are the people whose notices you listen to."
@@ -3724,12 +3731,12 @@ msgid "Unsubscribed"
msgstr "Abbonamento annullato"
#: actions/updateprofile.php:62 actions/userauthorization.php:330
-#, fuzzy, php-format
+#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-"La licenza \"%s\" dello stream di chi ascolti non è compatibile con la "
-"licenza \"%s\" di questo sito."
+"La licenza \"%1$s\" dello stream di chi ascolti non è compatibile con la "
+"licenza \"%2$s\" di questo sito."
#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
#: lib/personalgroupnav.php:115
@@ -3886,7 +3893,7 @@ msgstr ""
"completamente l'abbonamento."
#: actions/userauthorization.php:296
-#, fuzzy, php-format
+#, php-format
msgid "Listener URI ‘%s’ not found here."
msgstr "URL \"%s\" dell'ascoltatore non trovato qui."
@@ -3951,9 +3958,9 @@ msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "Prova a [cercare dei gruppi](%%action.groupsearch%%) e iscriviti."
#: actions/version.php:73
-#, fuzzy, php-format
+#, php-format
msgid "StatusNet %s"
-msgstr "Statistiche"
+msgstr "StatusNet %s"
#: actions/version.php:153
#, php-format
@@ -3961,15 +3968,16 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
+"Questo sito esegue il software %1$s versione %2$s, Copyright 2008-2010 "
+"StatusNet, Inc. e collaboratori."
#: actions/version.php:157
-#, fuzzy
msgid "StatusNet"
-msgstr "Messaggio eliminato."
+msgstr "StatusNet"
#: actions/version.php:161
msgid "Contributors"
-msgstr ""
+msgstr "Collaboratori"
#: actions/version.php:168
msgid ""
@@ -3978,6 +3986,10 @@ msgid ""
"Software Foundation, either version 3 of the License, or (at your option) "
"any later version. "
msgstr ""
+"StatusNet è software libero: è possibile redistribuirlo o modificarlo nei "
+"termini della GNU Affero General Public License, come pubblicata dalla Free "
+"Software Foundation, versione 3 o (a scelta) una qualsiasi versione "
+"successiva. "
#: actions/version.php:174
msgid ""
@@ -3986,6 +3998,10 @@ msgid ""
"FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
"for more details. "
msgstr ""
+"Questo programma è distribuito nella speranza che possa essere utile, ma "
+"SENZA ALCUNA GARANZIA, senza anche la garanzia implicita di COMMERCIABILITÀ "
+"o di UTILIZZABILITÀ PER UN PARTICOLARE SCOPO. Per maggiori informazioni "
+"consultare la GNU Affero General Public License. "
#: actions/version.php:180
#, php-format
@@ -3993,31 +4009,30 @@ msgid ""
"You should have received a copy of the GNU Affero General Public License "
"along with this program. If not, see %s."
msgstr ""
+"Una copia della GNU Affero General Plublic License dovrebbe essere "
+"disponibile assieme a questo programma. Se così non fosse, consultare %s."
#: actions/version.php:189
msgid "Plugins"
-msgstr ""
+msgstr "Plugin"
#: actions/version.php:195
-#, fuzzy
msgid "Name"
-msgstr "Soprannome"
+msgstr "Nome"
#: actions/version.php:196 lib/action.php:741
-#, fuzzy
msgid "Version"
-msgstr "Sessioni"
+msgstr "Versione"
#: actions/version.php:197
-#, fuzzy
msgid "Author(s)"
-msgstr "Autore"
+msgstr "Autori"
#: actions/version.php:198 lib/groupeditform.php:172
msgid "Description"
msgstr "Descrizione"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4026,18 +4041,23 @@ msgstr ""
"Nessun file può superare %d byte e il file inviato era di %d byte. Prova a "
"caricarne una versione più piccola."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
"Un file di questa dimensione supererebbe la tua quota utente di %d byte."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
"Un file di questa dimensione supererebbe la tua quota mensile di %d byte."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Impossibile creare il token di accesso per %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Ti è proibito inviare messaggi diretti."
@@ -4137,6 +4157,11 @@ msgstr "Altro"
msgid "Other options"
msgstr "Altre opzioni"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Pagina senza nome"
@@ -4320,9 +4345,8 @@ msgid "You cannot make changes to this site."
msgstr "Non puoi apportare modifiche al sito."
#: lib/adminpanelaction.php:107
-#, fuzzy
msgid "Changes to that panel are not allowed."
-msgstr "Registrazione non consentita."
+msgstr "Le modifiche al pannello non sono consentite."
#: lib/adminpanelaction.php:206
msgid "showForm() not implemented."
@@ -4369,12 +4393,10 @@ msgid "Tags for this attachment"
msgstr "Etichette per questo allegato"
#: lib/authenticationplugin.php:182 lib/authenticationplugin.php:187
-#, fuzzy
msgid "Password changing failed"
msgstr "Modifica della password non riuscita"
#: lib/authenticationplugin.php:197
-#, fuzzy
msgid "Password changing is not allowed"
msgstr "La modifica della password non è permessa"
@@ -4396,8 +4418,8 @@ msgstr "Questo comando non è ancora implementato."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
-msgstr "Impossibile trovare un utente col soprannome %s"
+msgid "Could not find a user with nickname %s"
+msgstr "Impossibile trovare un utente col soprannome %s."
#: lib/command.php:92
msgid "It does not make a lot of sense to nudge yourself!"
@@ -4405,8 +4427,8 @@ msgstr "Non ha molto senso se cerchi di richiamarti!"
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
-msgstr "Richiamo inviato a %s"
+msgid "Nudge sent to %s"
+msgstr "Richiamo inviato a %s."
#: lib/command.php:126
#, php-format
@@ -4421,33 +4443,53 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
-msgstr "Un messaggio con quel ID non esiste"
+msgid "Notice with that id does not exist"
+msgstr "Un messaggio con quel ID non esiste."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
-msgstr "L'utente non ha un ultimo messaggio"
+msgid "User has no last notice"
+msgstr "L'utente non ha un ultimo messaggio."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Messaggio indicato come preferito."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Fai già parte di quel gruppo."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Impossibile iscrivere l'utente %1$s al gruppo %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s fa ora parte del gruppo %2$s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
-msgstr "Impossibile rimuovere l'utente %s dal gruppo %s"
+msgid "Could not remove user %s to group %s"
+msgstr "Impossibile rimuovere l'utente %1$s dal gruppo %2$s"
+
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s ha lasciato il gruppo %2$s"
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nome completo: %s"
#: lib/command.php:321 lib/mail.php:254
#, php-format
msgid "Location: %s"
-msgstr "Ubicazione: %s"
+msgstr "Posizione: %s"
#: lib/command.php:324 lib/mail.php:256
#, php-format
@@ -4459,19 +4501,34 @@ msgstr "Pagina web: %s"
msgid "About: %s"
msgstr "Informazioni: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Messaggio troppo lungo: massimo %d caratteri, inviati %d"
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
+
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Messaggio diretto a %s inviato."
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Errore nell'inviare il messaggio diretto."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Non puoi ripetere un tuo messaggio."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Hai già ripetuto quel messaggio."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
-msgstr "Messaggio da %s ripetuto"
+msgid "Notice from %s repeated"
+msgstr "Messaggio da %s ripetuto."
#: lib/command.php:437
msgid "Error repeating notice."
@@ -4479,13 +4536,13 @@ msgstr "Errore nel ripetere il messaggio."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Messaggio troppo lungo: massimo %d caratteri, inviati %d"
+msgid "Notice too long - maximum is %d characters, you sent %d"
+msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
-msgstr "Risposta a %s inviata"
+msgid "Reply to %s sent"
+msgstr "Risposta a %s inviata."
#: lib/command.php:502
msgid "Error saving notice."
@@ -4493,8 +4550,8 @@ msgstr "Errore nel salvare il messaggio."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
-msgstr "Specifica il nome dell'utente a cui abbonarti"
+msgid "Specify the name of the user to subscribe to"
+msgstr "Specifica il nome dell'utente a cui abbonarti."
#: lib/command.php:563
#, php-format
@@ -4503,8 +4560,8 @@ msgstr "Abbonati a %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
-msgstr "Specifica il nome dell'utente da cui annullare l'abbonamento"
+msgid "Specify the name of the user to unsubscribe from"
+msgstr "Specifica il nome dell'utente da cui annullare l'abbonamento."
#: lib/command.php:591
#, php-format
@@ -4533,52 +4590,47 @@ msgstr "Impossibile attivare le notifiche."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
-msgstr "Il comando di accesso è disabilitato"
+msgid "Login command is disabled"
+msgstr "Il comando di accesso è disabilitato."
-#: lib/command.php:664
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Impossibile creare il token di accesso per %s"
-
-#: lib/command.php:669
-#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
"Questo collegamento è utilizzabile una sola volta ed è valido solo per 2 "
-"minuti: %s"
+"minuti: %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Il tuo abbonamento è stato annullato."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Persona di cui hai già un abbonamento:"
msgstr[1] "Persone di cui hai già un abbonamento:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Nessuno è abbonato ai tuoi messaggi."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Questa persona è abbonata ai tuoi messaggi:"
msgstr[1] "Queste persone sono abbonate ai tuoi messaggi:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Non fai parte di alcun gruppo."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Non fai parte di questo gruppo:"
msgstr[1] "Non fai parte di questi gruppi:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4959,11 +5011,9 @@ msgstr ""
"Modifica il tuo indirizzo email o le opzioni di notifica presso %8$s\n"
#: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"Biografia: %s\n"
-"\n"
+msgstr "Biografia: %s"
#: lib/mail.php:286
#, php-format
@@ -5177,9 +5227,9 @@ msgid "Sorry, no incoming email allowed."
msgstr "Email di ricezione non consentita."
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Formato file immagine non supportato."
+msgstr "Tipo di messaggio non supportato: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5215,7 +5265,6 @@ msgid "File upload stopped by extension."
msgstr "Caricamento del file bloccato dall'estensione."
#: lib/mediafile.php:179 lib/mediafile.php:216
-#, fuzzy
msgid "File exceeds user's quota."
msgstr "Il file supera la quota dell'utente."
@@ -5224,7 +5273,6 @@ msgid "File could not be moved to destination directory."
msgstr "Impossibile spostare il file nella directory di destinazione."
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
msgstr "Impossibile determinare il tipo MIME del file."
@@ -5234,9 +5282,9 @@ msgid " Try using another %s format."
msgstr "Prova a usare un altro formato per %s."
#: lib/mediafile.php:275
-#, fuzzy, php-format
+#, php-format
msgid "%s is not a supported file type on this server."
-msgstr "%s non è un tipo di file supportato da questo server."
+msgstr "%s non è un tipo di file supportato su server."
#: lib/messageform.php:120
msgid "Send a direct notice"
@@ -5269,17 +5317,17 @@ msgstr "Allega un file"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
-msgstr "Impossibile salvare le etichette."
+msgid "Share my location"
+msgstr "Condividi la mia posizione"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
-msgstr "Impossibile salvare le etichette."
+msgid "Do not share my location"
+msgstr "Non condividere la mia posizione"
#: lib/noticeform.php:215
msgid "Hide this info"
-msgstr ""
+msgstr "Nascondi info"
#: lib/noticelist.php:428
#, php-format
@@ -5396,9 +5444,8 @@ msgid "Tags in %s's notices"
msgstr "Etichette nei messaggi di %s"
#: lib/plugin.php:114
-#, fuzzy
msgid "Unknown"
-msgstr "Azione sconosciuta"
+msgstr "Sconosciuto"
#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
msgid "Subscriptions"
@@ -5457,7 +5504,6 @@ msgid "Popular"
msgstr "Famosi"
#: lib/repeatform.php:107
-#, fuzzy
msgid "Repeat this notice?"
msgstr "Ripetere questo messaggio?"
@@ -5630,47 +5676,47 @@ msgstr "Messaggio"
msgid "Moderate"
msgstr "Modera"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "pochi secondi fa"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "circa un minuto fa"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "circa %d minuti fa"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "circa un'ora fa"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "circa %d ore fa"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "circa un giorno fa"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "circa %d giorni fa"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "circa un mese fa"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "circa %d mesi fa"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "circa un anno fa"
@@ -5683,3 +5729,8 @@ msgstr "%s non è un colore valido."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s non è un colore valido. Usa 3 o 6 caratteri esadecimali."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Messaggio troppo lungo: massimo %1$d caratteri, inviati %2$d."
diff --git a/locale/ja/LC_MESSAGES/statusnet.po b/locale/ja/LC_MESSAGES/statusnet.po
index 97579cd09..367e59916 100644
--- a/locale/ja/LC_MESSAGES/statusnet.po
+++ b/locale/ja/LC_MESSAGES/statusnet.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:32+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:23+0000\n"
"Language-Team: Japanese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ja\n"
"X-Message-Group: out-statusnet\n"
@@ -41,7 +41,7 @@ msgstr "そのようなページはありません。"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -385,7 +385,7 @@ msgstr "別名はニックネームと同じではいけません。"
msgid "Group not found!"
msgstr "グループが見つかりません!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "すでにこのグループのメンバーです。"
@@ -393,7 +393,7 @@ msgstr "すでにこのグループのメンバーです。"
msgid "You have been blocked from that group by the admin."
msgstr "管理者によってこのグループからブロックされています。"
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "利用者 %s はグループ %s に参加できません。"
@@ -435,11 +435,11 @@ msgstr "他の利用者のステータスを消すことはできません。"
msgid "No such notice."
msgstr "そのようなつぶやきはありません。"
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "あなたのつぶやきを繰り返せません。"
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "すでにつぶやきを繰り返しています。"
@@ -609,7 +609,7 @@ msgstr "切り取り"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1799,7 +1799,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "グループに入るためにはログインしなければなりません。"
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s はグループ %s に参加しました"
@@ -1816,60 +1816,56 @@ msgstr "あなたはそのグループのメンバーではありません。"
msgid "Could not find membership record."
msgstr "会員資格記録を見つけることができませんでした。"
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s はグループ %s に残りました。"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "既にログインしています。"
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "不正または期限切れのトークン"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "ユーザ名またはパスワードが間違っています。"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "ユーザ設定エラー。 あなたはたぶん承認されていません。"
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "ログイン"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "サイトへログイン"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "ニックネーム"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "パスワード"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "ログイン状態を保持"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "以降は自動的にログインする。共用コンピューターでは避けましょう!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "パスワードを紛失、忘れた?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1877,7 +1873,7 @@ msgstr ""
"セキュリティー上の理由により、設定を変更する前にユーザ名とパスワードを入力し"
"て下さい。"
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1944,7 +1940,7 @@ msgstr ""
msgid "Message sent"
msgstr "メッセージを送りました"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "ダイレクトメッセージを %s に送りました"
@@ -2038,8 +2034,8 @@ msgstr "内容種別 "
msgid "Only "
msgstr "だけ "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "サポートされていないデータ形式。"
@@ -2083,6 +2079,31 @@ msgstr "プロファイルデザインの表示または非表示"
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL 短縮サービスが長すぎます。(最大50字)"
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "グループ記述がありません。"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "つぶやきがありません。"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "リクエスト内にプロファイルIDがありません。"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "不正または期限切れのトークン"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "サイトへログイン"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2119,7 +2140,7 @@ msgid "6 or more characters"
msgstr "6文字以上"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "パスワード確認"
@@ -2344,42 +2365,42 @@ msgstr "プロファイル情報"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64文字の、小文字アルファベットか数字で、スペースや句読点は除く"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "フルネーム"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "ホームページ"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "ホームページ、ブログ、プロファイル、その他サイトの URL"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "%d字以内で自分自身と自分の興味について書いてください"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "自分自身と自分の興味について書いてください"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "自己紹介"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "場所"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "自分のいる場所。例:「都市, 都道府県 (または地域), 国」"
@@ -2690,7 +2711,7 @@ msgstr "ユーザ設定エラー"
msgid "New password successfully saved. You are now logged in."
msgstr "新しいパスワードの保存に成功しました。ログインしています。"
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "すみません、招待された人々だけが登録できます。"
@@ -2702,7 +2723,7 @@ msgstr "すみません、不正な招待コード。"
msgid "Registration successful"
msgstr "登録成功"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "登録"
@@ -2719,11 +2740,11 @@ msgstr "ライセンスに同意頂けない場合は登録できません。"
msgid "Email address already exists."
msgstr "メールアドレスが既に存在します。"
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "不正なユーザ名またはパスワード。"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2731,47 +2752,47 @@ msgstr ""
"このフォームで新しいアカウントを作成できます。 次につぶやきを投稿して、友人や"
"同僚にリンクできます。 "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64文字の、小文字アルファベットか数字で、スペースや句読点は除く。必須です。"
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6文字以上。必須です。"
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "上のパスワードと同じです。 必須。"
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "メール"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "更新、アナウンス、パスワードリカバリーでのみ使用されます。"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "長い名前"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "次の下でテキスト及びファイルを利用可能 "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr "個人情報を除く: パスワード、メールアドレス、IMアドレス、電話番号"
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2804,7 +2825,7 @@ msgstr ""
"参加してくださりありがとうございます。私たちはあなたがこのサービスを楽しんで"
"使われることを願っています。"
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4008,7 +4029,7 @@ msgstr "作者"
msgid "Description"
msgstr "概要"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4018,18 +4039,23 @@ msgstr ""
"ファイルは %d バイトでした。より小さいバージョンをアップロードするようにして"
"ください。"
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
"これほど大きいファイルはあなたの%dバイトのユーザ割当てを超えているでしょう。"
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
"これほど大きいファイルはあなたの%dバイトの毎月の割当てを超えているでしょう。"
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "%s 用のログイン・トークンを作成できませんでした"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "あなたはダイレクトメッセージを送るのが禁止されています。"
@@ -4128,6 +4154,11 @@ msgstr "その他"
msgid "Other options"
msgstr "その他のオプション"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%s はグループ %s に残りました。"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "名称未設定ページ"
@@ -4385,7 +4416,7 @@ msgstr "すみません、このコマンドはまだ実装されていません
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "ユーザを更新できません"
#: lib/command.php:92
@@ -4394,7 +4425,7 @@ msgstr "それは自分自身への合図で多くは意味がありません!"
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "%s へ合図を送りました"
#: lib/command.php:126
@@ -4410,27 +4441,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "その ID によるつぶやきは存在していません"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "利用者はまだつぶやいていません"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "お気に入りにされているつぶやき。"
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "すでにこのグループのメンバーです。"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "利用者 %s はグループ %s に参加できません。"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s はグループ %s に参加しました"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "利用者 %s をグループ %s から削除することができません"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s はグループ %s に残りました。"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "フルネーム: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4448,18 +4499,33 @@ msgstr "ホームページ: %s"
msgid "About: %s"
msgstr "About: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "メッセージが長すぎます - 最大 %d 字、あなたが送ったのは %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "ダイレクトメッセージを %s に送りました"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "ダイレクトメッセージ送信エラー。"
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "あなたのつぶやきを繰り返せません。"
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "すでにつぶやきを繰り返しています。"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "%s からつぶやきが繰り返されています"
#: lib/command.php:437
@@ -4468,12 +4534,12 @@ msgstr "つぶやき繰り返しエラー"
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "つぶやきが長すぎます - 最大 %d 字、あなたが送ったのは %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "%s へ返信を送りました"
#: lib/command.php:502
@@ -4482,7 +4548,7 @@ msgstr "つぶやき保存エラー。"
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "フォローする利用者の名前を指定してください"
#: lib/command.php:563
@@ -4492,7 +4558,7 @@ msgstr "%s をフォローしました"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "フォローをやめるユーザの名前を指定してください"
#: lib/command.php:591
@@ -4522,47 +4588,42 @@ msgstr "通知をオンできません。"
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr "ログインコマンドが無効になっています。"
-#: lib/command.php:664
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "%s 用のログイン・トークンを作成できませんでした"
-
-#: lib/command.php:669
-#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr "このリンクは、かつてだけ使用可能であり、2分間だけ良いです: %s"
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "あなたはだれにもフォローされていません。"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "あなたはこの人にフォローされています:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "誰もフォローしていません。"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "この人はあなたにフォローされている:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "あなたはどのグループのメンバーでもありません。"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "あなたはこのグループのメンバーではありません:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5215,12 +5276,12 @@ msgstr "ファイル添付"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "あなたの場所を共有"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "あなたの場所を共有"
#: lib/noticeform.php:215
@@ -5580,47 +5641,47 @@ msgstr "メッセージ"
msgid "Moderate"
msgstr "司会"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "数秒前"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "約 1 分前"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "約 %d 分前"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "約 1 時間前"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "約 %d 時間前"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "約 1 日前"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "約 %d 日前"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "約 1 ヵ月前"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "約 %d ヵ月前"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "約 1 年前"
@@ -5633,3 +5694,8 @@ msgstr "%sは有効な色ではありません!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s は有効な色ではありません! 3か6の16進数を使ってください。"
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "メッセージが長すぎます - 最大 %d 字、あなたが送ったのは %d"
diff --git a/locale/ko/LC_MESSAGES/statusnet.po b/locale/ko/LC_MESSAGES/statusnet.po
index d04758a98..0a2e4561e 100644
--- a/locale/ko/LC_MESSAGES/statusnet.po
+++ b/locale/ko/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:35+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:28+0000\n"
"Language-Team: Korean\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ko\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "그러한 태그가 없습니다."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -382,7 +382,7 @@ msgstr ""
msgid "Group not found!"
msgstr "API 메서드를 찾을 수 없습니다."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "당신은 이미 이 그룹의 멤버입니다."
@@ -391,7 +391,7 @@ msgstr "당신은 이미 이 그룹의 멤버입니다."
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "그룹 %s에 %s는 가입할 수 없습니다."
@@ -434,12 +434,12 @@ msgstr "당신은 다른 사용자의 상태를 삭제하지 않아도 된다."
msgid "No such notice."
msgstr "그러한 통지는 없습니다."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "알림을 켤 수 없습니다."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "이 게시글 삭제하기"
@@ -613,7 +613,7 @@ msgstr "자르기"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1810,7 +1810,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "그룹가입을 위해서는 로그인이 필요합니다."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s 는 그룹 %s에 가입했습니다."
@@ -1827,69 +1827,64 @@ msgstr "당신은 해당 그룹의 멤버가 아닙니다."
msgid "Could not find membership record."
msgstr "멤버십 기록을 발견할 수 없습니다."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s가 그룹%s를 떠났습니다."
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "이미 로그인 하셨습니다."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "옳지 않은 통지 내용"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "틀린 계정 또는 비밀 번호"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "인증이 되지 않았습니다."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "로그인"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "사이트에 로그인하세요."
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "별명"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "비밀 번호"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "자동 로그인"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "앞으로는 자동으로 로그인합니다. 공용 컴퓨터에서는 이용하지 마십시오!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "비밀 번호를 잊으셨나요?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
"보안을 위해 세팅을 저장하기 전에 계정과 비밀 번호를 다시 입력 해 주십시오."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1958,7 +1953,7 @@ msgstr ""
msgid "Message sent"
msgstr "메시지"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "%s에게 보낸 직접 메시지"
@@ -2049,8 +2044,8 @@ msgstr "연결"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "지원하는 형식의 데이터가 아닙니다."
@@ -2095,6 +2090,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL 줄이기 서비스 너무 깁니다. (최대 50글자)"
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "프로필을 지정하지 않았습니다."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "프로필을 지정하지 않았습니다."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "요청한 프로필id가 없습니다."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "옳지 않은 통지 내용"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "사이트에 로그인하세요."
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2129,7 +2149,7 @@ msgid "6 or more characters"
msgstr "6글자 이상"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "인증"
@@ -2364,43 +2384,43 @@ msgstr "프로필 정보"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64자 사이에 영소문자, 숫자로만 씁니다. 기호나 공백을 쓰면 안 됩니다."
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "실명"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "홈페이지"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "귀하의 홈페이지, 블로그 혹은 다른 사이트의 프로필 페이지 URL"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "140자 이내에서 자기 소개"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "당신에 대해 소개해주세요."
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "자기소개"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "위치"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "당신은 어디에 삽니까? \"시, 도 (or 군,구), 나라"
@@ -2698,7 +2718,7 @@ msgid "New password successfully saved. You are now logged in."
msgstr ""
"새로운 비밀 번호를 성공적으로 저장했습니다. 귀하는 이제 로그인 되었습니다."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "죄송합니다. 단지 초대된 사람들만 등록할 수 있습니다."
@@ -2711,7 +2731,7 @@ msgstr "확인 코드 오류"
msgid "Registration successful"
msgstr "회원 가입이 성공적입니다."
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "회원가입"
@@ -2728,59 +2748,59 @@ msgstr "라이선스에 동의하지 않는다면 등록할 수 없습니다."
msgid "Email address already exists."
msgstr "이메일 주소가 이미 존재 합니다."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "사용자 이름이나 비밀 번호가 틀렸습니다."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64자 사이에 영소문자, 숫자로만 씁니다. 기호나 공백을 쓰면 안 됩니다. 필수 "
"입력."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6글자 이상이 필요합니다."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "위와 같은 비밀 번호. 필수 사항."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "이메일"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "업데이트나 공지, 비밀번호 찾기에 사용하세요."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "더욱 긴 이름을 요구합니다."
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "나의 글과 파일의 라이선스는 다음과 같습니다 "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr "다음 개인정보 제외: 비밀 번호, 메일 주소, 메신저 주소, 전화 번호"
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2813,7 +2833,7 @@ msgstr ""
"\n"
"다시 한번 가입하신 것을 환영하면서 즐거운 서비스가 되셨으면 합니다."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4002,23 +4022,28 @@ msgstr ""
msgid "Description"
msgstr "설명"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "OpenID를 작성 할 수 없습니다 : %s"
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4122,6 +4147,11 @@ msgstr "기타"
msgid "Other options"
msgstr "다른 옵션들"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "제목없는 페이지"
@@ -4393,7 +4423,7 @@ msgstr "죄송합니다. 이 명령은 아직 실행되지 않았습니다."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "이 이메일 주소로 사용자를 업데이트 할 수 없습니다."
#: lib/command.php:92
@@ -4402,7 +4432,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "찔러 보기를 보냈습니다."
#: lib/command.php:126
@@ -4415,27 +4445,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "해당 id의 프로필이 없습니다."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "이용자의 지속적인 게시글이 없습니다."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "게시글이 좋아하는 글로 지정되었습니다."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "당신은 이미 이 그룹의 멤버입니다."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "그룹 %s에 %s는 가입할 수 없습니다."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s 는 그룹 %s에 가입했습니다."
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "그룹 %s에서 %s 사용자를 제거할 수 없습니다."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s가 그룹%s를 떠났습니다."
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "전체이름: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4453,18 +4503,33 @@ msgstr "홈페이지: %s"
msgid "About: %s"
msgstr "자기소개: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "%s에게 보낸 직접 메시지"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "직접 메시지 보내기 오류."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "알림을 켤 수 없습니다."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "이 게시글 삭제하기"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "게시글이 등록되었습니다."
#: lib/command.php:437
@@ -4474,12 +4539,12 @@ msgstr "통지를 저장하는데 문제가 발생했습니다."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "이 게시글에 대해 답장하기"
#: lib/command.php:502
@@ -4489,7 +4554,7 @@ msgstr "통지를 저장하는데 문제가 발생했습니다."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "구독하려는 사용자의 이름을 지정하십시오."
#: lib/command.php:563
@@ -4499,7 +4564,7 @@ msgstr "%s에게 구독되었습니다."
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "구독을 해제하려는 사용자의 이름을 지정하십시오."
#: lib/command.php:591
@@ -4528,50 +4593,45 @@ msgid "Can't turn on notification."
msgstr "알림을 켤 수 없습니다."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "OpenID를 작성 할 수 없습니다 : %s"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "당신은 이 프로필에 구독되지 않고있습니다."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "당신은 다음 사용자를 이미 구독하고 있습니다."
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "다른 사람을 구독 하실 수 없습니다."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "다른 사람을 구독 하실 수 없습니다."
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "당신은 해당 그룹의 멤버가 아닙니다."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "당신은 해당 그룹의 멤버가 아닙니다."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5142,12 +5202,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "태그를 저장할 수 없습니다."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "태그를 저장할 수 없습니다."
#: lib/noticeform.php:215
@@ -5524,47 +5584,47 @@ msgstr "메시지"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "몇 초 전"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "1분 전"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "%d분 전"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "1시간 전"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "%d시간 전"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "하루 전"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "%d일 전"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "1달 전"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "%d달 전"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "1년 전"
@@ -5577,3 +5637,8 @@ msgstr "홈페이지 주소형식이 올바르지 않습니다."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
diff --git a/locale/mk/LC_MESSAGES/statusnet.po b/locale/mk/LC_MESSAGES/statusnet.po
index ec0b98c72..48495e59f 100644
--- a/locale/mk/LC_MESSAGES/statusnet.po
+++ b/locale/mk/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-11 00:20:58+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:31+0000\n"
"Language-Team: Macedonian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60910); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: mk\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Нема таква страница"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -383,7 +383,7 @@ msgstr "Алијасот не може да биде ист како прека
msgid "Group not found!"
msgstr "Групата не е пронајдена!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Веќе членувате во таа група."
@@ -391,7 +391,7 @@ msgstr "Веќе членувате во таа група."
msgid "You have been blocked from that group by the admin."
msgstr "Блокирани сте од таа група од администраторот."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Не можам да го зачленам корисникот %1$s во групата 2$s."
@@ -433,11 +433,11 @@ msgstr "Не можете да избришете статус на друг к
msgid "No such notice."
msgstr "Нема таква забелешка."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Не можете да ја повторувате сопствената забелешка."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Забелешката е веќе повторена."
@@ -611,7 +611,7 @@ msgstr "Отсечи"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1800,7 +1800,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Мора да сте најавени за да можете да се зачлените во група."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s се зачлени во групата %2$s"
@@ -1817,61 +1817,57 @@ msgstr "Не членувате во таа група."
msgid "Could not find membership record."
msgstr "Не можам да ја пронајдам членската евиденција."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s ја напушти групата %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Веќе сте најавени."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Неважечки или истечен жетон."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Неточно корисничко име или лозинка"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Грешка при поставувањето на корисникот. Веројатно не се заверени."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Најава"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Најавете се"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Прекар"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Лозинка"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Запамети ме"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Следниот пат најавете се автоматски; не за компјутери кои ги делите со други!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Ја загубивте или заборавивте лозинката?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1879,7 +1875,7 @@ msgstr ""
"Поради безбедносни причини треба повторно да го внесете Вашето корисничко "
"име и лозинка пред да ги смените Вашите нагодувања."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1947,7 +1943,7 @@ msgstr ""
msgid "Message sent"
msgstr "Пораката е испратена"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr "Директната порака до %s е испратена."
@@ -2043,8 +2039,8 @@ msgstr "тип на содржини "
msgid "Only "
msgstr "Само "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Ова не е поддржан формат на податотека."
@@ -2088,6 +2084,31 @@ msgstr "Прикажи или сокриј профилни изгледи."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Услугата за скратување на URL-адреси е предолга (највеќе до 50 знаци)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Нема назначено група."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Нема назначено забелешка."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Во барањето нема id на профилот."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Неважечки или истечен жетон."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Најавете се"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2124,7 +2145,7 @@ msgid "6 or more characters"
msgstr "6 или повеќе знаци"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Потврди"
@@ -2351,42 +2372,42 @@ msgstr "Информации за профил"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 мали букви или бројки. Без интерпукциски знаци и празни места."
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Цело име"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Домашна страница"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL на Вашата домашна страница, блог или профил на друга веб-страница."
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Опишете се себеси и своите интереси во %d знаци."
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Опишете се себеси и Вашите интереси"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Биографија"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Локација"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Каде се наоѓате, на пр. „Град, Област, Земја“."
@@ -2700,7 +2721,7 @@ msgstr "Грешка во поставувањето на корисникот."
msgid "New password successfully saved. You are now logged in."
msgstr "Новата лозинка е успешно зачувана. Сега сте најавени."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Жалиме, регистрацијата е само со покана."
@@ -2712,7 +2733,7 @@ msgstr "Жалиме, неважечки код за поканата."
msgid "Registration successful"
msgstr "Регистрацијата е успешна"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Регистрирај се"
@@ -2729,11 +2750,11 @@ msgstr "Не може да се регистрирате ако не ја при
msgid "Email address already exists."
msgstr "Адресата веќе постои."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Погрешно име или лозинка."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2741,42 +2762,42 @@ msgstr ""
"Со овој образец можете да создадете нова сметка. Потоа ќе можете да "
"објавувате забелешки и да се поврзувате со пријатели и колеги. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 мали букви или бројки, без интерпункциски знаци и празни места. "
"Задолжително поле."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "Барем 6 знаци. Задолжително поле."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Исто што и лозинката погоре. Задолжително поле."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Е-пошта"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Се користи само за подновувања, објави и повраќање на лозинка."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Подолго име, по можност Вашето вистинско име и презиме"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Мојот текст и податотеки се достапни под "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Наведи извор 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2784,7 +2805,7 @@ msgstr ""
" освен овие приватни податоци: лозинка, е-пошта, IM-адреса и телефонски "
"број."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2818,7 +2839,7 @@ msgstr ""
"Ви благодариме што се зачленивте и Ви пожелуваме пријатни мигови со оваа "
"служба."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4031,7 +4052,7 @@ msgstr "Автор(и)"
msgid "Description"
msgstr "Опис"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4040,17 +4061,22 @@ msgstr ""
"Ниедна податотека не смее да биде поголема од %d бајти, а подаотеката што ја "
"испративте содржи %d бајти. Подигнете помала верзија."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
"Волку голема податотека ќе ја надмине Вашата корисничка квота од %d бајти."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "ВОлку голема податотека ќе ја надмине Вашата месечна квота од %d бајти"
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Не можам да создадам најавен жетон за %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Забрането Ви е испраќање на директни пораки."
@@ -4150,6 +4176,11 @@ msgstr "Друго"
msgid "Other options"
msgstr "Други нагодувања"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Страница без наслов"
@@ -4405,8 +4436,8 @@ msgid "Sorry, this command is not yet implemented."
msgstr "Жалиме, оваа наредба сè уште не е имплементирана."
#: lib/command.php:88
-#, php-format
-msgid "Could not find a user with nickname %s."
+#, fuzzy, php-format
+msgid "Could not find a user with nickname %s"
msgstr "Не можев да пронајдам корисник со прекар %s."
#: lib/command.php:92
@@ -4414,8 +4445,8 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr "Нема баш логика да се подбуцнувате сами себеси."
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
msgstr "Испратено подбуцнување на %s."
#: lib/command.php:126
@@ -4430,26 +4461,48 @@ msgstr ""
"Забелешки: %3$s"
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+#, fuzzy
+msgid "Notice with that id does not exist"
msgstr "Не постои забелешка со таков id."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
+#, fuzzy
+msgid "User has no last notice"
msgstr "Корисникот нема последна забелешка"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Забелешката е обележана како омилена."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Веќе членувате во таа група."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Не можам да го зачленам корисникот %1$s во групата 2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s се зачлени во групата %2$s"
+
#: lib/command.php:284
-#, php-format
-msgid "Could not remove user %1$s to group %2$s."
+#, fuzzy, php-format
+msgid "Could not remove user %s to group %s"
msgstr "Не можев да го отстранам корисникот %1$s од групата %2$s."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s ја напушти групата %2$s"
+
#: lib/command.php:318
-#, php-format
-msgid "Full name: %s"
+#, fuzzy, php-format
+msgid "Fullname: %s"
msgstr "Име и презиме: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4467,19 +4520,34 @@ msgstr "Домашна страница: %s"
msgid "About: %s"
msgstr "За: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#: lib/command.php:358
+#, fuzzy, php-format
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"Пораката е предолга - дозволени се највеќе %1$d знаци, а вие испративте %2$d."
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Директната порака до %s е испратена."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Грашка при испаќањето на директната порака."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Не можете да ја повторувате сопствената забелешка."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Забелешката е веќе повторена."
+
#: lib/command.php:435
-#, php-format
-msgid "Notice from %s repeated."
+#, fuzzy, php-format
+msgid "Notice from %s repeated"
msgstr "Забелешката од %s е повторена."
#: lib/command.php:437
@@ -4487,15 +4555,15 @@ msgid "Error repeating notice."
msgstr "Грешка при повторувањето на белешката."
#: lib/command.php:491
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
"Забелешката е предолга - треба да нема повеќе од %1$d знаци, а Вие "
"испративте %2$d."
#: lib/command.php:500
-#, php-format
-msgid "Reply to %s sent."
+#, fuzzy, php-format
+msgid "Reply to %s sent"
msgstr "Одговорот на %s е испратен."
#: lib/command.php:502
@@ -4503,7 +4571,8 @@ msgid "Error saving notice."
msgstr "Грешка при зачувувањето на белешката."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+#, fuzzy
+msgid "Specify the name of the user to subscribe to"
msgstr "Назначете го името на корисникот на којшто сакате да се претплатите."
#: lib/command.php:563
@@ -4512,7 +4581,8 @@ msgid "Subscribed to %s"
msgstr "Претплатено на %s"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+#, fuzzy
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Назначете го името на корисникот од кого откажувате претплата."
#: lib/command.php:591
@@ -4541,50 +4611,46 @@ msgid "Can't turn on notification."
msgstr "Не можам да вклучам известување."
#: lib/command.php:650
-msgid "Login command is disabled."
+#, fuzzy
+msgid "Login command is disabled"
msgstr "Наредбата за најава е оневозможена."
-#: lib/command.php:664
-#, php-format
-msgid "Could not create login token for %s."
-msgstr "Не можам да создадам најавен жетон за %s."
-
-#: lib/command.php:669
-#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+#: lib/command.php:661
+#, fuzzy, php-format
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr "Оваа врска може да се употреби само еднаш, и трае само 2 минути: %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Не сте претплатени никому."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Не ни го испративте тој профил."
msgstr[1] "Не ни го испративте тој профил."
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Никој не е претплатен на Вас."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Оддалечена претплата"
msgstr[1] "Оддалечена претплата"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Не членувате во ниедна група."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Не ни го испративте тој профил."
msgstr[1] "Не ни го испративте тој профил."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5272,11 +5338,13 @@ msgid "Attach a file"
msgstr "Прикажи податотека"
#: lib/noticeform.php:212
-msgid "Share my location."
+#, fuzzy
+msgid "Share my location"
msgstr "Споделете ја мојата локација."
#: lib/noticeform.php:214
-msgid "Do not share my location."
+#, fuzzy
+msgid "Do not share my location"
msgstr "Не ја споделувај мојата локација."
#: lib/noticeform.php:215
@@ -5631,47 +5699,47 @@ msgstr "Порака"
msgid "Moderate"
msgstr "Модерирај"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "пред неколку секунди"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "пред една минута"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "пред %d минути"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "пред еден час"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "пред %d часа"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "пред еден ден"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "пред %d денови"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "пред еден месец"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "пред %d месеца"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "пред една година"
@@ -5684,3 +5752,9 @@ msgstr "%s не е важечка боја!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s не е важечка боја! Користете 3 или 6 шеснаесетни (hex) знаци."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Пораката е предолга - дозволени се највеќе %1$d знаци, а вие испративте %2$d."
diff --git a/locale/nb/LC_MESSAGES/statusnet.po b/locale/nb/LC_MESSAGES/statusnet.po
index 2646a8142..5ff0bfa91 100644
--- a/locale/nb/LC_MESSAGES/statusnet.po
+++ b/locale/nb/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:42+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:35+0000\n"
"Language-Team: Norwegian (bokmål)‬\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "Ingen slik side"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -385,7 +385,7 @@ msgstr ""
msgid "Group not found!"
msgstr "API-metode ikke funnet!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Du er allerede medlem av den gruppen."
@@ -393,7 +393,7 @@ msgstr "Du er allerede medlem av den gruppen."
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Klarte ikke å oppdatere bruker."
@@ -436,12 +436,12 @@ msgstr ""
msgid "No such notice."
msgstr ""
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Kan ikke slette notisen."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Kan ikke slette notisen."
@@ -615,7 +615,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1779,7 +1779,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1796,68 +1796,64 @@ msgstr ""
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s sin status på %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Allerede innlogget."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Feil brukernavn eller passord"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Ikke autorisert."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Logg inn"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Nick"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Passord"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Husk meg"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Logg inn automatisk i framtiden. Ikke for datamaskiner du deler med andre!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Mistet eller glemt passordet?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1921,7 +1917,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Direktemeldinger til %s"
@@ -2008,8 +2004,8 @@ msgstr ""
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -2055,6 +2051,29 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Bioen er for lang (max 140 tegn)"
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Nytt nick"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Nytt nick"
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Nytt nick"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2091,7 +2110,7 @@ msgid "6 or more characters"
msgstr "6 eller flere tegn"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Bekreft"
@@ -2317,43 +2336,43 @@ msgstr ""
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 små bokstaver eller nummer, ingen punktum eller mellomrom"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullt navn"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Hjemmesiden"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL til din hjemmeside, blogg, eller profil på annen nettside."
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Beskriv degselv og dine interesser med 140 tegn"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Beskriv degselv og dine interesser med 140 tegn"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Om meg"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr ""
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2650,7 +2669,7 @@ msgstr ""
msgid "New password successfully saved. You are now logged in."
msgstr ""
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2662,7 +2681,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -2679,51 +2698,51 @@ msgstr ""
msgid "Email address already exists."
msgstr ""
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Ugyldig brukernavn eller passord"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 små bokstaver eller nummer, ingen punktum eller mellomrom. Påkrevd."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 eller flere tegn. Påkrevd."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-post"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Lengre navn, helst ditt \"ekte\" navn"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr ""
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2732,7 +2751,7 @@ msgstr ""
"utenom disse private dataene: passord, epost, adresse, lynmeldingsadresse og "
"telefonnummer."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2765,7 +2784,7 @@ msgstr ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3924,23 +3943,28 @@ msgstr ""
msgid "Description"
msgstr "Alle abonnementer"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Klarte ikke å lagre avatar-informasjonen"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -4039,6 +4063,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s sin status på %2$s"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4299,7 +4328,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Klarte ikke å oppdatere bruker med bekreftet e-post."
#: lib/command.php:92
@@ -4307,9 +4336,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr ""
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
-msgstr ""
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
+msgstr "Svar til %s"
#: lib/command.php:126
#, php-format
@@ -4320,27 +4349,47 @@ msgid ""
msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr ""
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Brukeren har ingen profil."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Du er allerede medlem av den gruppen."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Klarte ikke å oppdatere bruker."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s sin status på %2$s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Klarte ikke å oppdatere bruker."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s sin status på %2$s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Fullt navn"
#: lib/command.php:321 lib/mail.php:254
@@ -4358,18 +4407,33 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Direktemeldinger til %s"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Kan ikke slette notisen."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Kan ikke slette notisen."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Nytt nick"
#: lib/command.php:437
@@ -4378,12 +4442,12 @@ msgstr ""
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Svar til %s"
#: lib/command.php:502
@@ -4391,7 +4455,7 @@ msgid "Error saving notice."
msgstr ""
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4400,7 +4464,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4429,53 +4493,48 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Klarte ikke å lagre avatar-informasjonen"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Ikke autorisert."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Ikke autorisert."
msgstr[1] "Ikke autorisert."
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Svar til %s"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Svar til %s"
msgstr[1] "Svar til %s"
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Du er allerede logget inn!"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Du er allerede logget inn!"
msgstr[1] "Du er allerede logget inn!"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5050,12 +5109,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Klarte ikke å lagre profil."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Klarte ikke å lagre profil."
#: lib/noticeform.php:215
@@ -5427,47 +5486,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "noen få sekunder siden"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "omtrent ett minutt siden"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "omtrent %d minutter siden"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "omtrent én time siden"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "omtrent %d timer siden"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "omtrent én dag siden"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "omtrent %d dager siden"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "omtrent én måned siden"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "omtrent %d måneder siden"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "omtrent ett år siden"
@@ -5480,3 +5539,8 @@ msgstr ""
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/nl/LC_MESSAGES/statusnet.po b/locale/nl/LC_MESSAGES/statusnet.po
index 2b66fe049..36906bde7 100644
--- a/locale/nl/LC_MESSAGES/statusnet.po
+++ b/locale/nl/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-11 00:21:09+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:46+0000\n"
"Language-Team: Dutch\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60910); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nl\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "Deze pagina bestaat niet"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -389,7 +389,7 @@ msgstr "Een alias kan niet hetzelfde zijn als de gebruikersnaam."
msgid "Group not found!"
msgstr "De groep is niet aangetroffen!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "U bent al lid van die groep."
@@ -397,7 +397,7 @@ msgstr "U bent al lid van die groep."
msgid "You have been blocked from that group by the admin."
msgstr "Een beheerder heeft ingesteld dat u geen lid mag worden van die groep."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Het was niet mogelijk gebruiker %1$s toe te voegen aan de groep %2$s."
@@ -439,11 +439,11 @@ msgstr "U kunt de status van een andere gebruiker niet verwijderen."
msgid "No such notice."
msgstr "De mededeling bestaat niet."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "U kunt uw eigen mededeling niet herhalen."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "U hebt die mededeling al herhaald."
@@ -616,7 +616,7 @@ msgstr "Uitsnijden"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1814,7 +1814,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "U moet aangemeld zijn om lid te worden van een groep."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s is lid geworden van de groep %2$s"
@@ -1831,62 +1831,58 @@ msgstr "U bent geen lid van deze groep"
msgid "Could not find membership record."
msgstr "Er is geen groepslidmaatschap aangetroffen."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s heeft de groep %2$s verlaten"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "U bent al aangemeld."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Het token is ongeldig of verlopen."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "De gebruikersnaam of wachtwoord is onjuist."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
"Er is een fout opgetreden bij het maken van de instellingen. U hebt "
"waarschijnlijk niet de juiste rechten."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Aanmelden"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Aanmelden"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Gebruikersnaam"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Wachtwoord"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Aanmeldgegevens onthouden"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Voortaan automatisch aanmelden. Niet gebruiken op gedeelde computers!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Wachtwoord kwijt of vergeten?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1894,7 +1890,7 @@ msgstr ""
"Om veiligheidsredenen moet u uw gebruikersnaam en wachtwoord nogmaals "
"invoeren alvorens u uw instellingen kunt wijzigen."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1960,7 +1956,7 @@ msgstr "Stuur geen berichten naar uzelf. Zeg het gewoon in uw hoofd."
msgid "Message sent"
msgstr "Bericht verzonden."
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr "Het directe bericht aan %s is verzonden."
@@ -2056,8 +2052,8 @@ msgstr "inhoudstype "
msgid "Only "
msgstr "Alleen "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Geen ondersteund gegevensformaat."
@@ -2101,6 +2097,31 @@ msgstr "Profielontwerpen weergeven of verbergen"
msgid "URL shortening service is too long (max 50 chars)."
msgstr "De URL voor de verkortingdienst is te lang (maximaal 50 tekens)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Er is geen groep aangegeven."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Er is geen mededeling opgegeven."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Het profiel-ID was niet aanwezig in het verzoek."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Het token is ongeldig of verlopen."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Aanmelden"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2135,7 +2156,7 @@ msgid "6 or more characters"
msgstr "Zes of meer tekens"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Bevestigen"
@@ -2362,42 +2383,42 @@ msgstr "Profielinformatie"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Volledige naam"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Thuispagina"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "De URL van uw thuispagina, blog of profiel bij een andere website"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Geef een beschrijving van uzelf en uw interesses in %d tekens"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Beschrijf uzelf en uw interesses"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Beschrijving"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Locatie"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Waar u bent, bijvoorbeeld \"woonplaats, land\" of \"postcode, land\""
@@ -2717,7 +2738,7 @@ msgstr "Er is een fout opgetreden tijdens het instellen van de gebruiker."
msgid "New password successfully saved. You are now logged in."
msgstr "Het nieuwe wachtwoord is opgeslagen. U bent nu aangemeld."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "U kunt zich alleen registreren als u wordt uitgenodigd."
@@ -2729,7 +2750,7 @@ msgstr "Sorry. De uitnodigingscode is ongeldig."
msgid "Registration successful"
msgstr "De registratie is voltooid"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registreren"
@@ -2746,11 +2767,11 @@ msgstr "U kunt zich niet registreren als u niet met de licentie akkoord gaat."
msgid "Email address already exists."
msgstr "Het e-mailadres bestaat al."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Ongeldige gebruikersnaam of wachtwoord."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2758,40 +2779,40 @@ msgstr ""
"Via dit formulier kunt u een nieuwe gebruiker aanmaken. Daarna kunt u "
"mededelingen uitsturen en contact maken met vrienden en collega's. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties. Verplicht."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "Zes of meer tekens. Verplicht"
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Gelijk aan het wachtwoord hierboven. Verplicht"
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Alleen gebruikt voor updates, aankondigingen en wachtwoordherstel"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Een langere naam, mogelijk uw echte naam"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Mijn teksten en bestanden zijn beschikbaar onder "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Naamsvermelding 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2799,7 +2820,7 @@ msgstr ""
" behalve de volgende privégegevens: wachtwoord, e-mailadres, IM-adres, "
"telefoonnummer."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2833,7 +2854,7 @@ msgstr ""
"Dank u wel voor het registreren en we hopen dat deze dienst u biedt wat u "
"ervan verwacht."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4051,7 +4072,7 @@ msgstr "Auteur(s)"
msgid "Description"
msgstr "Beschrijving"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4060,18 +4081,23 @@ msgstr ""
"Bestanden mogen niet groter zijn dan %d bytes, en uw bestand was %d bytes. "
"Probeer een kleinere versie te uploaden."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
"Een bestand van deze grootte overschijdt uw gebruikersquota van %d bytes."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
"Een bestand van deze grootte overschijdt uw maandelijkse quota van %d bytes."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Het was niet mogelijk een aanmeldtoken aan te maken voor %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "U mag geen directe berichten verzenden."
@@ -4177,6 +4203,11 @@ msgstr "Overige"
msgid "Other options"
msgstr "Overige instellingen"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Naamloze pagina"
@@ -4432,8 +4463,8 @@ msgid "Sorry, this command is not yet implemented."
msgstr "Dit commando is nog niet geïmplementeerd."
#: lib/command.php:88
-#, php-format
-msgid "Could not find a user with nickname %s."
+#, fuzzy, php-format
+msgid "Could not find a user with nickname %s"
msgstr "De gebruiker %s is niet aangetroffen."
#: lib/command.php:92
@@ -4441,8 +4472,8 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr "Het heeft niet zoveel zin om uzelf te porren..."
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
msgstr "De por naar %s is verzonden."
#: lib/command.php:126
@@ -4457,26 +4488,48 @@ msgstr ""
"Mededelingen: %3$s"
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+#, fuzzy
+msgid "Notice with that id does not exist"
msgstr "Er bestaat geen mededeling met dat ID."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
+#, fuzzy
+msgid "User has no last notice"
msgstr "Deze gebruiker heeft geen laatste mededeling."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "De mededeling is op de favorietenlijst geplaatst."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "U bent al lid van die groep."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Het was niet mogelijk gebruiker %1$s toe te voegen aan de groep %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s is lid geworden van de groep %2$s"
+
#: lib/command.php:284
-#, php-format
-msgid "Could not remove user %1$s to group %2$s."
+#, fuzzy, php-format
+msgid "Could not remove user %s to group %s"
msgstr "De gebruiker %1$s kon niet uit de groep %2$s verwijderd worden."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s heeft de groep %2$s verlaten"
+
#: lib/command.php:318
-#, php-format
-msgid "Full name: %s"
+#, fuzzy, php-format
+msgid "Fullname: %s"
msgstr "Volledige naam: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4494,20 +4547,35 @@ msgstr "Thuispagina: %s"
msgid "About: %s"
msgstr "Over: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#: lib/command.php:358
+#, fuzzy, php-format
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"Het bericht te is lang. De maximale lengte is %1$d tekens. De lengte van uw "
"bericht was %2$d."
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Het directe bericht aan %s is verzonden."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Er is een fout opgetreden bij het verzonden van het directe bericht."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "U kunt uw eigen mededeling niet herhalen."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "U hebt die mededeling al herhaald."
+
#: lib/command.php:435
-#, php-format
-msgid "Notice from %s repeated."
+#, fuzzy, php-format
+msgid "Notice from %s repeated"
msgstr "De mededeling van %s is herhaald."
#: lib/command.php:437
@@ -4515,15 +4583,15 @@ msgid "Error repeating notice."
msgstr "Er is een fout opgetreden bij het herhalen van de mededeling."
#: lib/command.php:491
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
"De mededeling is te lang. De maximale lengte is %1$d tekens. Uw mededeling "
"bevatte %2$d tekens."
#: lib/command.php:500
-#, php-format
-msgid "Reply to %s sent."
+#, fuzzy, php-format
+msgid "Reply to %s sent"
msgstr "Het antwoord aan %s is verzonden."
#: lib/command.php:502
@@ -4531,7 +4599,8 @@ msgid "Error saving notice."
msgstr "Er is een fout opgetreden bij het opslaan van de mededeling."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+#, fuzzy
+msgid "Specify the name of the user to subscribe to"
msgstr "Geef de naam op van de gebruiker waarop u wilt abonneren."
#: lib/command.php:563
@@ -4540,7 +4609,8 @@ msgid "Subscribed to %s"
msgstr "Geabonneerd op %s"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+#, fuzzy
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
"Geef de naam op van de gebruiker waarvoor u het abonnement wilt opzeggen."
@@ -4570,52 +4640,48 @@ msgid "Can't turn on notification."
msgstr "Het is niet mogelijk de notificatie uit te schakelen."
#: lib/command.php:650
-msgid "Login command is disabled."
+#, fuzzy
+msgid "Login command is disabled"
msgstr "Het aanmeldcommando is uitgeschakeld."
-#: lib/command.php:664
-#, php-format
-msgid "Could not create login token for %s."
-msgstr "Het was niet mogelijk een aanmeldtoken aan te maken voor %s."
-
-#: lib/command.php:669
-#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+#: lib/command.php:661
+#, fuzzy, php-format
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
"Deze verwijzing kan slechts één keer gebruikt worden en is twee minuten "
"geldig: %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "U bent op geen enkele gebruiker geabonneerd."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "U bent geabonneerd op deze gebruiker:"
msgstr[1] "U bent geabonneerd op deze gebruikers:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Niemand heeft een abonnenment op u."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Deze gebruiker is op u geabonneerd:"
msgstr[1] "Deze gebruikers zijn op u geabonneerd:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "U bent lid van geen enkele groep."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "U bent lid van deze groep:"
msgstr[1] "U bent lid van deze groepen:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5305,11 +5371,13 @@ msgid "Attach a file"
msgstr "Bestand toevoegen"
#: lib/noticeform.php:212
-msgid "Share my location."
+#, fuzzy
+msgid "Share my location"
msgstr "Mijn locatie bekend maken."
#: lib/noticeform.php:214
-msgid "Do not share my location."
+#, fuzzy
+msgid "Do not share my location"
msgstr "Mijn locatie niet bekend maken."
#: lib/noticeform.php:215
@@ -5664,47 +5732,47 @@ msgstr "Bericht"
msgid "Moderate"
msgstr "Modereren"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "een paar seconden geleden"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "ongeveer een minuut geleden"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "ongeveer %d minuten geleden"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "ongeveer een uur geleden"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "ongeveer %d uur geleden"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "ongeveer een dag geleden"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "ongeveer %d dagen geleden"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "ongeveer een maand geleden"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "ongeveer %d maanden geleden"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "ongeveer een jaar geleden"
@@ -5717,3 +5785,10 @@ msgstr "%s is geen geldige kleur."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s is geen geldige kleur. Gebruik drie of zes hexadecimale tekens."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Het bericht te is lang. De maximale lengte is %1$d tekens. De lengte van uw "
+"bericht was %2$d."
diff --git a/locale/nn/LC_MESSAGES/statusnet.po b/locale/nn/LC_MESSAGES/statusnet.po
index 50a2a9d3b..383493bbf 100644
--- a/locale/nn/LC_MESSAGES/statusnet.po
+++ b/locale/nn/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:45+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:39+0000\n"
"Language-Team: Norwegian Nynorsk\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: nn\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "Dette emneord finst ikkje."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -380,7 +380,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Fann ikkje API-metode."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "Du er allereie medlem av den gruppa"
@@ -389,7 +389,7 @@ msgstr "Du er allereie medlem av den gruppa"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Kunne ikkje melde brukaren %s inn i gruppa %s"
@@ -432,12 +432,12 @@ msgstr "Du kan ikkje sletta statusen til ein annan brukar."
msgid "No such notice."
msgstr "Denne notisen finst ikkje."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Kan ikkje slå på notifikasjon."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Slett denne notisen"
@@ -611,7 +611,7 @@ msgstr "Skaler"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1812,7 +1812,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du må være logga inn for å bli med i ei gruppe."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s blei medlem av gruppe %s"
@@ -1829,62 +1829,57 @@ msgstr "Du er ikkje medlem av den gruppa."
msgid "Could not find membership record."
msgstr "Kan ikkje finne brukar."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s forlot %s gruppa"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Allereie logga inn."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Ugyldig notisinnhald"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Feil brukarnamn eller passord"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Ikkje autorisert."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Logg inn"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Logg inn "
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Kallenamn"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Passord"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Hugs meg"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Logg inn automatisk i framtidi (ikkje for delte maskiner)."
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Mista eller gløymd passord?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1892,7 +1887,7 @@ msgstr ""
"Skriv inn brukarnam og passord før du endrar innstillingar (av "
"tryggleiksomsyn)."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1962,7 +1957,7 @@ msgstr ""
msgid "Message sent"
msgstr "Melding"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Direkte melding til %s sendt"
@@ -2054,8 +2049,8 @@ msgstr "Kopla til"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Ikkje eit støtta dataformat."
@@ -2100,6 +2095,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Adressa til forkortingstenesta er for lang (maksimalt 50 teikn)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Ingen vald profil."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Ingen vald profil."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Ingen profil-ID i førespurnaden."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Ugyldig notisinnhald"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Logg inn "
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2134,7 +2154,7 @@ msgid "6 or more characters"
msgstr "6 eller fleire teikn"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Godta"
@@ -2370,43 +2390,43 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"1-64 små bokstavar eller tal, ingen punktum (og liknande) eller mellomrom"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullt namn"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Heimeside"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL til heimesida di, bloggen din, eller ein profil på ei anna side."
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Skriv om deg og interessene dine med 140 teikn"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Skildra deg sjølv og din"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Om meg"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Plassering"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Kvar er du, t.d. «By, Fylke (eller Region), Land»"
@@ -2708,7 +2728,7 @@ msgstr "Feil ved å setja brukar."
msgid "New password successfully saved. You are now logged in."
msgstr "Lagra det nye passordet. Du er logga inn."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Beklage, men kun inviterte kan registrere seg."
@@ -2721,7 +2741,7 @@ msgstr "Feil med stadfestingskode."
msgid "Registration successful"
msgstr "Registreringa gikk bra"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrér"
@@ -2738,53 +2758,53 @@ msgstr "Du kan ikkje registrera deg om du ikkje godtek vilkåra i lisensen."
msgid "Email address already exists."
msgstr "Epostadressa finst allereie."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Ugyldig brukarnamn eller passord."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 små bokstavar eller tal, ingen punktum (og liknande) eller mellomrom. "
"Kravd."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 eller fleire teikn. Kravd."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Samme som passord over. Påkrevd."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Epost"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Blir berre brukt for uppdateringar, viktige meldingar og for gløymde passord"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Lengre namn, fortrinnsvis ditt «ekte» namn"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Teksten og filene mine er tilgjengeleg under "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2793,7 +2813,7 @@ msgstr ""
" unnateke privatdata: passord, epostadresse, ljonmeldingsadresse og "
"telefonnummer."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2825,7 +2845,7 @@ msgstr ""
"\n"
"Takk for at du blei med, og vi håpar du vil lika tenesta!"
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4021,23 +4041,28 @@ msgstr ""
msgid "Description"
msgstr "Beskriving"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Kunne ikkje lagre favoritt."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4139,6 +4164,11 @@ msgstr "Anna"
msgid "Other options"
msgstr "Andre val"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Ingen tittel"
@@ -4410,7 +4440,7 @@ msgstr "Orsak, men kommandoen er ikkje laga enno."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Kan ikkje oppdatera brukar med stadfesta e-postadresse."
#: lib/command.php:92
@@ -4419,7 +4449,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Dytta!"
#: lib/command.php:126
@@ -4432,27 +4462,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Fann ingen profil med den IDen."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Brukaren har ikkje siste notis"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Notis markert som favoritt."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Du er allereie medlem av den gruppa"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Kunne ikkje melde brukaren %s inn i gruppa %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s blei medlem av gruppe %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Kunne ikkje fjerne %s fra %s gruppa "
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s forlot %s gruppa"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Fullt namn: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4470,18 +4520,33 @@ msgstr "Heimeside: %s"
msgid "About: %s"
msgstr "Om: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Melding for lang - maksimum 140 teikn, du skreiv %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Direkte melding til %s sendt"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Ein feil oppstod ved sending av direkte melding."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Kan ikkje slå på notifikasjon."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Slett denne notisen"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Melding lagra"
#: lib/command.php:437
@@ -4491,12 +4556,12 @@ msgstr "Eit problem oppstod ved lagring av notis."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Melding for lang - maksimum 140 teikn, du skreiv %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Svar på denne notisen"
#: lib/command.php:502
@@ -4506,7 +4571,7 @@ msgstr "Eit problem oppstod ved lagring av notis."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Spesifer namnet til brukaren du vil tinge"
#: lib/command.php:563
@@ -4516,7 +4581,7 @@ msgstr "Tingar %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Spesifer namnet til brukar du vil fjerne tinging på"
#: lib/command.php:591
@@ -4545,53 +4610,48 @@ msgid "Can't turn on notification."
msgstr "Kan ikkje slå på notifikasjon."
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Kunne ikkje lagre favoritt."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Du tingar ikkje oppdateringar til den profilen."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Du tingar allereie oppdatering frå desse brukarane:"
msgstr[1] "Du tingar allereie oppdatering frå desse brukarane:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Kan ikkje tinga andre til deg."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Kan ikkje tinga andre til deg."
msgstr[1] "Kan ikkje tinga andre til deg."
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Du er ikkje medlem av den gruppa."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Du er ikkje medlem av den gruppa."
msgstr[1] "Du er ikkje medlem av den gruppa."
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5169,12 +5229,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Kan ikkje lagra merkelapp."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Kan ikkje lagra merkelapp."
#: lib/noticeform.php:215
@@ -5551,47 +5611,47 @@ msgstr "Melding"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "eit par sekund sidan"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "omtrent eitt minutt sidan"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "~%d minutt sidan"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "omtrent ein time sidan"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "~%d timar sidan"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "omtrent ein dag sidan"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "~%d dagar sidan"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "omtrent ein månad sidan"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "~%d månadar sidan"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "omtrent eitt år sidan"
@@ -5604,3 +5664,8 @@ msgstr "Heimesida er ikkje ei gyldig internettadresse."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Melding for lang - maksimum 140 teikn, du skreiv %d"
diff --git a/locale/pl/LC_MESSAGES/statusnet.po b/locale/pl/LC_MESSAGES/statusnet.po
index 694f1a6df..d06e4a119 100644
--- a/locale/pl/LC_MESSAGES/statusnet.po
+++ b/locale/pl/LC_MESSAGES/statusnet.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:51+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:54+0000\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <pl@li.org>\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pl\n"
"X-Message-Group: out-statusnet\n"
@@ -43,7 +43,7 @@ msgstr "Nie ma takiej strony"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -95,14 +95,14 @@ msgstr ""
"wysłać coś samemu."
#: actions/all.php:134
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"Można spróbować [szturchnąć użytkownika %s](../%s) z jego profilu lub "
+"Można spróbować [szturchnąć użytkownika %1$s](../%2$s) z jego profilu lub "
"[wysłać coś wymagającego jego uwagi](%%%%action.newnotice%%%%?"
-"status_textarea=%s)."
+"status_textarea=%3$s)."
#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
#, php-format
@@ -271,7 +271,6 @@ msgid "No status found with that ID."
msgstr "Nie odnaleziono stanów z tym identyfikatorem."
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
msgstr "Ten stan jest już ulubiony."
@@ -280,7 +279,6 @@ msgid "Could not create favorite."
msgstr "Nie można utworzyć ulubionego wpisu."
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
msgstr "Ten stan nie jest ulubiony."
@@ -303,7 +301,6 @@ msgstr ""
"Nie można zrezygnować z obserwacji użytkownika: nie odnaleziono użytkownika."
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
msgstr "Nie można zrezygnować z obserwacji samego siebie."
@@ -389,7 +386,7 @@ msgstr "Alias nie może być taki sam jak pseudonim."
msgid "Group not found!"
msgstr "Nie odnaleziono grupy."
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Jesteś już członkiem tej grupy."
@@ -397,19 +394,19 @@ msgstr "Jesteś już członkiem tej grupy."
msgid "You have been blocked from that group by the admin."
msgstr "Zostałeś zablokowany w tej grupie przez administratora."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
+#, php-format
msgid "Could not join user %1$s to group %2$s."
-msgstr "Nie można dołączyć użytkownika %s do grupy %s."
+msgstr "Nie można dołączyć użytkownika %1$s do grupy %2$s."
#: actions/apigroupleave.php:114
msgid "You are not a member of this group."
msgstr "Nie jesteś członkiem tej grupy."
#: actions/apigroupleave.php:124 actions/leavegroup.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %1$s from group %2$s."
-msgstr "Nie można usunąć użytkownika %s z grupy %s."
+msgstr "Nie można usunąć użytkownika %1$s z grupy %2$s."
#: actions/apigrouplist.php:95
#, php-format
@@ -439,11 +436,11 @@ msgstr "Nie można usuwać stanów innych użytkowników."
msgid "No such notice."
msgstr "Nie ma takiego wpisu."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Nie można powtórzyć własnego wpisu."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Już powtórzono ten wpis."
@@ -475,14 +472,14 @@ msgid "Unsupported format."
msgstr "Nieobsługiwany format."
#: actions/apitimelinefavorites.php:108
-#, fuzzy, php-format
+#, php-format
msgid "%1$s / Favorites from %2$s"
-msgstr "%s/ulubione wpisy od %s"
+msgstr "%1$s/ulubione wpisy od %2$s"
#: actions/apitimelinefavorites.php:120
-#, fuzzy, php-format
+#, php-format
msgid "%1$s updates favorited by %2$s / %2$s."
-msgstr "Użytkownik %s aktualizuje ulubione według %s/%s."
+msgstr "Użytkownik %1$s aktualizuje ulubione według %2$s/%2$s."
#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
#: actions/grouprss.php:131 actions/userrss.php:90
@@ -613,7 +610,7 @@ msgstr "Przytnij"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -709,9 +706,9 @@ msgid "%s blocked profiles"
msgstr "%s zablokowane profile"
#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
msgid "%1$s blocked profiles, page %2$d"
-msgstr "%s zablokowane profile, strona %d"
+msgstr "%1$s zablokowane profile, strona %2$d"
#: actions/blockedfromgroup.php:108
msgid "A list of the users blocked from joining this group."
@@ -986,9 +983,8 @@ msgstr "Musisz być zalogowany, aby utworzyć grupę."
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
msgid "You must be an admin to edit the group."
-msgstr "Musisz być administratorem, aby zmodyfikować grupę"
+msgstr "Musisz być administratorem, aby zmodyfikować grupę."
#: actions/editgroup.php:154
msgid "Use this form to edit the group."
@@ -1012,7 +1008,6 @@ msgid "Options saved."
msgstr "Zapisano opcje."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "Ustawienia adresu e-mail"
@@ -1051,9 +1046,8 @@ msgid "Cancel"
msgstr "Anuluj"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
-msgstr "Adresy e-mail"
+msgstr "Adres e-mail"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
@@ -1354,13 +1348,13 @@ msgid "Block user from group"
msgstr "Zablokuj użytkownika w grupie"
#: actions/groupblock.php:162
-#, fuzzy, php-format
+#, php-format
msgid ""
"Are you sure you want to block user \"%1$s\" from the group \"%2$s\"? They "
"will be removed from the group, unable to post, and unable to subscribe to "
"the group in the future."
msgstr ""
-"Jesteś pewny, że chcesz zablokować użytkownika \"%s\" w grupie \"%s\"? "
+"Jesteś pewny, że chcesz zablokować użytkownika \"%1$s\" w grupie \"%2$s\"? "
"Zostanie usunięty z grupy, nie będzie mógł wysyłać wpisów i subskrybować "
"grupy w przyszłości."
@@ -1414,9 +1408,8 @@ msgid ""
msgstr "Można wysłać obraz logo grupy. Maksymalny rozmiar pliku to %s."
#: actions/grouplogo.php:178
-#, fuzzy
msgid "User without matching profile."
-msgstr "Użytkownik bez odpowiadającego profilu"
+msgstr "Użytkownik bez odpowiadającego profilu."
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
@@ -1436,9 +1429,9 @@ msgid "%s group members"
msgstr "Członkowie grupy %s"
#: actions/groupmembers.php:96
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members, page %2$d"
-msgstr "Członkowie grupy %s, strona %d"
+msgstr "Członkowie grupy %1$s, strona %2$d"
#: actions/groupmembers.php:111
msgid "A list of the users in this group."
@@ -1547,7 +1540,6 @@ msgid "Error removing the block."
msgstr "Błąd podczas usuwania blokady."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
msgstr "Ustawienia komunikatora"
@@ -1579,7 +1571,6 @@ msgstr ""
"znajomych?)."
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
msgstr "Adres komunikatora"
@@ -1795,10 +1786,10 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Musisz być zalogowany, aby dołączyć do grupy."
-#: actions/joingroup.php:135 lib/command.php:239
-#, fuzzy, php-format
+#: actions/joingroup.php:135
+#, php-format
msgid "%1$s joined group %2$s"
-msgstr "Użytkownik %s dołączył do grupy %s"
+msgstr "Użytkownik %1$s dołączył do grupy %2$s"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
@@ -1812,62 +1803,58 @@ msgstr "Nie jesteś członkiem tej grupy."
msgid "Could not find membership record."
msgstr "Nie można odnaleźć wpisu członkostwa."
-#: actions/leavegroup.php:134 lib/command.php:289
-#, fuzzy, php-format
+#: actions/leavegroup.php:134
+#, php-format
msgid "%1$s left group %2$s"
-msgstr "Użytkownik %s opuścił grupę %s"
+msgstr "Użytkownik %1$s opuścił grupę %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Jesteś już zalogowany."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Nieprawidłowy lub wygasły token."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Niepoprawna nazwa użytkownika lub hasło."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Błąd podczas ustawiania użytkownika. Prawdopodobnie brak upoważnienia."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Zaloguj się"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Zaloguj się na stronie"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Pseudonim"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Hasło"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Zapamiętaj mnie"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Automatyczne logowanie. Nie należy używać na komputerach używanych przez "
"wiele osób."
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Zgubione lub zapomniane hasło?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1875,7 +1862,7 @@ msgstr ""
"Z powodów bezpieczeństwa ponownie podaj nazwę użytkownika i hasło przed "
"zmienianiem ustawień."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1889,19 +1876,19 @@ msgid "Only an admin can make another user an admin."
msgstr "Tylko administrator może uczynić innego użytkownika administratorem."
#: actions/makeadmin.php:95
-#, fuzzy, php-format
+#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
-msgstr "Użytkownika %s jest już administratorem grupy \"%s\"."
+msgstr "Użytkownika %1$s jest już administratorem grupy \"%2$s\"."
#: actions/makeadmin.php:132
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
-msgstr "Nie można uzyskać wpisu członkostwa użytkownika %s w grupie %s"
+msgstr "Nie można uzyskać wpisu członkostwa użytkownika %1$s w grupie %2$s."
#: actions/makeadmin.php:145
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "Nie można uczynić %s administratorem grupy %s"
+msgstr "Nie można uczynić %1$s administratorem grupy %2$s."
#: actions/microsummary.php:69
msgid "No current status"
@@ -1941,10 +1928,10 @@ msgstr "Nie wysyłaj wiadomości do siebie, po prostu powiedz to sobie po cichu.
msgid "Message sent"
msgstr "Wysłano wiadomość"
-#: actions/newmessage.php:185 lib/command.php:376
-#, fuzzy, php-format
+#: actions/newmessage.php:185
+#, php-format
msgid "Direct message to %s sent."
-msgstr "Wysłano bezpośrednią wiadomość do użytkownika %s"
+msgstr "Wysłano bezpośrednią wiadomość do użytkownika %s."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -1972,9 +1959,9 @@ msgid "Text search"
msgstr "Wyszukiwanie tekstu"
#: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
msgid "Search results for \"%1$s\" on %2$s"
-msgstr "Wyniki wyszukiwania dla \"%s\" na %s"
+msgstr "Wyniki wyszukiwania dla \"%1$s\" na %2$s"
#: actions/noticesearch.php:121
#, php-format
@@ -2037,8 +2024,8 @@ msgstr "typ zawartości "
msgid "Only "
msgstr "Tylko "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "To nie jest obsługiwany format danych."
@@ -2082,6 +2069,31 @@ msgstr "Wyświetl lub ukryj ustawienia wyglądu profilu."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Adres URL usługi skracania jest za długi (maksymalnie 50 znaków)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Nie podano grupy."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Nie podano wpisu."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Brak identyfikatora profilu w żądaniu."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Nieprawidłowy lub wygasły token."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Zaloguj się na stronie"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2116,7 +2128,7 @@ msgid "6 or more characters"
msgstr "6 lub więcej znaków"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Potwierdź"
@@ -2278,7 +2290,6 @@ msgid "When to use SSL"
msgstr "Kiedy używać SSL"
#: actions/pathsadminpanel.php:308
-#, fuzzy
msgid "SSL server"
msgstr "Serwer SSL"
@@ -2310,18 +2321,18 @@ msgid "Not a valid people tag: %s"
msgstr "Nieprawidłowy znacznik osób: %s"
#: actions/peopletag.php:144
-#, fuzzy, php-format
+#, php-format
msgid "Users self-tagged with %1$s - page %2$d"
-msgstr "Użytkownicy używający znacznika %s - strona %d"
+msgstr "Użytkownicy używający znacznika %1$s - strona %2$d"
#: actions/postnotice.php:84
msgid "Invalid notice content"
msgstr "Nieprawidłowa zawartość wpisu"
#: actions/postnotice.php:90
-#, fuzzy, php-format
+#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
-msgstr "Licencja wpisu \"%s\" nie jest zgodna z licencją strony \"%s\"."
+msgstr "Licencja wpisu \"%1$s\" nie jest zgodna z licencją strony \"%2$s\"."
#: actions/profilesettings.php:60
msgid "Profile settings"
@@ -2342,42 +2353,42 @@ msgstr "Informacje o profilu"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 małe litery lub liczby, bez spacji i znaków przestankowych"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Imię i nazwisko"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Strona domowa"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Adres URL strony domowej, bloga lub profilu na innej stronie"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Opisz się i swoje zainteresowania w %d znakach"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Opisz się i swoje zainteresowania"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "O mnie"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Położenie"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Gdzie jesteś, np. \"miasto, województwo (lub region), kraj\""
@@ -2688,7 +2699,7 @@ msgstr "Błąd podczas ustawiania użytkownika."
msgid "New password successfully saved. You are now logged in."
msgstr "Pomyślnie zapisano nowe hasło. Jesteś teraz zalogowany."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Tylko zaproszone osoby mogą się rejestrować."
@@ -2700,7 +2711,7 @@ msgstr "Nieprawidłowy kod zaproszenia."
msgid "Registration successful"
msgstr "Rejestracja powiodła się"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Zarejestruj się"
@@ -2718,11 +2729,11 @@ msgstr ""
msgid "Email address already exists."
msgstr "Adres e-mail już istnieje."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Nieprawidłowa nazwa użytkownika lub hasło."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2730,41 +2741,41 @@ msgstr ""
"Za pomocą tego formularza można utworzyć nowe konto. Można wtedy wysyłać "
"wpisy i połączyć się z przyjaciółmi i kolegami. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 małe litery lub liczby, bez spacji i znaków przestankowych. Wymagane."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 lub więcej znaków. Wymagane."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Takie samo jak powyższe hasło. Wymagane."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Używane tylko do aktualizacji, ogłoszeń i przywracania hasła"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Dłuższa nazwa, najlepiej twoje \"prawdziwe\" imię i nazwisko"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Moje teksty i pliki są dostępne na "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Uznanie autorstwa 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2772,8 +2783,8 @@ msgstr ""
" poza tymi prywatnymi danymi: hasło, adres e-mail, adres komunikatora i "
"numer telefonu."
-#: actions/register.php:537
-#, fuzzy, php-format
+#: actions/register.php:538
+#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
"want to...\n"
@@ -2790,11 +2801,11 @@ msgid ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-"Gratulacje, %s! Witaj na %%%%site.name%%%%. Stąd można...\n"
+"Gratulacje, %1$s! Witaj na %%%%site.name%%%%. Stąd można...\n"
"\n"
-"* Przejść do [swojego profilu](%s) i wysłać swoją pierwszą wiadomość.\n"
-"* Dodać [adres Jabber/GTalk](%%%%action.imsettings%%%%), abyś mógł wysyłać "
-"wpisy przez komunikatora.\n"
+"* Przejść do [swojego profilu](%2$s) i wysłać swoją pierwszą wiadomość.\n"
+"* Dodać [adres Jabber/GTalk](%%%%action.imsettings%%%%), abyś móc wysyłać "
+"wpisy przez komunikator.\n"
"* [Poszukać osób](%%%%action.peoplesearch%%%%), których możesz znać lub "
"którzy dzielą twoje zainteresowania. \n"
"* Zaktualizować swoje [ustawienia profilu](%%%%action.profilesettings%%%%), "
@@ -2805,7 +2816,7 @@ msgstr ""
"Dziękujemy za zarejestrowanie się i mamy nadzieję, że używanie tej usługi "
"sprawi ci przyjemność."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -2918,13 +2929,13 @@ msgid "Replies feed for %s (Atom)"
msgstr "Kanał odpowiedzi dla użytkownika %s (Atom)"
#: actions/replies.php:198
-#, fuzzy, php-format
+#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-"To jest oś czasu wyświetlająca odpowiedzi na wpisy użytkownika %s, ale %s "
-"nie otrzymał jeszcze wpisów wymagających jego uwagi."
+"To jest oś czasu wyświetlająca odpowiedzi na wpisy użytkownika %1$s, ale %2"
+"$s nie otrzymał jeszcze wpisów wymagających jego uwagi."
#: actions/replies.php:203
#, php-format
@@ -2936,13 +2947,13 @@ msgstr ""
"[dołączyć do grup](%%action.groups%%)."
#: actions/replies.php:205
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"Można spróbować [szturchnąć użytkownika %s](../%s) lub [wysłać coś "
-"wymagającego jego uwagi](%%%%action.newnotice%%%%?status_textarea=%s)."
+"Można spróbować [szturchnąć użytkownika %1$s](../%2$s) lub [wysłać coś "
+"wymagającego jego uwagi](%%%%action.newnotice%%%%?status_textarea=%3$s)."
#: actions/repliesrss.php:72
#, php-format
@@ -3139,9 +3150,9 @@ msgid " tagged %s"
msgstr " ze znacznikiem %s"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Kanał wpisów dla %s ze znacznikiem %s (RSS 1.0)"
+msgstr "Kanał wpisów dla %1$s ze znacznikiem %2$s (RSS 1.0)"
#: actions/showstream.php:129
#, php-format
@@ -3164,10 +3175,10 @@ msgid "FOAF for %s"
msgstr "FOAF dla %s"
#: actions/showstream.php:191
-#, fuzzy, php-format
+#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
msgstr ""
-"To jest oś czasu dla użytkownika %s, ale %s nie nic jeszcze nie wysłał."
+"To jest oś czasu dla użytkownika %1$s, ale %2$s nie nic jeszcze nie wysłał."
#: actions/showstream.php:196
msgid ""
@@ -3178,13 +3189,13 @@ msgstr ""
"teraz jest dobry czas, aby zacząć. :)"
#: actions/showstream.php:198
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-"Można spróbować szturchnąć użytkownika %s lub [wysłać coś, co wymaga jego "
-"uwagi](%%%%action.newnotice%%%%?status_textarea=%s)."
+"Można spróbować szturchnąć użytkownika %1$s lub [wysłać coś, co wymaga jego "
+"uwagi](%%%%action.newnotice%%%%?status_textarea=%2$s)."
#: actions/showstream.php:234
#, php-format
@@ -3233,14 +3244,13 @@ msgid "Site name must have non-zero length."
msgstr "Nazwa strony nie może mieć zerową długość."
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address."
-msgstr "Należy posiadać prawidłowy kontaktowy adres e-mail"
+msgstr "Należy posiadać prawidłowy kontaktowy adres e-mail."
#: actions/siteadminpanel.php:172
-#, fuzzy, php-format
+#, php-format
msgid "Unknown language \"%s\"."
-msgstr "Nieznany język \"%s\""
+msgstr "Nieznany język \"%s\"."
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
@@ -3423,7 +3433,6 @@ msgid "Save site settings"
msgstr "Zapisz ustawienia strony"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
msgstr "Ustawienia SMS"
@@ -3453,7 +3462,6 @@ msgid "Enter the code you received on your phone."
msgstr "Podaj kod, który otrzymałeś na telefonie."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
msgstr "Numer telefonu SMS"
@@ -3545,9 +3553,9 @@ msgid "%s subscribers"
msgstr "Subskrybenci użytkownika %s"
#: actions/subscribers.php:52
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscribers, page %2$d"
-msgstr "Subskrybenci użytkownika %s, strona %d"
+msgstr "Subskrybenci użytkownika %1$s, strona %2$d"
#: actions/subscribers.php:63
msgid "These are the people who listen to your notices."
@@ -3586,9 +3594,9 @@ msgid "%s subscriptions"
msgstr "Subskrypcje użytkownika %s"
#: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscriptions, page %2$d"
-msgstr "Subskrypcje użytkownika %s, strona %d"
+msgstr "Subskrypcje użytkownika %1$s, strona %2$d"
#: actions/subscriptions.php:65
msgid "These are the people whose notices you listen to."
@@ -3717,12 +3725,12 @@ msgid "Unsubscribed"
msgstr "Zrezygnowano z subskrypcji"
#: actions/updateprofile.php:62 actions/userauthorization.php:330
-#, fuzzy, php-format
+#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
msgstr ""
-"Licencja nasłuchiwanego strumienia \"%s\" nie jest zgodna z licencją strony "
-"\"%s\"."
+"Licencja nasłuchiwanego strumienia \"%1$s\" nie jest zgodna z licencją "
+"strony \"%2$s\"."
#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
#: lib/personalgroupnav.php:115
@@ -3877,9 +3885,9 @@ msgstr ""
"Sprawdź w instrukcjach strony, jak w pełni odrzucić subskrypcję."
#: actions/userauthorization.php:296
-#, fuzzy, php-format
+#, php-format
msgid "Listener URI ‘%s’ not found here."
-msgstr "Adres URI nasłuchującego \"%s\" nie został tutaj odnaleziony"
+msgstr "Adres URI nasłuchującego \"%s\" nie został tutaj odnaleziony."
#: actions/userauthorization.php:301
#, php-format
@@ -3941,9 +3949,9 @@ msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
msgstr "Spróbuj [wyszukać grupy](%%action.groupsearch%%) i dołączyć do nich."
#: actions/version.php:73
-#, fuzzy, php-format
+#, php-format
msgid "StatusNet %s"
-msgstr "Statystyki"
+msgstr "StatusNet %s"
#: actions/version.php:153
#, php-format
@@ -3951,15 +3959,16 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
+"Ta strona korzysta z oprogramowania %1$s w wersji %2$s, Copyright 2008-2010 "
+"StatusNet, Inc. i współtwórcy."
#: actions/version.php:157
-#, fuzzy
msgid "StatusNet"
-msgstr "Usunięto stan."
+msgstr "StatusNet"
#: actions/version.php:161
msgid "Contributors"
-msgstr ""
+msgstr "Współtwórcy"
#: actions/version.php:168
msgid ""
@@ -3968,6 +3977,10 @@ msgid ""
"Software Foundation, either version 3 of the License, or (at your option) "
"any later version. "
msgstr ""
+"Program StatusNet jest wolnym oprogramowaniem; można go rozprowadzać dalej i/"
+"lub modyfikować na warunkach Powszechnej Licencji Publicznej Affero GNU, "
+"wydanej przez Fundację Wolnego Oprogramowania (Free Software Foundation) - "
+"według wersji trzeciej tej Licencji lub którejś z późniejszych wersji. "
#: actions/version.php:174
msgid ""
@@ -3976,6 +3989,11 @@ msgid ""
"FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
"for more details. "
msgstr ""
+"Niniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny - "
+"jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI "
+"HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania "
+"bliższych informacji należy zapoznać się z Powszechną Licencją Publiczną "
+"Affero GNU. "
#: actions/version.php:180
#, php-format
@@ -3983,31 +4001,31 @@ msgid ""
"You should have received a copy of the GNU Affero General Public License "
"along with this program. If not, see %s."
msgstr ""
+"Z pewnością wraz z niniejszym programem dostarczono także egzemplarz "
+"Powszechnej Licencji Publicznej Affero GNU (GNU Affero General Public "
+"License); jeśli nie - proszę odwiedzić stronę internetową %s."
#: actions/version.php:189
msgid "Plugins"
-msgstr ""
+msgstr "Wtyczki"
#: actions/version.php:195
-#, fuzzy
msgid "Name"
-msgstr "Pseudonim"
+msgstr "Nazwa"
#: actions/version.php:196 lib/action.php:741
-#, fuzzy
msgid "Version"
-msgstr "Sesje"
+msgstr "Wersja"
#: actions/version.php:197
-#, fuzzy
msgid "Author(s)"
-msgstr "Autor"
+msgstr "Autorzy"
#: actions/version.php:198 lib/groupeditform.php:172
msgid "Description"
msgstr "Opis"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4016,19 +4034,24 @@ msgstr ""
"Żaden plik nie może być większy niż %d bajty, a wysłany plik miał %d bajty. "
"Spróbuj wysłać mniejszą wersję."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
"Plik tej wielkości przekroczyłby przydział użytkownika wynoszący %d bajty."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
"Plik tej wielkości przekroczyłby miesięczny przydział użytkownika wynoszący %"
"d bajty."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Nie można utworzyć tokenów loginów dla %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Zablokowano wysyłanie bezpośrednich wiadomości."
@@ -4128,6 +4151,11 @@ msgstr "Inne"
msgid "Other options"
msgstr "Inne opcje"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Strona bez nazwy"
@@ -4311,9 +4339,8 @@ msgid "You cannot make changes to this site."
msgstr "Nie można wprowadzić zmian strony."
#: lib/adminpanelaction.php:107
-#, fuzzy
msgid "Changes to that panel are not allowed."
-msgstr "Rejestracja nie jest dozwolona."
+msgstr "Zmiany w tym panelu nie są dozwolone."
#: lib/adminpanelaction.php:206
msgid "showForm() not implemented."
@@ -4385,8 +4412,8 @@ msgstr "Te polecenie nie zostało jeszcze zaimplementowane."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
-msgstr "Nie można odnaleźć użytkownika z pseudonimem %s"
+msgid "Could not find a user with nickname %s"
+msgstr "Nie można odnaleźć użytkownika z pseudonimem %s."
#: lib/command.php:92
msgid "It does not make a lot of sense to nudge yourself!"
@@ -4394,8 +4421,8 @@ msgstr "Szturchanie samego siebie nie ma zbyt wiele sensu."
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
-msgstr "Wysłano szturchnięcie do użytkownika %s"
+msgid "Nudge sent to %s"
+msgstr "Wysłano szturchnięcie do użytkownika %s."
#: lib/command.php:126
#, php-format
@@ -4410,27 +4437,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
-msgstr "Wpis z tym identyfikatorem nie istnieje"
+msgid "Notice with that id does not exist"
+msgstr "Wpis z tym identyfikatorem nie istnieje."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
-msgstr "Użytkownik nie posiada ostatniego wpisu"
+msgid "User has no last notice"
+msgstr "Użytkownik nie posiada ostatniego wpisu."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Zaznaczono wpis jako ulubiony."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Jesteś już członkiem tej grupy."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Nie można dołączyć użytkownika %1$s do grupy %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "Użytkownik %1$s dołączył do grupy %2$s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
-msgstr "Nie można usunąć użytkownika %s z grupy %s"
+msgid "Could not remove user %s to group %s"
+msgstr "Nie można usunąć użytkownika %1$s z grupy %2$s."
+
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "Użytkownik %1$s opuścił grupę %2$s"
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Imię i nazwisko: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4448,19 +4495,34 @@ msgstr "Strona domowa: %s"
msgid "About: %s"
msgstr "O mnie: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Wiadomość jest za długa - maksymalnie %d znaków, wysłano %d"
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr "Wiadomość jest za długa - maksymalnie %1$d znaków, wysłano %2$d."
+
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Wysłano bezpośrednią wiadomość do użytkownika %s."
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Błąd podczas wysyłania bezpośredniej wiadomości."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Nie można powtórzyć własnego wpisu."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Już powtórzono ten wpis."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
-msgstr "Powtórzono wpis od użytkownika %s"
+msgid "Notice from %s repeated"
+msgstr "Powtórzono wpis od użytkownika %s."
#: lib/command.php:437
msgid "Error repeating notice."
@@ -4468,13 +4530,13 @@ msgstr "Błąd podczas powtarzania wpisu."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Wpis jest za długi - maksymalnie %d znaków, wysłano %d"
+msgid "Notice too long - maximum is %d characters, you sent %d"
+msgstr "Wpis jest za długi - maksymalnie %1$d znaków, wysłano %2$d."
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
-msgstr "Wysłano odpowiedź do %s"
+msgid "Reply to %s sent"
+msgstr "Wysłano odpowiedź do %s."
#: lib/command.php:502
msgid "Error saving notice."
@@ -4482,8 +4544,8 @@ msgstr "Błąd podczas zapisywania wpisu."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
-msgstr "Podaj nazwę użytkownika do subskrybowania"
+msgid "Specify the name of the user to subscribe to"
+msgstr "Podaj nazwę użytkownika do subskrybowania."
#: lib/command.php:563
#, php-format
@@ -4492,8 +4554,8 @@ msgstr "Subskrybowano użytkownika %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
-msgstr "Podaj nazwę użytkownika do usunięcia subskrypcji"
+msgid "Specify the name of the user to unsubscribe from"
+msgstr "Podaj nazwę użytkownika do usunięcia subskrypcji."
#: lib/command.php:591
#, php-format
@@ -4522,55 +4584,50 @@ msgstr "Nie można włączyć powiadomień."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
-msgstr "Polecenie logowania jest wyłączone"
-
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Nie można utworzyć tokenów loginów dla %s"
+msgid "Login command is disabled"
+msgstr "Polecenie logowania jest wyłączone."
-#: lib/command.php:669
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-"Ten odnośnik można użyć tylko raz i będzie prawidłowy tylko przez dwie "
-"minuty: %s"
+"Tego odnośnika można użyć tylko raz i będzie prawidłowy tylko przez dwie "
+"minuty: %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Nie subskrybujesz nikogo."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Subskrybujesz tę osobę:"
msgstr[1] "Subskrybujesz te osoby:"
msgstr[2] "Subskrybujesz te osoby:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Nikt cię nie subskrybuje."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Ta osoba cię subskrybuje:"
msgstr[1] "Te osoby cię subskrybują:"
msgstr[2] "Te osoby cię subskrybują:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Nie jesteś członkiem żadnej grupy."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Jesteś członkiem tej grupy:"
msgstr[1] "Jesteś członkiem tych grup:"
msgstr[2] "Jesteś członkiem tych grup:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4950,11 +5007,9 @@ msgstr ""
"Zmień adres e-mail lub opcje powiadamiania na %8$s\n"
#: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"O mnie: %s\n"
-"\n"
+msgstr "O mnie: %s"
#: lib/mail.php:286
#, php-format
@@ -5169,9 +5224,9 @@ msgid "Sorry, no incoming email allowed."
msgstr "Przychodzący e-mail nie jest dozwolony."
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Nieobsługiwany format pliku obrazu."
+msgstr "Nieobsługiwany typ wiadomości: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5205,7 +5260,6 @@ msgid "File upload stopped by extension."
msgstr "Wysłanie pliku zostało zatrzymane przez rozszerzenie."
#: lib/mediafile.php:179 lib/mediafile.php:216
-#, fuzzy
msgid "File exceeds user's quota."
msgstr "Plik przekracza przydział użytkownika."
@@ -5214,7 +5268,6 @@ msgid "File could not be moved to destination directory."
msgstr "Nie można przenieść pliku do katalogu docelowego."
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
msgstr "Nie można określić typu MIME pliku."
@@ -5224,7 +5277,7 @@ msgid " Try using another %s format."
msgstr " Spróbuj innego formatu %s."
#: lib/mediafile.php:275
-#, fuzzy, php-format
+#, php-format
msgid "%s is not a supported file type on this server."
msgstr "%s nie jest obsługiwanym typem pliku na tym serwerze."
@@ -5259,17 +5312,17 @@ msgstr "Załącz plik"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
-msgstr "Ujawnij swoją lokalizację"
+msgid "Share my location"
+msgstr "Ujawnij położenie."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
-msgstr "Ujawnij swoją lokalizację"
+msgid "Do not share my location"
+msgstr "Nie ujawniaj położenia."
#: lib/noticeform.php:215
msgid "Hide this info"
-msgstr ""
+msgstr "Ukryj tę informację"
#: lib/noticelist.php:428
#, php-format
@@ -5386,9 +5439,8 @@ msgid "Tags in %s's notices"
msgstr "Znaczniki we wpisach użytkownika %s"
#: lib/plugin.php:114
-#, fuzzy
msgid "Unknown"
-msgstr "Nieznane działanie"
+msgstr "Nieznane"
#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
msgid "Subscriptions"
@@ -5619,47 +5671,47 @@ msgstr "Wiadomość"
msgid "Moderate"
msgstr "Moderuj"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "kilka sekund temu"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "około minutę temu"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "około %d minut temu"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "około godzinę temu"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "około %d godzin temu"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "blisko dzień temu"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "około %d dni temu"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "około miesiąc temu"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "około %d miesięcy temu"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "około rok temu"
@@ -5674,3 +5726,8 @@ msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
"%s nie jest prawidłowym kolorem. Użyj trzech lub sześciu znaków "
"szesnastkowych."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Wiadomość jest za długa - maksymalnie %1$d znaków, wysłano %2$d."
diff --git a/locale/pt/LC_MESSAGES/statusnet.po b/locale/pt/LC_MESSAGES/statusnet.po
index 75b4cd429..0c8f086ba 100644
--- a/locale/pt/LC_MESSAGES/statusnet.po
+++ b/locale/pt/LC_MESSAGES/statusnet.po
@@ -1,7 +1,7 @@
# Translation of StatusNet to Portuguese
#
# Author@translatewiki.net: Hamilton Abreu
-# Author@translatewiki.net: McDutchie
+# Author@translatewiki.net: Ipublicis
# --
# This file is distributed under the same license as the StatusNet package.
#
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:55+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:27:59+0000\n"
"Language-Team: Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Página não encontrada."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -61,17 +61,17 @@ msgstr "%s e amigos"
#: actions/all.php:99
#, php-format
msgid "Feed for friends of %s (RSS 1.0)"
-msgstr "Feed para os amigos de %s (RSS 1.0)"
+msgstr "Fonte para os amigos de %s (RSS 1.0)"
#: actions/all.php:107
#, php-format
msgid "Feed for friends of %s (RSS 2.0)"
-msgstr "Feed para os amigos de %s (RSS 2.0)"
+msgstr "Fonte para os amigos de %s (RSS 2.0)"
#: actions/all.php:115
#, php-format
msgid "Feed for friends of %s (Atom)"
-msgstr "Feed para os amigos de %s (Atom)"
+msgstr "Fonte para os amigos de %s (Atom)"
#: actions/all.php:127
#, php-format
@@ -104,12 +104,12 @@ msgid ""
"Why not [register an account](%%%%action.register%%%%) and then nudge %s or "
"post a notice to his or her attention."
msgstr ""
-"Podia [registar uma conta](%%%%action.register%%%%) e depois dar um toque em "
-"%s ou publicar uma nota à sua atenção."
+"Podia [registar uma conta](%%action.register%%) e depois tocar %s ou "
+"publicar uma nota à sua atenção."
#: actions/all.php:165
msgid "You and friends"
-msgstr "Você e amigos"
+msgstr "Você e seus amigos"
#: actions/allrss.php:119 actions/apitimelinefriends.php:122
#: actions/apitimelinehome.php:122
@@ -161,7 +161,7 @@ msgid ""
"You must specify a parameter named 'device' with a value of one of: sms, im, "
"none"
msgstr ""
-"Tem de especificar um parâmetro 'device' com um dos valores: sms, im, none"
+"Tem de especificar um parâmetro 'aparelho' com um dos valores: sms, im, none"
#: actions/apiaccountupdatedeliverydevice.php:132
msgid "Could not update user."
@@ -201,12 +201,12 @@ msgstr ""
#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220
#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273
msgid "Unable to save your design settings."
-msgstr "Não foi possível gravar as configurações do design."
+msgstr "Não foi possível gravar as configurações do estilo."
#: actions/apiaccountupdateprofilebackgroundimage.php:187
#: actions/apiaccountupdateprofilecolors.php:142
msgid "Could not update your design."
-msgstr "Não foi possível actualizar o seu design."
+msgstr "Não foi possível actualizar o seu estilo."
#: actions/apiblockcreate.php:105
msgid "You cannot block yourself!"
@@ -264,18 +264,16 @@ msgid "No status found with that ID."
msgstr "Nenhum estado encontrado com esse ID."
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
-msgstr "Este estado já é um favorito!"
+msgstr "Este estado já é um favorito."
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
msgid "Could not create favorite."
msgstr "Não foi possível criar o favorito."
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
-msgstr "Esse estado não é um favorito!"
+msgstr "Esse estado não é um favorito."
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
msgid "Could not delete favorite."
@@ -296,13 +294,12 @@ msgstr ""
"Não foi possível deixar de seguir utilizador: Utilizador não encontrado."
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
-msgstr "Não pode deixar de seguir-se a si próprio!"
+msgstr "Não pode deixar de seguir-se a si próprio."
#: actions/apifriendshipsexists.php:94
msgid "Two user ids or screen_names must be supplied."
-msgstr "Devem ser fornecidos dois nomes de utilizador ou alcunhas."
+msgstr "Devem ser fornecidos dois nomes de utilizador ou utilizadors."
#: actions/apifriendshipsshow.php:135
msgid "Could not determine source user."
@@ -316,25 +313,25 @@ msgstr "Não foi possível encontrar o utilizador de destino."
#: actions/newgroup.php:126 actions/profilesettings.php:215
#: actions/register.php:205
msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr "Alcunha só deve conter letras minúsculas e números. Sem espaços."
+msgstr "Utilizador só deve conter letras minúsculas e números. Sem espaços."
#: actions/apigroupcreate.php:173 actions/editgroup.php:186
#: actions/newgroup.php:130 actions/profilesettings.php:238
#: actions/register.php:208
msgid "Nickname already in use. Try another one."
-msgstr "Alcunha já é usada. Tente outra."
+msgstr "Utilizador já é usado. Tente outro."
#: actions/apigroupcreate.php:180 actions/editgroup.php:189
#: actions/newgroup.php:133 actions/profilesettings.php:218
#: actions/register.php:210
msgid "Not a valid nickname."
-msgstr "Alcunha não é válida."
+msgstr "Utilizador não é válido."
#: actions/apigroupcreate.php:196 actions/editgroup.php:195
#: actions/newgroup.php:139 actions/profilesettings.php:222
#: actions/register.php:217
msgid "Homepage is not a valid URL."
-msgstr "Página de acolhimento não é uma URL válida."
+msgstr "Página de ínicio não é uma URL válida."
#: actions/apigroupcreate.php:205 actions/editgroup.php:198
#: actions/newgroup.php:142 actions/profilesettings.php:225
@@ -357,24 +354,24 @@ msgstr "Localidade demasiado longa (máx. 255 caracteres)."
#: actions/newgroup.php:159
#, php-format
msgid "Too many aliases! Maximum %d."
-msgstr "Demasiados cognomes (máx. %d)."
+msgstr "Demasiados sinónimos (máx. %d)."
#: actions/apigroupcreate.php:264 actions/editgroup.php:224
#: actions/newgroup.php:168
#, php-format
msgid "Invalid alias: \"%s\""
-msgstr "Cognome inválido: \"%s\""
+msgstr "Sinónimo inválido: \"%s\""
#: actions/apigroupcreate.php:273 actions/editgroup.php:228
#: actions/newgroup.php:172
#, php-format
msgid "Alias \"%s\" already in use. Try another one."
-msgstr "Cognome \"%s\" já é usado. Tente outro."
+msgstr "Sinónimo \"%s\" já em uso. Tente outro."
#: actions/apigroupcreate.php:286 actions/editgroup.php:234
#: actions/newgroup.php:178
msgid "Alias can't be the same as nickname."
-msgstr "Os cognomes não podem ser iguais à alcunha."
+msgstr "Os sinónimos não podem ser iguais ao nome do utilizador."
#: actions/apigroupismember.php:95 actions/apigroupjoin.php:104
#: actions/apigroupleave.php:104 actions/apigroupmembership.php:91
@@ -382,15 +379,15 @@ msgstr "Os cognomes não podem ser iguais à alcunha."
msgid "Group not found!"
msgstr "Grupo não foi encontrado!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Já é membro desse grupo."
#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221
msgid "You have been blocked from that group by the admin."
-msgstr "Foi bloqueado desse grupo pelo administrador."
+msgstr "Foi bloqueado desse grupo pelo gestor."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
@@ -432,11 +429,11 @@ msgstr "Não pode apagar o estado de outro utilizador."
msgid "No such notice."
msgstr "Nota não encontrada."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Não pode repetir a sua própria nota."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Já repetiu essa nota."
@@ -548,7 +545,7 @@ msgstr "Anexo não encontrado."
#: actions/grouprss.php:91 actions/joingroup.php:76 actions/leavegroup.php:76
#: actions/showgroup.php:121
msgid "No nickname."
-msgstr "Nenhuma alcunha."
+msgstr "Nenhuma utilizador."
#: actions/avatarbynickname.php:64
msgid "No size."
@@ -606,7 +603,7 @@ msgstr "Cortar"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -616,8 +613,7 @@ msgstr "Cortar"
#: actions/unsubscribe.php:69 actions/userauthorization.php:52
#: lib/designsettings.php:294
msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-"Ocorreu um problema com a sua chave de sessão. Por favor, tente novamente."
+msgstr "Ocorreu um problema com a sua sessão. Por favor, tente novamente."
#: actions/avatarsettings.php:281 actions/designadminpanel.php:103
#: actions/emailsettings.php:256 actions/grouplogo.php:319
@@ -844,15 +840,15 @@ msgstr "Apagar este utilizador"
#: actions/designadminpanel.php:62 lib/accountsettingsaction.php:124
#: lib/adminpanelaction.php:316 lib/groupnav.php:119
msgid "Design"
-msgstr "Design"
+msgstr "Estilo"
#: actions/designadminpanel.php:73
msgid "Design settings for this StatusNet site."
-msgstr "Configurações do design deste site StatusNet."
+msgstr "Configurações do estilo deste site StatusNet."
#: actions/designadminpanel.php:275
msgid "Invalid logo URL."
-msgstr "URL do logótipo inválida."
+msgstr "URL do logotipo inválida."
#: actions/designadminpanel.php:279
#, php-format
@@ -861,11 +857,11 @@ msgstr "Tema não está disponível: %s"
#: actions/designadminpanel.php:375
msgid "Change logo"
-msgstr "Alterar logótipo"
+msgstr "Alterar logotipo"
#: actions/designadminpanel.php:380
msgid "Site logo"
-msgstr "Logótipo do site"
+msgstr "Logotipo do site"
#: actions/designadminpanel.php:387
msgid "Change theme"
@@ -923,7 +919,7 @@ msgstr "Conteúdo"
#: actions/designadminpanel.php:523 lib/designsettings.php:204
msgid "Sidebar"
-msgstr "Lateral"
+msgstr "Barra"
#: actions/designadminpanel.php:536 lib/designsettings.php:217
msgid "Text"
@@ -939,7 +935,7 @@ msgstr "Usar predefinições"
#: actions/designadminpanel.php:578 lib/designsettings.php:248
msgid "Restore default designs"
-msgstr "Repor designs predefinidos"
+msgstr "Repor estilos predefinidos"
#: actions/designadminpanel.php:584 lib/designsettings.php:254
msgid "Reset back to default"
@@ -957,7 +953,7 @@ msgstr "Gravar"
#: actions/designadminpanel.php:587 lib/designsettings.php:257
msgid "Save design"
-msgstr "Gravar o design"
+msgstr "Gravar o estilo"
#: actions/disfavor.php:81
msgid "This notice is not a favorite!"
@@ -982,9 +978,8 @@ msgstr "Tem de iniciar uma sessão para criar o grupo."
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
msgid "You must be an admin to edit the group."
-msgstr "Tem de ser administrador para editar o grupo"
+msgstr "Tem de ser administrador para editar o grupo."
#: actions/editgroup.php:154
msgid "Use this form to edit the group."
@@ -993,7 +988,7 @@ msgstr "Use este formulário para editar o grupo."
#: actions/editgroup.php:201 actions/newgroup.php:145
#, php-format
msgid "description is too long (max %d chars)."
-msgstr "descrição é demasiada extensa (máx. 140 caracteres)."
+msgstr "descrição é demasiada extensa (máx. %d caracteres)."
#: actions/editgroup.php:253
msgid "Could not update group."
@@ -1001,21 +996,20 @@ msgstr "Não foi possível actualizar o grupo."
#: actions/editgroup.php:259 classes/User_group.php:390
msgid "Could not create aliases."
-msgstr "Não foi possível criar cognomes."
+msgstr "Não foi possível criar sinónimos."
#: actions/editgroup.php:269
msgid "Options saved."
msgstr "Opções gravadas."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "Configurações do correio electrónico"
#: actions/emailsettings.php:71
#, php-format
msgid "Manage how you get email from %%site.name%%."
-msgstr "Defina como receberá mensagens electrónicas do site %%site.name%%."
+msgstr "Defina como receberá mensagens electrónicas de %%site.name%%."
#: actions/emailsettings.php:100 actions/imsettings.php:100
#: actions/smssettings.php:104
@@ -1037,7 +1031,7 @@ msgid ""
"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
"a message with further instructions."
msgstr ""
-"A aguardar a confirmação deste endereço. Procure na sua caixa de entrada (e "
+"A aguardar a confirmação deste endereço. Procure na sua caixa de entrada (ou "
"na caixa de spam!) uma mensagem com mais instruções."
#: actions/emailsettings.php:117 actions/imsettings.php:120
@@ -1046,14 +1040,13 @@ msgid "Cancel"
msgstr "Cancelar"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
-msgstr "Endereços de correio electrónico"
+msgstr "Endereço de correio electrónico"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
msgstr ""
-"Endereço de correio electrónico, por ex. \"nomedeutilizador@example.org\""
+"Endereço de correio electrónico, por ex. \"nomedeutilizador@exemplo.pt\""
#: actions/emailsettings.php:126 actions/imsettings.php:133
#: actions/smssettings.php:145
@@ -1103,7 +1096,7 @@ msgstr ""
#: actions/emailsettings.php:179
msgid "Allow friends to nudge me and send me an email."
-msgstr "Permitir que amigos me dêm toques e enviem mensagens electrónicas."
+msgstr "Permitir que amigos me toquem e enviem mensagens electrónicas."
#: actions/emailsettings.php:185
msgid "I want to post notices by email."
@@ -1213,7 +1206,7 @@ msgstr "Notas populares, página %d"
#: actions/favorited.php:79
msgid "The most popular notices on the site right now."
-msgstr "As notas mais populares do site nesta altura."
+msgstr "As notas mais populares agora."
#: actions/favorited.php:150
msgid "Favorite notices appear on this page but no one has favorited one yet."
@@ -1226,7 +1219,7 @@ msgid ""
"next to any notice you like."
msgstr ""
"Seja a primeira pessoa a adicionar uma nota às favoritas, clicando o botão "
-"de favorecimento correspondente a uma nota de que goste."
+"de marcação correspondente a uma nota de que goste."
#: actions/favorited.php:156
#, php-format
@@ -1246,7 +1239,7 @@ msgstr "Notas favoritas de %s"
#: actions/favoritesrss.php:115
#, php-format
msgid "Updates favored by %1$s on %2$s!"
-msgstr "Actualizações favorecidas por %1$s em %2$s!"
+msgstr "Actualizações marcadas por %1$s em %2$s!"
#: actions/featured.php:69 lib/featureduserssection.php:87
#: lib/publicgroupnav.php:89
@@ -1265,7 +1258,7 @@ msgstr "Uma selecção dos melhores utilizadores no %s"
#: actions/file.php:34
msgid "No notice ID."
-msgstr "Sem identificação (ID) de nota."
+msgstr "Sem identificação de nota."
#: actions/file.php:38
msgid "No notice."
@@ -1338,7 +1331,7 @@ msgstr "Não foi especificado um grupo."
#: actions/groupblock.php:91
msgid "Only an admin can block group members."
-msgstr "Só um administrador pode bloquear membros de um grupo."
+msgstr "Só um gestor pode bloquear membros de um grupo."
#: actions/groupblock.php:95
msgid "User is already blocked from group."
@@ -1385,7 +1378,7 @@ msgstr "Precisa de iniciar sessão para editar um grupo."
#: actions/groupdesignsettings.php:141
msgid "Group design"
-msgstr "Design do grupo"
+msgstr "Estilo do grupo"
#: actions/groupdesignsettings.php:152
msgid ""
@@ -1398,40 +1391,39 @@ msgstr ""
#: actions/groupdesignsettings.php:263 actions/userdesignsettings.php:186
#: lib/designsettings.php:391 lib/designsettings.php:413
msgid "Couldn't update your design."
-msgstr "Não foi possível actualizar o design."
+msgstr "Não foi possível actualizar o estilo."
#: actions/groupdesignsettings.php:308 actions/userdesignsettings.php:231
msgid "Design preferences saved."
-msgstr "Preferências do design foram gravadas."
+msgstr "Preferências de estilo foram gravadas."
#: actions/grouplogo.php:139 actions/grouplogo.php:192
msgid "Group logo"
-msgstr "Logótipo do grupo"
+msgstr "Logotipo do grupo"
#: actions/grouplogo.php:150
#, php-format
msgid ""
"You can upload a logo image for your group. The maximum file size is %s."
msgstr ""
-"Pode carregar uma imagem para logótipo do seu grupo. O tamanho máximo do "
+"Pode carregar uma imagem para logotipo do seu grupo. O tamanho máximo do "
"ficheiro é %s."
#: actions/grouplogo.php:178
-#, fuzzy
msgid "User without matching profile."
-msgstr "Utilizador sem perfil correspondente"
+msgstr "Utilizador sem perfil correspondente."
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
-msgstr "Escolha uma área quadrada da imagem para ser o logótipo."
+msgstr "Escolha uma área quadrada da imagem para ser o logotipo."
#: actions/grouplogo.php:396
msgid "Logo updated."
-msgstr "Logótipo actualizado."
+msgstr "Logotipo actualizado."
#: actions/grouplogo.php:398
msgid "Failed updating logo."
-msgstr "Não foi possível actualizar o logótipo."
+msgstr "Não foi possível actualizar o logotipo."
#: actions/groupmembers.php:93 lib/groupnav.php:92
#, php-format
@@ -1449,7 +1441,7 @@ msgstr "Uma lista dos utilizadores neste grupo."
#: actions/groupmembers.php:175 lib/action.php:442 lib/groupnav.php:107
msgid "Admin"
-msgstr "Admin"
+msgstr "Gestor"
#: actions/groupmembers.php:346 lib/blockform.php:69
msgid "Block"
@@ -1457,15 +1449,15 @@ msgstr "Bloquear"
#: actions/groupmembers.php:441
msgid "Make user an admin of the group"
-msgstr "Tornar utilizador o administrador do grupo"
+msgstr "Tornar utilizador o gestor do grupo"
#: actions/groupmembers.php:473
msgid "Make Admin"
-msgstr "Tornar Admin"
+msgstr "Tornar Gestor"
#: actions/groupmembers.php:473
msgid "Make this user an admin"
-msgstr "Tornar este utilizador um administrador"
+msgstr "Tornar este utilizador um gestor"
#: actions/grouprss.php:133
#, php-format
@@ -1491,11 +1483,11 @@ msgid ""
"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup"
"%%%%)"
msgstr ""
-"Os grupos no site %%%%site.name%%%% permitem-lhe encontrar e falar com "
-"pessoas que têm interesses semelhantes aos seus. Após juntar-se a um grupo, "
-"pode enviar mensagens a outros membros usando a sintaxe \"!groupname\". Não "
-"encontra nenhum grupo de que gosta? Tente [pesquisar um grupo](%%%%action."
-"groupsearch%%%%) ou [crie o seu!](%%%%action.newgroup%%%%)"
+"Os grupos no site %%site.name%% permitem-lhe encontrar e falar com pessoas "
+"que têm interesses semelhantes aos seus. Após juntar-se a um grupo, pode "
+"enviar mensagens a outros membros usando a sintaxe \"!groupname\". Não "
+"encontra nenhum grupo de que gosta? Tente [pesquisar um grupo](%%action."
+"groupsearch%%) ou [crie o seu!](%%action.newgroup%%)"
#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
msgid "Create a new group"
@@ -1539,7 +1531,7 @@ msgstr ""
#: actions/groupunblock.php:91
msgid "Only an admin can unblock group members."
-msgstr "Só um administrador pode desbloquear membros de um grupo."
+msgstr "Só um gestor pode desbloquear membros de um grupo."
#: actions/groupunblock.php:95
msgid "User is not blocked from group."
@@ -1550,9 +1542,8 @@ msgid "Error removing the block."
msgstr "Erro ao remover o bloqueio."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
-msgstr "Definições de IM"
+msgstr "Configurações do IM"
#: actions/imsettings.php:70
#, php-format
@@ -1565,7 +1556,7 @@ msgstr ""
#: actions/imsettings.php:89
msgid "IM is not available."
-msgstr "IM não está disponível."
+msgstr "MI não está disponível."
#: actions/imsettings.php:106
msgid "Current confirmed Jabber/GTalk address."
@@ -1582,7 +1573,6 @@ msgstr ""
"amigos?)"
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
msgstr "Endereço IM"
@@ -1592,9 +1582,9 @@ msgid ""
"Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
"add %s to your buddy list in your IM client or on GTalk."
msgstr ""
-"Endereço Jabber ou GTalk, por exemplo \"NomeDeUtilizador@example.org\". "
+"Endereço Jabber ou GTalk, por exemplo \"NomeDeUtilizador@exemplo.pt\". "
"Primeiro, certifique-se de que adicionou %s à sua lista de amigos no cliente "
-"IM ou no GTalk."
+"MI ou no GTalk."
#: actions/imsettings.php:143
msgid "Send me notices through Jabber/GTalk."
@@ -1639,7 +1629,7 @@ msgid ""
"s for sending messages to you."
msgstr ""
"Um código de confirmação foi enviado para o endereço fornecido. Tem que "
-"aprovar que %s envie mensagens para sí."
+"aprovar que %s envie mensagens para si."
#: actions/imsettings.php:387
msgid "That is not your Jabber ID."
@@ -1658,7 +1648,7 @@ msgstr ""
#: actions/invite.php:39
msgid "Invites have been disabled."
-msgstr "Convites foram impossibilitados."
+msgstr "Convites foram desabilitados."
#: actions/invite.php:41
#, php-format
@@ -1674,7 +1664,7 @@ msgstr "Endereço electrónico inválido: %s"
#: actions/invite.php:110
msgid "Invitation(s) sent"
-msgstr "Contive(s) enviado(s)"
+msgstr "Convite(s) enviado(s)"
#: actions/invite.php:112
msgid "Invite new users"
@@ -1798,7 +1788,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Precisa de iniciar uma sessão para se juntar a um grupo."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s juntou-se ao grupo %2$s"
@@ -1815,81 +1805,77 @@ msgstr "Não é um membro desse grupo."
msgid "Could not find membership record."
msgstr "Não foi encontrado um registo de membro de grupo."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s deixou o grupo %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Sessão já foi iniciada."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Chave inválida ou expirada."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
-msgstr "Nome de utilizador ou palavra-chave incorrectos."
+msgstr "Nome de utilizador ou senha incorrectos."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Erro ao preparar o utilizador. Provavelmente não está autorizado."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Entrar"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Iniciar sessão no site"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
-msgstr "Alcunha"
+msgstr "Utilizador"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
-msgstr "Palavra-chave"
+msgstr "Senha"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Lembrar-me neste computador"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"De futuro, iniciar sessão automaticamente. Não usar em computadores "
"partilhados!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
-msgstr "Perdeu ou esqueceu-se da palavra-chave?"
+msgstr "Perdeu ou esqueceu-se da senha?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-"Por razões de segurança, por favor reintroduza o seu nome de utilizador e "
-"palavra-chave antes de alterar as configurações."
+"Por razões de segurança, por favor re-introduza o seu nome de utilizador e "
+"senha antes de alterar as configurações."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
"(%%action.register%%) a new account."
msgstr ""
-"Entrar com o seu nome de utilizador e palavra-chave. Ainda não está "
-"registado? [Registe](%%action.register%%) uma conta."
+"Entrar com o seu nome de utilizador e senha. Ainda não está registado? "
+"[Registe](%%action.register%%) uma conta."
#: actions/makeadmin.php:91
msgid "Only an admin can make another user an admin."
-msgstr "Só um administrador pode tornar outro utilizador num administrador."
+msgstr "Só um gestor pode tornar outro utilizador num gestor."
#: actions/makeadmin.php:95
#, php-format
@@ -1897,14 +1883,14 @@ msgid "%1$s is already an admin for group \"%2$s\"."
msgstr "%1$s já é um administrador do grupo \"%2$s\"."
#: actions/makeadmin.php:132
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
-msgstr "Não existe registo de %1$s ter entrado no grupo %2$s"
+msgstr "Não existe registo de %1$s ter entrado no grupo %2$s."
#: actions/makeadmin.php:145
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "Não é possível tornar %1$s administrador do grupo %2$s"
+msgstr "Não é possível tornar %1$s administrador do grupo %2$s."
#: actions/microsummary.php:69
msgid "No current status"
@@ -1944,10 +1930,10 @@ msgstr "Não auto-envie uma mensagem; basta lê-la baixinho a si próprio."
msgid "Message sent"
msgstr "Mensagem enviada"
-#: actions/newmessage.php:185 lib/command.php:376
-#, fuzzy, php-format
+#: actions/newmessage.php:185
+#, php-format
msgid "Direct message to %s sent."
-msgstr "Mensagem directa para %s enviada"
+msgstr "Mensagem directa para %s foi enviada."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -1985,7 +1971,7 @@ msgid ""
"Be the first to [post on this topic](%%%%action.newnotice%%%%?"
"status_textarea=%s)!"
msgstr ""
-"Seja o primeiro a [publicar neste tópico](%%%%action.newnotice%%%%?"
+"Seja o primeiro a [publicar neste tópico](%%action.newnotice%%?"
"status_textarea=%s)!"
#: actions/noticesearch.php:124
@@ -1994,8 +1980,8 @@ msgid ""
"Why not [register an account](%%%%action.register%%%%) and be the first to "
"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!"
msgstr ""
-"Podia [registar uma conta](%%%%action.register%%%%) e ser a primeira pessoa "
-"a [publicar neste tópico](%%%%action.newnotice%%%%?status_textarea=%s)!"
+"Podia [registar uma conta](%%action.register%%) e ser a primeira pessoa a "
+"[publicar neste tópico](%%action.newnotice%%?status_textarea=%s)!"
#: actions/noticesearchrss.php:96
#, php-format
@@ -2011,7 +1997,7 @@ msgstr "Actualizações que contêm o termo \"%1$s\" em %2$s!"
msgid ""
"This user doesn't allow nudges or hasn't confirmed or set his email yet."
msgstr ""
-"Este utilizador não aceita toques ou ainda não forneceu ou confirmou o "
+"Este utilizador não aceita toques ou ainda não confirmou ou forneceu o "
"endereço electrónico."
#: actions/nudge.php:94
@@ -2039,8 +2025,8 @@ msgstr "tipo de conteúdo "
msgid "Only "
msgstr "Apenas "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Formato de dados não suportado."
@@ -2066,23 +2052,48 @@ msgstr " (serviço gratuito)"
#: actions/othersettings.php:116
msgid "Shorten URLs with"
-msgstr "Compactar URLs com"
+msgstr "Encurtar URLs com"
#: actions/othersettings.php:117
msgid "Automatic shortening service to use."
-msgstr "Serviço de compactação automática que será usado"
+msgstr "Serviço de encurtamento que será usado automaticamente"
#: actions/othersettings.php:122
msgid "View profile designs"
-msgstr "Ver designs para o perfil"
+msgstr "Ver estilos para o perfil"
#: actions/othersettings.php:123
msgid "Show or hide profile designs."
-msgstr "Mostrar ou esconder designs para o perfil."
+msgstr "Mostrar ou esconder estilos para o perfil."
#: actions/othersettings.php:153
msgid "URL shortening service is too long (max 50 chars)."
-msgstr "Serviço de compactação de URLs demasiado extenso (máx. 50 caracteres)"
+msgstr "Serviço de encurtamento de URLs demasiado extenso (máx. 50 caracteres)"
+
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Não foi especificado um grupo."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Nota não foi especificada."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "O pedido não tem a identificação do perfil."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Chave inválida ou expirada."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Iniciar sessão no site"
#: actions/outbox.php:61
#, php-format
@@ -2096,15 +2107,15 @@ msgstr ""
#: actions/passwordsettings.php:58
msgid "Change password"
-msgstr "Modificar palavra-chave"
+msgstr "Modificar senha"
#: actions/passwordsettings.php:69
msgid "Change your password."
-msgstr "Modificar a sua palavra-chave."
+msgstr "Modificar a sua senha."
#: actions/passwordsettings.php:96 actions/recoverpassword.php:231
msgid "Password change"
-msgstr "Mudança da palavra-chave"
+msgstr "Mudança da senha"
#: actions/passwordsettings.php:104
msgid "Old password"
@@ -2119,13 +2130,13 @@ msgid "6 or more characters"
msgstr "6 ou mais caracteres"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmação"
#: actions/passwordsettings.php:113 actions/recoverpassword.php:240
msgid "Same as password above"
-msgstr "Repita a palavra-chave nova"
+msgstr "Repita a senha nova"
#: actions/passwordsettings.php:117
msgid "Change"
@@ -2133,15 +2144,15 @@ msgstr "Modificar"
#: actions/passwordsettings.php:154 actions/register.php:230
msgid "Password must be 6 or more characters."
-msgstr "Palavra-chave tem de ter 6 ou mais caracteres."
+msgstr "Senha tem de ter 6 ou mais caracteres."
#: actions/passwordsettings.php:157 actions/register.php:233
msgid "Passwords don't match."
-msgstr "Palavras-chave não coincidem."
+msgstr "Senhas não coincidem."
#: actions/passwordsettings.php:165
msgid "Incorrect old password"
-msgstr "Palavra-chave antiga incorrecta."
+msgstr "Senha antiga incorrecta."
#: actions/passwordsettings.php:181
msgid "Error saving user; invalid."
@@ -2149,11 +2160,11 @@ msgstr "Erro ao guardar utilizador; inválido."
#: actions/passwordsettings.php:186 actions/recoverpassword.php:368
msgid "Can't save new password."
-msgstr "Não é possível guardar a nova palavra-chave."
+msgstr "Não é possível guardar a nova senha."
#: actions/passwordsettings.php:192 actions/recoverpassword.php:211
msgid "Password saved."
-msgstr "Palavra-chave gravada."
+msgstr "Senha gravada."
#: actions/pathsadminpanel.php:59 lib/adminpanelaction.php:326
msgid "Paths"
@@ -2181,7 +2192,7 @@ msgstr "Sem acesso de escrita no directório do fundo: %s"
#: actions/pathsadminpanel.php:160
#, php-format
msgid "Locales directory not readable: %s"
-msgstr "Sem acesso de leitura ao directório do locales: %s"
+msgstr "Sem acesso de leitura ao directório de idiomas: %s"
#: actions/pathsadminpanel.php:166
msgid "Invalid SSL server. The maximum length is 255 characters."
@@ -2202,11 +2213,11 @@ msgstr "Localização do site"
#: actions/pathsadminpanel.php:225
msgid "Path to locales"
-msgstr "Localização do locales"
+msgstr "Localização de idiomas"
#: actions/pathsadminpanel.php:225
msgid "Directory path to locales"
-msgstr "Localização do directório do locales"
+msgstr "Localização do directório de idiomas"
#: actions/pathsadminpanel.php:232
msgid "Theme"
@@ -2246,15 +2257,15 @@ msgstr "Fundos"
#: actions/pathsadminpanel.php:278
msgid "Background server"
-msgstr "Servidor do fundo"
+msgstr "Servidor de fundos"
#: actions/pathsadminpanel.php:282
msgid "Background path"
-msgstr "Localização do fundo"
+msgstr "Localização dos fundos"
#: actions/pathsadminpanel.php:286
msgid "Background directory"
-msgstr "Directório do fundo"
+msgstr "Directório dos fundos"
#: actions/pathsadminpanel.php:293
msgid "SSL"
@@ -2281,7 +2292,6 @@ msgid "When to use SSL"
msgstr "Quando usar SSL"
#: actions/pathsadminpanel.php:308
-#, fuzzy
msgid "SSL server"
msgstr "Servidor SSL"
@@ -2346,49 +2356,48 @@ msgstr "Informação do perfil"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 letras minúsculas ou números, sem pontuação ou espaços"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome completo"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
-msgstr "Página de acolhimento"
+msgstr "Página pessoal"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
-msgstr ""
-"URL da sua página de acolhimento, blogue ou perfil noutro site na internet"
+msgstr "URL da sua página pessoal, blogue ou perfil noutro site na internet"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Descreva-se e aos seus interesses (máx. 140 caracteres)"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Descreva-se e aos seus interesses"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografia"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Localidade"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Onde está, por ex. \"Cidade, Região, País\""
#: actions/profilesettings.php:138
msgid "Share my current location when posting notices"
-msgstr "Partilhar a minha localização presente ao publicar notas"
+msgstr "Compartilhar a minha localização presente ao publicar notas"
#: actions/profilesettings.php:145 actions/tagother.php:149
#: actions/tagother.php:209 lib/subscriptionlist.php:106
@@ -2405,11 +2414,11 @@ msgstr ""
#: actions/profilesettings.php:151 actions/siteadminpanel.php:294
msgid "Language"
-msgstr "Língua"
+msgstr "Idioma"
#: actions/profilesettings.php:152
msgid "Preferred language"
-msgstr "Língua preferida"
+msgstr "Idioma preferido"
#: actions/profilesettings.php:161
msgid "Timezone"
@@ -2422,8 +2431,7 @@ msgstr "Em que fuso horário se encontra normalmente?"
#: actions/profilesettings.php:167
msgid ""
"Automatically subscribe to whoever subscribes to me (best for non-humans)"
-msgstr ""
-"Subscrever automaticamente quem me subscreva (óptimo para seres não-humanos)"
+msgstr "Subscrever automaticamente quem me subscreva (óptimo para não-humanos)"
#: actions/profilesettings.php:228 actions/register.php:223
#, php-format
@@ -2436,7 +2444,7 @@ msgstr "Fuso horário não foi seleccionado."
#: actions/profilesettings.php:241
msgid "Language is too long (max 50 chars)."
-msgstr "Língua é demasiado extensa (máx. 50 caracteres)."
+msgstr "Idioma é demasiado extenso (máx. 50 caracteres)."
#: actions/profilesettings.php:253 actions/tagother.php:178
#, php-format
@@ -2483,15 +2491,15 @@ msgstr "Notas públicas"
#: actions/public.php:151
msgid "Public Stream Feed (RSS 1.0)"
-msgstr "Feed de Notas Públicas (RSS 1.0)"
+msgstr "Fonte de Notas Públicas (RSS 1.0)"
#: actions/public.php:155
msgid "Public Stream Feed (RSS 2.0)"
-msgstr "Feed de Notas Públicas (RSS 2.0)"
+msgstr "Fonte de Notas Públicas (RSS 2.0)"
#: actions/public.php:159
msgid "Public Stream Feed (Atom)"
-msgstr "Feed de Notas Públicas (Atom)"
+msgstr "Fonte de Notas Públicas (Atom)"
#: actions/public.php:179
#, php-format
@@ -2522,11 +2530,10 @@ msgid ""
"tool. [Join now](%%action.register%%) to share notices about yourself with "
"friends, family, and colleagues! ([Read more](%%doc.help%%))"
msgstr ""
-"Este é o site %%%%site.name%%%%, um serviço de [microblogues](http://en."
-"wikipedia.org/wiki/Micro-blogging) baseado na aplicação de Software Livre "
-"[StatusNet](http://status.net/). [Registe-se agora](%%%%action.register%%%%) "
-"para partilhar notas sobre si, família e amigos! ([Saber mais](%%%%doc.help%%"
-"%%))"
+"Este é o site %%site.name%%, um serviço de [microblogues](http://en."
+"wikipedia.org/wiki/Micro-blogging) baseado no programa de Software Livre "
+"[StatusNet](http://status.net/). [Registe-se agora](%%action.register%%) "
+"para partilhar notas sobre si, família e amigos! ([Saber mais](%%doc.help%%))"
#: actions/public.php:238
#, php-format
@@ -2535,8 +2542,8 @@ msgid ""
"blogging) service based on the Free Software [StatusNet](http://status.net/) "
"tool."
msgstr ""
-"Este é o site %%%%site.name%%%%, um serviço de [microblogues](http://en."
-"wikipedia.org/wiki/Micro-blogging) baseado na aplicação de Software Livre "
+"Este é o site %%site.name%%, um serviço de [microblogues](http://en."
+"wikipedia.org/wiki/Micro-blogging) baseado no programa de Software Livre "
"[StatusNet](http://status.net/)."
#: actions/publictagcloud.php:57
@@ -2551,9 +2558,7 @@ msgstr "Estas são as categorias recentes mais populares em %s "
#: actions/publictagcloud.php:69
#, php-format
msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet."
-msgstr ""
-"Ainda ninguém publicou uma nota com uma categoria de resumo [hashtag](%%doc."
-"tags%%)."
+msgstr "Ainda ninguém publicou uma nota com uma [categoria](%%doc.tags%%)."
#: actions/publictagcloud.php:72
msgid "Be the first to post one!"
@@ -2607,24 +2612,25 @@ msgid ""
"If you have forgotten or lost your password, you can get a new one sent to "
"the email address you have stored in your account."
msgstr ""
-"Se perdeu ou se esqueceu da sua palavra-chave, podemos enviar-lhe uma nova "
-"para o correio electrónico registado na sua conta."
+"Se perdeu ou se esqueceu da sua senha, podemos enviar-lhe uma nova para o "
+"correio electrónico registado na sua conta."
#: actions/recoverpassword.php:158
msgid "You have been identified. Enter a new password below. "
-msgstr "Identificação positiva. Introduza abaixo uma palavra-chave nova. "
+msgstr "Identificação positiva. Introduza abaixo uma senha nova. "
#: actions/recoverpassword.php:188
msgid "Password recovery"
-msgstr "Recuperação da palavra-chave"
+msgstr "Recuperação da senha"
#: actions/recoverpassword.php:191
msgid "Nickname or email address"
-msgstr "Alcunha ou endereço de correio electrónico"
+msgstr "Utilizador ou endereço de correio electrónico"
#: actions/recoverpassword.php:193
msgid "Your nickname on this server, or your registered email address."
-msgstr "A sua alcunha neste servidor, ou o seu correio electrónico registado."
+msgstr ""
+"A sua utilizador neste servidor, ou o seu correio electrónico registado."
#: actions/recoverpassword.php:199 actions/recoverpassword.php:200
msgid "Recover"
@@ -2632,15 +2638,15 @@ msgstr "Recuperar"
#: actions/recoverpassword.php:208
msgid "Reset password"
-msgstr "Reiniciar palavra-chave"
+msgstr "Reiniciar senha"
#: actions/recoverpassword.php:209
msgid "Recover password"
-msgstr "Recuperar palavra-chave"
+msgstr "Recuperar senha"
#: actions/recoverpassword.php:210 actions/recoverpassword.php:322
msgid "Password recovery requested"
-msgstr "Solicitada recuperação da palavra-chave"
+msgstr "Solicitada recuperação da senha"
#: actions/recoverpassword.php:213
msgid "Unknown action"
@@ -2656,7 +2662,7 @@ msgstr "Reiniciar"
#: actions/recoverpassword.php:252
msgid "Enter a nickname or email address."
-msgstr "Introduza uma alcunha ou um endereço de correio electrónico."
+msgstr "Introduza uma utilizador ou um endereço de correio electrónico."
#: actions/recoverpassword.php:272
msgid "No user with that email address or username."
@@ -2676,20 +2682,20 @@ msgid ""
"Instructions for recovering your password have been sent to the email "
"address registered to your account."
msgstr ""
-"Instruções para recuperação da sua palavra-chave foram enviadas para o "
-"correio electrónico registado na sua conta."
+"Instruções para recuperação da sua senha foram enviadas para o correio "
+"electrónico registado na sua conta."
#: actions/recoverpassword.php:344
msgid "Unexpected password reset."
-msgstr "Reinício inesperado da palavra-chave."
+msgstr "Reinício inesperado da senha."
#: actions/recoverpassword.php:352
msgid "Password must be 6 chars or more."
-msgstr "Palavra-chave tem de ter 6 ou mais caracteres."
+msgstr "Senha tem de ter 6 ou mais caracteres."
#: actions/recoverpassword.php:356
msgid "Password and confirmation do not match."
-msgstr "A palavra-chave e a confirmação não coincidem."
+msgstr "A senha e a confirmação não coincidem."
#: actions/recoverpassword.php:375 actions/register.php:248
msgid "Error setting user."
@@ -2697,9 +2703,9 @@ msgstr "Erro ao configurar utilizador."
#: actions/recoverpassword.php:382
msgid "New password successfully saved. You are now logged in."
-msgstr "A palavra-chave nova foi gravada com sucesso. Iniciou uma sessão."
+msgstr "A senha nova foi gravada com sucesso. Iniciou uma sessão."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Desculpe, só pessoas convidadas se podem registar."
@@ -2711,7 +2717,7 @@ msgstr "Desculpe, código de convite inválido."
msgid "Registration successful"
msgstr "Registo efectuado"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registar"
@@ -2728,11 +2734,11 @@ msgstr "Não se pode registar se não aceita a licença."
msgid "Email address already exists."
msgstr "Correio electrónico já existe."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
-msgstr "Nome de utilizador ou palavra-chave inválidos."
+msgstr "Nome de utilizador ou senha inválidos."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2740,50 +2746,49 @@ msgstr ""
"Com este formulário pode criar uma conta nova. Poderá então publicar notas e "
"ligar-se a amigos e colegas. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 letras minúsculas ou números, sem pontuação ou espaços. Obrigatório."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 ou mais caracteres. Obrigatório."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
-msgstr "Repita a palavra-chave acima. Obrigatório."
+msgstr "Repita a senha acima. Obrigatório."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Correio"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
-msgstr ""
-"Usado apenas para actualizações, anúncios e recuperação da palavra-chave"
+msgstr "Usado apenas para actualizações, anúncios e recuperação da senha"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome mais longo, de preferência o seu nome \"verdadeiro\""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Os meus textos e ficheiros são disponibilizados nos termos da "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Atribuição 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-" excepto estes dados privados: palavra-chave, endereço de correio "
-"electrónico, endereço de mensageiro instantâneo, número de telefone."
+" excepto estes dados privados: senha, endereço de correio electrónico, "
+"endereço de mensageiro instantâneo, número de telefone."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2816,7 +2821,7 @@ msgstr ""
"\n"
"Obrigado por se ter registado e esperamos que se divirta usando este serviço."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -2846,11 +2851,11 @@ msgstr "Subscrever um utilizador remoto"
#: actions/remotesubscribe.php:129
msgid "User nickname"
-msgstr "Alcunha do utilizador"
+msgstr "Nome do utilizador"
#: actions/remotesubscribe.php:130
msgid "Nickname of the user you want to follow"
-msgstr "Alcunha do utilizador que pretende seguir"
+msgstr "Nome do utilizador que pretende seguir"
#: actions/remotesubscribe.php:133
msgid "Profile URL"
@@ -2916,17 +2921,17 @@ msgstr "Respostas a %s"
#: actions/replies.php:144
#, php-format
msgid "Replies feed for %s (RSS 1.0)"
-msgstr "Feed de respostas a %s (RSS 1.0)"
+msgstr "Fonte de respostas a %s (RSS 1.0)"
#: actions/replies.php:151
#, php-format
msgid "Replies feed for %s (RSS 2.0)"
-msgstr "Feed de respostas a %s (RSS 2.0)"
+msgstr "Fonte de respostas a %s (RSS 2.0)"
#: actions/replies.php:158
#, php-format
msgid "Replies feed for %s (Atom)"
-msgstr "Feed de respostas a %s (Atom)"
+msgstr "Fonte de respostas a %s (Atom)"
#: actions/replies.php:198
#, php-format
@@ -2975,25 +2980,25 @@ msgstr "Não foi possível importar notas favoritas."
#: actions/showfavorites.php:170
#, php-format
msgid "Feed for favorites of %s (RSS 1.0)"
-msgstr "Feed das favoritas de %s (RSS 1.0)"
+msgstr "Fonte dos favoritos de %s (RSS 1.0)"
#: actions/showfavorites.php:177
#, php-format
msgid "Feed for favorites of %s (RSS 2.0)"
-msgstr "Feed das favoritas de %s (RSS 2.0)"
+msgstr "Fonte dos favoritos de %s (RSS 2.0)"
#: actions/showfavorites.php:184
#, php-format
msgid "Feed for favorites of %s (Atom)"
-msgstr "Feed das favoritas de %s (Atom)"
+msgstr "Fonte dos favoritos de %s (Atom)"
#: actions/showfavorites.php:205
msgid ""
"You haven't chosen any favorite notices yet. Click the fave button on "
"notices you like to bookmark them for later or shed a spotlight on them."
msgstr ""
-"Ainda não escolheu nenhuma nota favorita. Clique o botão de favorecimento "
-"nas notas de que goste, para marcá-las para mais tarde ou para lhes dar "
+"Ainda não escolheu nenhuma nota favorita. Clique o botão de marcação nas "
+"notas de que goste, para marcá-las para mais tarde ou para lhes dar "
"relevância."
#: actions/showfavorites.php:207
@@ -3013,7 +3018,7 @@ msgid ""
"would add to their favorites :)"
msgstr ""
"%s ainda não adicionou nenhuma nota às favoritas. Que tal [registar uma "
-"conta](%%%%action.register%%%%) e publicar algo interessante que mude este "
+"conta](%%action.register%%) e publicar algo interessante que mude este "
"estado de coisas :)"
#: actions/showfavorites.php:242
@@ -3041,7 +3046,7 @@ msgstr "Anotação"
#: actions/showgroup.php:284 lib/groupeditform.php:184
msgid "Aliases"
-msgstr "Cognomes"
+msgstr "Sinónimos"
#: actions/showgroup.php:293
msgid "Group actions"
@@ -3050,17 +3055,17 @@ msgstr "Acções do grupo"
#: actions/showgroup.php:328
#, php-format
msgid "Notice feed for %s group (RSS 1.0)"
-msgstr "Feed de notas do grupo %s (RSS 1.0)"
+msgstr "Fonte de notas do grupo %s (RSS 1.0)"
#: actions/showgroup.php:334
#, php-format
msgid "Notice feed for %s group (RSS 2.0)"
-msgstr "Feed de notas do grupo %s (RSS 2.0)"
+msgstr "Fonte de notas do grupo %s (RSS 2.0)"
#: actions/showgroup.php:340
#, php-format
msgid "Notice feed for %s group (Atom)"
-msgstr "Feed de notas do grupo %s (Atom)"
+msgstr "Fonte de notas do grupo %s (Atom)"
#: actions/showgroup.php:345
#, php-format
@@ -3098,12 +3103,12 @@ msgid ""
"their life and interests. [Join now](%%%%action.register%%%%) to become part "
"of this group and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-"**%s** é um grupo de utilizadores no site %%%%site.name%%%%, um serviço de "
-"[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado na "
-"aplicação de Software Livre [StatusNet](http://status.net/). Os membros "
-"deste grupo partilham mensagens curtas acerca das suas vidas e interesses. "
-"[Registe-se agora](%%%%action.register%%%%) para se juntar a este grupo e a "
-"muitos mais! ([Saber mais](%%%%doc.help%%%%))"
+"**%s** é um grupo de utilizadores no site %%site.name%%, um serviço de "
+"[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
+"programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
+"grupo partilham mensagens curtas acerca das suas vidas e interesses. "
+"[Registe-se agora](%%action.register%%) para se juntar a este grupo e a "
+"muitos mais! ([Saber mais](%%doc.help%%))"
#: actions/showgroup.php:454
#, php-format
@@ -3113,14 +3118,14 @@ msgid ""
"[StatusNet](http://status.net/) tool. Its members share short messages about "
"their life and interests. "
msgstr ""
-"**%s** é um grupo de utilizadores no site %%%%site.name%%%%, um serviço de "
-"[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado na "
-"aplicação de Software Livre [StatusNet](http://status.net/). Os membros "
-"deste grupo partilham mensagens curtas acerca das suas vidas e interesses. "
+"**%s** é um grupo de utilizadores no site %%site.name%%, um serviço de "
+"[microblogues](http://en.wikipedia.org/wiki/Micro-blogging) baseado no "
+"programa de Software Livre [StatusNet](http://status.net/). Os membros deste "
+"grupo partilham mensagens curtas acerca das suas vidas e interesses. "
#: actions/showgroup.php:482
msgid "Admins"
-msgstr "Administradores"
+msgstr "Gestores"
#: actions/showmessage.php:81
msgid "No such message."
@@ -3157,17 +3162,17 @@ msgstr "Feed de notas de %1$s com a categoria %2$s (RSS 1.0)"
#: actions/showstream.php:129
#, php-format
msgid "Notice feed for %s (RSS 1.0)"
-msgstr "Feed de notas de %s (RSS 1.0)"
+msgstr "Fonte de notas para %s (RSS 1.0)"
#: actions/showstream.php:136
#, php-format
msgid "Notice feed for %s (RSS 2.0)"
-msgstr "Feed de notas de %s (RSS 2.0)"
+msgstr "Fonte de notas para %s (RSS 2.0)"
#: actions/showstream.php:143
#, php-format
msgid "Notice feed for %s (Atom)"
-msgstr "Feed de notas de %s (Atom)"
+msgstr "Fonte de notas para %s (Atom)"
#: actions/showstream.php:148
#, php-format
@@ -3204,11 +3209,11 @@ msgid ""
"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
msgstr ""
-"**%s** tem uma conta no site %%%%site.name%%%%, um serviço de [microblogues]"
-"(http://en.wikipedia.org/wiki/Micro-blogging) baseado na aplicação de "
-"Software Livre [StatusNet](http://status.net/). [Registe-se agora](%%%%"
-"action.register%%%%) para seguir as notas de **%s** e de muitos mais! "
-"([Saber mais](%%%%doc.help%%%%))"
+"**%s** tem uma conta no site %%site.name%%, um serviço de [microblogues]"
+"(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
+"Software Livre [StatusNet](http://status.net/). [Registe-se agora](%%action."
+"register%%) para seguir as notas de **%s** e de muitos mais! ([Saber mais](%%"
+"doc.help%%))"
#: actions/showstream.php:239
#, php-format
@@ -3217,8 +3222,8 @@ msgid ""
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
"[StatusNet](http://status.net/) tool. "
msgstr ""
-"**%s** tem uma conta no site %%%%site.name%%%%, um serviço de [microblogues]"
-"(http://en.wikipedia.org/wiki/Micro-blogging) baseado na aplicação de "
+"**%s** tem uma conta no site %%site.name%%, um serviço de [microblogues]"
+"(http://en.wikipedia.org/wiki/Micro-blogging) baseado no programa de "
"Software Livre [StatusNet](http://status.net/). "
#: actions/showstream.php:313
@@ -3243,14 +3248,13 @@ msgid "Site name must have non-zero length."
msgstr "Nome do site não pode ter comprimento zero."
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address."
-msgstr "Tem de ter um endereço válido para o correio electrónico de contacto"
+msgstr "Tem de ter um endereço válido para o correio electrónico de contacto."
#: actions/siteadminpanel.php:172
-#, fuzzy, php-format
+#, php-format
msgid "Unknown language \"%s\"."
-msgstr "Língua desconhecida \"%s\""
+msgstr "Língua desconhecida \"%s\"."
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
@@ -3270,7 +3274,7 @@ msgstr "O valor mínimo de limite para o texto é 140 caracteres."
#: actions/siteadminpanel.php:203
msgid "Dupe limit must 1 or more seconds."
-msgstr "O limite de dupes tem de ser 1 ou mais segundos."
+msgstr "O limite de duplicados tem de ser 1 ou mais segundos."
#: actions/siteadminpanel.php:253
msgid "General"
@@ -3318,7 +3322,7 @@ msgstr "Fuso horário por omissão, para o site; normalmente, UTC."
#: actions/siteadminpanel.php:295
msgid "Default site language"
-msgstr "Língua do site, por omissão"
+msgstr "Idioma do site, por omissão"
#: actions/siteadminpanel.php:303
msgid "URLs"
@@ -3330,15 +3334,15 @@ msgstr "Servidor"
#: actions/siteadminpanel.php:306
msgid "Site's server hostname."
-msgstr "Hostname do servidor do site."
+msgstr "Nome do servidor do site."
#: actions/siteadminpanel.php:310
msgid "Fancy URLs"
-msgstr "URLs caprichosas"
+msgstr "URLs bonitas"
#: actions/siteadminpanel.php:312
msgid "Use fancy (more readable and memorable) URLs?"
-msgstr "Usar URLs caprichosas (fancy URLs) mais legíveis e memoráveis"
+msgstr "Usar URLs bonitas (mais legíveis e memoráveis)"
#: actions/siteadminpanel.php:318
msgid "Access"
@@ -3418,7 +3422,7 @@ msgstr "Número máximo de caracteres nas notas."
#: actions/siteadminpanel.php:374
msgid "Dupe limit"
-msgstr "Limite de dupes (duplicações)"
+msgstr "Limite de duplicações"
#: actions/siteadminpanel.php:374
msgid "How long users must wait (in seconds) to post the same thing again."
@@ -3431,7 +3435,6 @@ msgid "Save site settings"
msgstr "Gravar configurações do site"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
msgstr "Configurações de SMS"
@@ -3461,7 +3464,6 @@ msgid "Enter the code you received on your phone."
msgstr "Introduza o código que recebeu no seu telefone."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
msgstr "Número de telefone para SMS"
@@ -3586,8 +3588,8 @@ msgid ""
"%s has no subscribers. Why not [register an account](%%%%action.register%%%"
"%) and be the first?"
msgstr ""
-"%s não tem subscritores. Quer [registar uma conta](%%%%action.register%%%%) "
-"e ser o primeiro?"
+"%s não tem subscritores. Quer [registar uma conta](%%action.register%%) e "
+"ser o primeiro?"
#: actions/subscriptions.php:52
#, php-format
@@ -3640,17 +3642,17 @@ msgstr "SMS"
#: actions/tag.php:86
#, php-format
msgid "Notice feed for tag %s (RSS 1.0)"
-msgstr "Feed de notas para a categoria %s (RSS 1.0)"
+msgstr "Fonte de notas para a categoria %s (RSS 1.0)"
#: actions/tag.php:92
#, php-format
msgid "Notice feed for tag %s (RSS 2.0)"
-msgstr "Feed de notas para a categoria %s (RSS 2.0)"
+msgstr "Fonte de notas para a categoria %s (RSS 2.0)"
#: actions/tag.php:98
#, php-format
msgid "Notice feed for tag %s (Atom)"
-msgstr "Feed de notas para a categoria %s (Atom)"
+msgstr "Fonte de notas para a categoria %s (Atom)"
#: actions/tagother.php:39
msgid "No ID argument."
@@ -3702,7 +3704,7 @@ msgstr "Categoria não existe."
#: actions/twitapitrends.php:87
msgid "API method under construction."
-msgstr "Método da API está em construção."
+msgstr "Método da API em desenvolvimento."
#: actions/unblock.php:59
msgid "You haven't blocked that user."
@@ -3761,7 +3763,7 @@ msgstr "Perfil"
#: actions/useradminpanel.php:222
msgid "Bio Limit"
-msgstr "Limite da Bio"
+msgstr "Limite da Biografia"
#: actions/useradminpanel.php:223
msgid "Maximum length of a profile bio in characters."
@@ -3793,7 +3795,7 @@ msgstr "Convites"
#: actions/useradminpanel.php:256
msgid "Invitations enabled"
-msgstr "Convites possibilitados"
+msgstr "Convites habilitados"
#: actions/useradminpanel.php:258
msgid "Whether to allow users to invite new users."
@@ -3894,12 +3896,12 @@ msgstr "A listener URI ‘%s’ não foi encontrada aqui."
#: actions/userauthorization.php:301
#, php-format
msgid "Listenee URI ‘%s’ is too long."
-msgstr "Listenee URI ‘%s’ é demasiado longo."
+msgstr "URI do escutado ‘%s’ é demasiado longo."
#: actions/userauthorization.php:307
#, php-format
msgid "Listenee URI ‘%s’ is a local user."
-msgstr "Listenee URI ‘%s’ é um utilizador local."
+msgstr "URI do ouvido ‘%s’ é um utilizador local."
#: actions/userauthorization.php:322
#, php-format
@@ -3923,14 +3925,14 @@ msgstr "Tipo de imagem incorrecto para o avatar da URL ‘%s’."
#: actions/userdesignsettings.php:76 lib/designsettings.php:65
msgid "Profile design"
-msgstr "Design do perfil"
+msgstr "Estilo do perfil"
#: actions/userdesignsettings.php:87 lib/designsettings.php:76
msgid ""
"Customize the way your profile looks with a background image and a colour "
"palette of your choice."
msgstr ""
-"Personalize o aspecto do seu perfil com uma imagem de fundo e uma paleta de "
+"Personalize o estilo do seu perfil com uma imagem de fundo e uma paleta de "
"cores à sua escolha."
#: actions/userdesignsettings.php:282
@@ -4025,7 +4027,7 @@ msgstr "Autores"
msgid "Description"
msgstr "Descrição"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4034,17 +4036,22 @@ msgstr ""
"Nenhum ficheiro pode ter mais de %d bytes e o que enviou tinha %d bytes. "
"Tente carregar uma versão menor."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
"Um ficheiro desta dimensão excederia a sua quota de utilizador de %d bytes."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "Um ficheiro desta dimensão excederia a sua quota mensal de %d bytes."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Não foi possível criar a chave de entrada para %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Está proibido de enviar mensagens directas."
@@ -4060,7 +4067,7 @@ msgstr "Não foi possível actualizar a mensagem com a nova URI."
#: classes/Notice.php:172
#, php-format
msgid "DB error inserting hashtag: %s"
-msgstr "Erro na base de dados ao inserir a hashtag: %s"
+msgstr "Erro na base de dados ao inserir a marca: %s"
#: classes/Notice.php:226
msgid "Problem saving notice. Too long."
@@ -4126,15 +4133,15 @@ msgstr "Carregar um avatar"
#: lib/accountsettingsaction.php:116
msgid "Change your password"
-msgstr "Modificar a sua palavra-chave"
+msgstr "Modificar a sua senha"
#: lib/accountsettingsaction.php:120
msgid "Change email handling"
-msgstr "Alterar email handling"
+msgstr "Alterar manuseamento de email"
#: lib/accountsettingsaction.php:124
msgid "Design your profile"
-msgstr "Altere o design do seu perfil"
+msgstr "Altere o estilo do seu perfil"
#: lib/accountsettingsaction.php:128
msgid "Other"
@@ -4144,6 +4151,11 @@ msgstr "Outras"
msgid "Other options"
msgstr "Outras opções"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Página sem título"
@@ -4166,7 +4178,7 @@ msgstr "Conta"
#: lib/action.php:435
msgid "Change your email, avatar, password, profile"
-msgstr "Altere o seu endereço electrónico, avatar, palavra-chave, perfil"
+msgstr "Altere o seu endereço electrónico, avatar, senha, perfil"
#: lib/action.php:438
msgid "Connect"
@@ -4247,7 +4259,7 @@ msgstr "FAQ"
#: lib/action.php:734
msgid "TOS"
-msgstr "Condições do Serviço"
+msgstr "Termos"
#: lib/action.php:737
msgid "Privacy"
@@ -4320,7 +4332,7 @@ msgstr "Anteriores"
#: lib/action.php:1167
msgid "There was a problem with your session token."
-msgstr "Ocorreu um problema com a sua chave de sessão."
+msgstr "Ocorreu um problema com a sua sessão."
#: lib/adminpanelaction.php:96
msgid "You cannot make changes to this site."
@@ -4340,7 +4352,7 @@ msgstr "saveSettings() não implementado."
#: lib/adminpanelaction.php:258
msgid "Unable to delete design setting."
-msgstr "Não foi possível apagar a configuração do design."
+msgstr "Não foi possível apagar a configuração do estilo."
#: lib/adminpanelaction.php:312
msgid "Basic site configuration"
@@ -4348,11 +4360,11 @@ msgstr "Configuração básica do site"
#: lib/adminpanelaction.php:317
msgid "Design configuration"
-msgstr "Configuração do design"
+msgstr "Configuração do estilo"
#: lib/adminpanelaction.php:322 lib/adminpanelaction.php:327
msgid "Paths configuration"
-msgstr "Configuração dos directórios"
+msgstr "Configuração das localizações"
#: lib/attachmentlist.php:87
msgid "Attachments"
@@ -4400,17 +4412,17 @@ msgstr "Desculpe, este comando ainda não foi implementado."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
-msgstr "Não foi encontrado um utilizador com a alcunha %s"
+msgid "Could not find a user with nickname %s"
+msgstr "Não foi encontrado um utilizador com a alcunha %s."
#: lib/command.php:92
msgid "It does not make a lot of sense to nudge yourself!"
-msgstr "Não faz lá muito sentido dar um toque em nós mesmos!"
+msgstr "Não faz muito sentido tocar-nos a nós mesmos!"
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
-msgstr "Cotovelada enviada a %s"
+msgid "Nudge sent to %s"
+msgstr "Toque enviado para %s."
#: lib/command.php:126
#, php-format
@@ -4425,27 +4437,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
-msgstr "Não existe nenhuma nota com essa identificação"
+msgid "Notice with that id does not exist"
+msgstr "Não existe nenhuma nota com essa identificação."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
-msgstr "Utilizador não tem nenhuma última nota"
+msgid "User has no last notice"
+msgstr "Utilizador não tem nenhuma última nota."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Nota marcada como favorita."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Já é membro desse grupo."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Não foi possível adicionar %1$s ao grupo %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s juntou-se ao grupo %2$s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
-msgstr "Não foi possível remover o utilizador %s do grupo %s"
+msgid "Could not remove user %s to group %s"
+msgstr "Não foi possível remover o utilizador %1$s do grupo %2$s."
+
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s deixou o grupo %2$s"
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nome completo: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4456,26 +4488,41 @@ msgstr "Localidade: %s"
#: lib/command.php:324 lib/mail.php:256
#, php-format
msgid "Homepage: %s"
-msgstr "Página de acolhimento: %s"
+msgstr "Página pessoal: %s"
#: lib/command.php:327
#, php-format
msgid "About: %s"
msgstr "Sobre: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Mensagem demasiado extensa - máx. %d caracteres, enviou %d"
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
+
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Mensagem directa para %s foi enviada."
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Erro no envio da mensagem directa."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Não pode repetir a sua própria nota."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Já repetiu essa nota."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
-msgstr "Nota de %s repetida"
+msgid "Notice from %s repeated"
+msgstr "Nota de %s repetida."
#: lib/command.php:437
msgid "Error repeating notice."
@@ -4483,13 +4530,13 @@ msgstr "Erro ao repetir nota."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Nota demasiado extensa - máx. %d caracteres, enviou %d"
+msgid "Notice too long - maximum is %d characters, you sent %d"
+msgstr "Nota demasiado extensa - máx. %1$d caracteres, enviou %2$d."
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
-msgstr "Resposta a %s enviada"
+msgid "Reply to %s sent"
+msgstr "Resposta a %s enviada."
#: lib/command.php:502
msgid "Error saving notice."
@@ -4497,8 +4544,8 @@ msgstr "Erro ao gravar nota."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
-msgstr "Introduza o nome do utilizador para subscrever"
+msgid "Specify the name of the user to subscribe to"
+msgstr "Introduza o nome do utilizador para subscrever."
#: lib/command.php:563
#, php-format
@@ -4507,8 +4554,8 @@ msgstr "Subscreveu %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
-msgstr "Introduza o nome do utilizador para deixar de subscrever"
+msgid "Specify the name of the user to unsubscribe from"
+msgstr "Introduza o nome do utilizador para deixar de subscrever."
#: lib/command.php:591
#, php-format
@@ -4537,52 +4584,47 @@ msgstr "Não foi possível ligar a notificação."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
-msgstr "Comando para iniciar sessão foi desactivado"
+msgid "Login command is disabled"
+msgstr "Comando para iniciar sessão foi desactivado."
-#: lib/command.php:664
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Não foi possível criar a chave de entrada para %s"
-
-#: lib/command.php:669
-#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
"Esta ligação é utilizável uma única vez e só durante os próximos 2 minutos: %"
-"s"
+"s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Não subscreveu ninguém."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
-msgstr[0] "Subscreve esta pessoa:"
-msgstr[1] "Subscreve estas pessoas:"
+msgstr[0] "Subscreveu esta pessoa:"
+msgstr[1] "Subscreveu estas pessoas:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Ninguém subscreve as suas notas."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Esta pessoa subscreve as suas notas:"
msgstr[1] "Estas pessoas subscrevem as suas notas:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Não está em nenhum grupo."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Está no grupo:"
msgstr[1] "Está nos grupos:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4626,32 +4668,32 @@ msgstr ""
"on - ligar notificações\n"
"off - desligar notificações\n"
"help - mostrar esta ajuda\n"
-"follow <alcunha> - subscrever este utilizador\n"
+"follow <utilizador> - subscrever este utilizador\n"
"groups - lista os grupos a que se juntou\n"
"subscriptions - lista as pessoas que está a seguir\n"
"subscribers - lista as pessoas que estão a segui-lo(a)\n"
-"leave <alcunha> - deixar de subscrever este utilizador\n"
-"d <alcunha> <texto> - mensagem directa para o utilizador\n"
-"get <alcunha> - receber última nota do utilizador\n"
-"whois <alcunha> - receber perfil do utilizador\n"
-"fav <alcunha> - adicionar última nota do utilizador às favoritas\n"
+"leave <utilizador> - deixar de subscrever este utilizador\n"
+"d <utilizador> <texto> - mensagem directa para o utilizador\n"
+"get <utilizador> - receber última nota do utilizador\n"
+"whois <utilizador> - receber perfil do utilizador\n"
+"fav <utilizador> - adicionar última nota do utilizador às favoritas\n"
"fav #<id_da_nota> - adicionar nota com esta identificação às favoritas\n"
"repeat #<id_da_nota> - repetir uma nota com uma certa identificação\n"
-"repeat <alcunha> - repetir a última nota do utilizador\n"
+"repeat <utilizador> - repetir a última nota do utilizador\n"
"reply #<id_da_nota> - responder à nota com esta identificação\n"
-"reply <alcunha> - responder à última nota do utilizador\n"
+"reply <utilizador> - responder à última nota do utilizador\n"
"join <grupo> - juntar-se ao grupo\n"
"login - Receber uma ligação para iniciar sessão na interface web\n"
"drop <grupo> - afastar-se do grupo\n"
"stats - receber as suas estatísticas\n"
"stop - o mesmo que 'off'\n"
"quit - o mesmo que 'off'\n"
-"sub <alcunha> - o mesmo que 'follow'\n"
-"unsub <alcunha> - o mesmo que 'leave'\n"
-"last <alcunha> - o mesmo que 'get'\n"
-"on <alcunha> - ainda não implementado.\n"
-"off <alcunha> - ainda não implementado.\n"
-"nudge <alcunha> - relembrar um utilizador para actualizar.\n"
+"sub <utilizador> - o mesmo que 'follow'\n"
+"unsub <utilizador> - o mesmo que 'leave'\n"
+"last <utilizador> - o mesmo que 'get'\n"
+"on <utilizador> - ainda não implementado.\n"
+"off <utilizador> - ainda não implementado.\n"
+"nudge <utilizador> - relembrar um utilizador para actualizar.\n"
"invite <número de telefone> - ainda não implementado.\n"
"track <palavra> - ainda não implementado.\n"
"untrack <palavra> - ainda não implementado.\n"
@@ -4666,7 +4708,7 @@ msgstr "Ficheiro de configuração não encontrado. "
#: lib/common.php:200
msgid "I looked for configuration files in the following places: "
-msgstr "Procurei ficheiros de configuração nos seguintes: "
+msgstr "Procurei ficheiros de configuração nos seguintes sítios: "
#: lib/common.php:201
msgid "You may wish to run the installer to fix this."
@@ -4678,11 +4720,11 @@ msgstr "Ir para o instalador."
#: lib/connectsettingsaction.php:110
msgid "IM"
-msgstr "IM"
+msgstr "MI"
#: lib/connectsettingsaction.php:111
msgid "Updates by instant messenger (IM)"
-msgstr "Actualizações por mensagem instantânea (IM)"
+msgstr "Actualizações por mensagem instantânea (MI)"
#: lib/connectsettingsaction.php:116
msgid "Updates by SMS"
@@ -4705,7 +4747,7 @@ msgstr ""
#: lib/designsettings.php:418
msgid "Design defaults restored."
-msgstr "Predefinições do design repostas"
+msgstr "Predefinições do estilo repostas"
#: lib/disfavorform.php:114 lib/disfavorform.php:140
msgid "Disfavor this notice"
@@ -4765,7 +4807,7 @@ msgstr "Prosseguir"
#: lib/groupeditform.php:163
msgid "URL of the homepage or blog of the group or topic"
-msgstr "URL da página de acolhimento ou do blogue, deste grupo ou assunto"
+msgstr "URL da página ou do blogue, deste grupo ou assunto"
#: lib/groupeditform.php:168
msgid "Describe the group or topic"
@@ -4785,7 +4827,7 @@ msgstr "Localidade do grupo, se aplicável, por ex. \"Cidade, Região, País\""
#, php-format
msgid "Extra nicknames for the group, comma- or space- separated, max %d"
msgstr ""
-"Alcunhas extra para o grupo, separadas por vírgulas ou espaços, máx. %d"
+"Utilizadors extra para o grupo, separadas por vírgulas ou espaços, máx. %d"
#: lib/groupnav.php:85
msgid "Group"
@@ -4807,12 +4849,12 @@ msgstr "Editar propriedades do grupo %s"
#: lib/groupnav.php:113
msgid "Logo"
-msgstr "Logótipo"
+msgstr "Logotipo"
#: lib/groupnav.php:114
#, php-format
msgid "Add or edit %s logo"
-msgstr "Adicionar ou editar o logótipo de %s"
+msgstr "Adicionar ou editar o logotipo de %s"
#: lib/groupnav.php:120
#, php-format
@@ -4888,7 +4930,7 @@ msgstr "Afastar-me"
#: lib/logingroupnav.php:80
msgid "Login with a username and password"
-msgstr "Iniciar sessão com um nome de utilizador e palavra-chave"
+msgstr "Iniciar sessão com um nome de utilizador e senha"
#: lib/logingroupnav.php:86
msgid "Sign up for a new account"
@@ -4959,16 +5001,14 @@ msgstr ""
"8$s\n"
#: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"Bio: %s\n"
-"\n"
+msgstr "Bio: %s"
#: lib/mail.php:286
#, php-format
msgid "New email address for posting to %s"
-msgstr "Endereço electrónico novo para publicar no site %s"
+msgstr "Novo endereço electrónico para publicar no site %s"
#: lib/mail.php:289
#, php-format
@@ -4982,7 +5022,7 @@ msgid ""
"Faithfully yours,\n"
"%4$s"
msgstr ""
-"Tem um endereço electrónico novo para fazer publicações no site %1$s.\n"
+"Tem um novo endereço electrónico para fazer publicações no site %1$s.\n"
"\n"
"Envie correio para o endereço %2$s para publicar novas mensagens.\n"
"\n"
@@ -5003,7 +5043,7 @@ msgstr "Confirmação SMS"
#: lib/mail.php:463
#, php-format
msgid "You've been nudged by %s"
-msgstr "%s enviou-lhe um toque"
+msgstr "%s envia-lhe um toque"
#: lib/mail.php:467
#, php-format
@@ -5035,7 +5075,7 @@ msgstr ""
#: lib/mail.php:510
#, php-format
msgid "New private message from %s"
-msgstr "Mensagem privada nova de %s"
+msgstr "Nova mensagem privada de %s"
#: lib/mail.php:514
#, php-format
@@ -5177,9 +5217,9 @@ msgid "Sorry, no incoming email allowed."
msgstr "Desculpe, não lhe é permitido receber correio electrónico."
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Formato do ficheiro da imagem não é suportado."
+msgstr "Tipo de mensagem não suportado: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5216,26 +5256,24 @@ msgid "File upload stopped by extension."
msgstr "Transferência do ficheiro interrompida pela extensão."
#: lib/mediafile.php:179 lib/mediafile.php:216
-#, fuzzy
msgid "File exceeds user's quota."
-msgstr "Ficheiro excede quota do utilizador!"
+msgstr "Ficheiro excede quota do utilizador."
#: lib/mediafile.php:196 lib/mediafile.php:233
msgid "File could not be moved to destination directory."
msgstr "Não foi possível mover o ficheiro para o directório de destino."
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
msgstr "Não foi possível determinar o tipo MIME do ficheiro."
#: lib/mediafile.php:270
#, php-format
msgid " Try using another %s format."
-msgstr " Tente usar outro tipo de %s."
+msgstr " Tente usar outro tipo de %s."
#: lib/mediafile.php:275
-#, fuzzy, php-format
+#, php-format
msgid "%s is not a supported file type on this server."
msgstr "%s não é um tipo de ficheiro suportado neste servidor."
@@ -5269,11 +5307,13 @@ msgid "Attach a file"
msgstr "Anexar um ficheiro"
#: lib/noticeform.php:212
-msgid "Share my location."
+#, fuzzy
+msgid "Share my location"
msgstr "Partilhar a minha localização."
#: lib/noticeform.php:214
-msgid "Do not share my location."
+#, fuzzy
+msgid "Do not share my location"
msgstr "Não partilhar a minha localização."
#: lib/noticeform.php:215
@@ -5307,7 +5347,7 @@ msgstr "coords."
#: lib/noticelist.php:531
msgid "in context"
-msgstr "em contexto"
+msgstr "no contexto"
#: lib/noticelist.php:556
msgid "Repeated by"
@@ -5327,15 +5367,15 @@ msgstr "Nota repetida"
#: lib/nudgeform.php:116
msgid "Nudge this user"
-msgstr "Dar um toque neste utilizador"
+msgstr "Tocar este utilizador"
#: lib/nudgeform.php:128
msgid "Nudge"
-msgstr "Dar um toque"
+msgstr "Tocar"
#: lib/nudgeform.php:128
msgid "Send a nudge to this user"
-msgstr "Enviar um toque para este utilizador"
+msgstr "Enviar toque a este utilizador"
#: lib/oauthstore.php:283
msgid "Error inserting new profile"
@@ -5464,7 +5504,7 @@ msgstr "Repetir esta nota"
#: lib/sandboxform.php:67
msgid "Sandbox"
-msgstr "Impedir notas públicas"
+msgstr "Bloquear notas públicas"
#: lib/sandboxform.php:78
msgid "Sandbox this user"
@@ -5512,7 +5552,7 @@ msgstr "Silenciar"
#: lib/silenceform.php:78
msgid "Silence this user"
-msgstr "Impedir este utilizador de publicar notas"
+msgstr "Silenciar este utilizador"
#: lib/subgroupnav.php:83
#, php-format
@@ -5627,47 +5667,47 @@ msgstr "Mensagem"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "há alguns segundos"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "há cerca de um minuto"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "há cerca de %d minutos"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "há cerca de uma hora"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "há cerca de %d horas"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "há cerca de um dia"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "há cerca de %d dias"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "há cerca de um mês"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "há cerca de %d meses"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "há cerca de um ano"
@@ -5680,3 +5720,8 @@ msgstr "%s não é uma cor válida!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s não é uma cor válida! Use 3 ou 6 caracteres hexadecimais."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Mensagem demasiado extensa - máx. %1$d caracteres, enviou %2$d."
diff --git a/locale/pt_BR/LC_MESSAGES/statusnet.po b/locale/pt_BR/LC_MESSAGES/statusnet.po
index 7fea84d12..c608b3ba5 100644
--- a/locale/pt_BR/LC_MESSAGES/statusnet.po
+++ b/locale/pt_BR/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:28:58+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:03+0000\n"
"Language-Team: Brazilian Portuguese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "Esta página não existe."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -388,7 +388,7 @@ msgstr "O apelido não pode ser igual à identificação."
msgid "Group not found!"
msgstr "O grupo não foi encontrado!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Você já é membro desse grupo."
@@ -396,7 +396,7 @@ msgstr "Você já é membro desse grupo."
msgid "You have been blocked from that group by the admin."
msgstr "O administrador desse grupo bloqueou sua inscrição."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Não foi possível associar o usuário %s ao grupo %s."
@@ -438,11 +438,11 @@ msgstr "Você não pode excluir uma mensagem de outro usuário."
msgid "No such notice."
msgstr "Essa mensagem não existe."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Você não pode repetria sua própria mensagem."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Você já repetiu essa mensagem."
@@ -613,7 +613,7 @@ msgstr "Cortar"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1810,7 +1810,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Você deve estar autenticado para se associar a um grupo."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s associou-se ao grupo %s"
@@ -1827,63 +1827,59 @@ msgstr "Você não é um membro desse grupo."
msgid "Could not find membership record."
msgstr "Não foi possível encontrar o registro do membro."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s deixou o grupo %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Já está autenticado."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Token inválido ou expirado."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Nome de usuário e/ou senha incorreto(s)."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
"Erro na configuração do usuário. Você provavelmente não tem autorização."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Entrar"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Autenticar-se no site"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Usuário"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Senha"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Lembrar neste computador"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Entra automaticamente da próxima vez, sem pedir a senha. Não use em "
"computadores compartilhados!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Perdeu ou esqueceu sua senha?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1891,7 +1887,7 @@ msgstr ""
"Por razões de segurança, por favor, digite novamente seu nome de usuário e "
"senha antes de alterar suas configurações."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1961,7 +1957,7 @@ msgstr ""
msgid "Message sent"
msgstr "A mensagem foi enviada"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "A mensagem direta para %s foi enviada"
@@ -2057,8 +2053,8 @@ msgstr "tipo de conteúdo "
msgid "Only "
msgstr "Apenas "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Não é um formato de dados suportado."
@@ -2102,6 +2098,31 @@ msgstr "Exibir ou esconder as aparências do perfil."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "O serviço de encolhimento de URL é muito extenso (máx. 50 caracteres)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Não foi especificado nenhum grupo."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Não foi especificada nenhuma mensagem."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Nenhuma ID de perfil na requisição."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Token inválido ou expirado."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Autenticar-se no site"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2138,7 +2159,7 @@ msgid "6 or more characters"
msgstr "No mínimo 6 caracteres"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Confirmar"
@@ -2365,42 +2386,42 @@ msgstr "Informações do perfil"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 letras minúsculas ou números, sem pontuações ou espaços"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Nome completo"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Site"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL do seu site, blog ou perfil em outro site"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Descreva a si mesmo e os seus interesses em %d caracteres"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Descreva a si mesmo e os seus interesses"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Descrição"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Localização"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Onde você está, ex: \"cidade, estado (ou região), país\""
@@ -2716,7 +2737,7 @@ msgstr ""
"A nova senha foi salva com sucesso. A partir de agora você já está "
"autenticado."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Desculpe, mas somente convidados podem se registrar."
@@ -2728,7 +2749,7 @@ msgstr "Desculpe, mas o código do convite é inválido."
msgid "Registration successful"
msgstr "Registro realizado com sucesso"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrar-se"
@@ -2745,11 +2766,11 @@ msgstr "Você não pode se registrar se não aceitar a licença."
msgid "Email address already exists."
msgstr "O endereço de e-mail já existe."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Nome de usuário e/ou senha inválido(s)"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2757,41 +2778,41 @@ msgstr ""
"Através deste formulário você pode criar uma nova conta. A partir daí você "
"pode publicar mensagens e se conectar a amigos e colegas. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 letras minúsculas ou números, sem pontuação ou espaços. Obrigatório."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "No mínimo 6 caracteres. Obrigatório."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Igual à senha acima. Obrigatório."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-mail"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Usado apenas para atualizações, anúncios e recuperações de senha"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Nome completo, de preferência seu nome \"real\""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Meus textos e arquivos estão disponíveis sob "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Attribution 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2799,7 +2820,7 @@ msgstr ""
" exceto estes dados particulares: senha, endereço de e-mail, endereço de MI "
"e número de telefone."
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2832,7 +2853,7 @@ msgstr ""
"\n"
"Obrigado por se registrar e esperamos que você aproveite o serviço."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4035,7 +4056,7 @@ msgstr "Autor"
msgid "Description"
msgstr "Descrição"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4044,16 +4065,21 @@ msgstr ""
"Nenhum arquivo pode ser maior que %d bytes e o arquivo que você enviou "
"possui %d bytes. Experimente enviar uma versão menor."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr "Um arquivo deste tamanho excederá a sua conta de %d bytes."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "Um arquivo deste tamanho excederá a sua conta mensal de %d bytes."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Não foi possível criar o token de autenticação para %s"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Você está proibido de enviar mensagens diretas."
@@ -4153,6 +4179,11 @@ msgstr "Outras"
msgid "Other options"
msgstr "Outras opções"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Página sem título"
@@ -4412,7 +4443,7 @@ msgstr "Desculpe, mas esse comando ainda não foi implementado."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Não foi possível encontrar um usuário com a identificação %s"
#: lib/command.php:92
@@ -4421,7 +4452,7 @@ msgstr "Não faz muito sentido chamar a sua própria atenção!"
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Foi enviada a chamada de atenção para %s"
#: lib/command.php:126
@@ -4437,27 +4468,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Não existe uma mensagem com essa id"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "O usuário não tem uma \"última mensagem\""
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Mensagem marcada como favorita."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Você já é membro desse grupo."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Não foi possível associar o usuário %s ao grupo %s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s associou-se ao grupo %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Não foi possível remover o usuário %s do grupo %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s deixou o grupo %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Nome completo: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4475,19 +4526,34 @@ msgstr "Site: %s"
msgid "About: %s"
msgstr "Sobre: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"A mensagem é muito extensa - o máximo são %d caracteres e você enviou %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "A mensagem direta para %s foi enviada"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Ocorreu um erro durante o envio da mensagem direta."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Você não pode repetria sua própria mensagem."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Você já repetiu essa mensagem."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Mensagem de %s repetida"
#: lib/command.php:437
@@ -4496,13 +4562,13 @@ msgstr "Erro na repetição da mensagem."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
"A mensagem é muito extensa - o máximo são %d caracteres e você enviou %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "A resposta a %s foi enviada"
#: lib/command.php:502
@@ -4511,7 +4577,7 @@ msgstr "Erro no salvamento da mensagem."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Especifique o nome do usuário que será assinado"
#: lib/command.php:563
@@ -4521,7 +4587,7 @@ msgstr "Efetuada a assinatura de %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Especifique o nome do usuário cuja assinatura será cancelada"
#: lib/command.php:591
@@ -4551,52 +4617,47 @@ msgstr "Não é possível ligar a notificação."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr "O comando para autenticação está desabilitado"
-#: lib/command.php:664
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Não foi possível criar o token de autenticação para %s"
-
-#: lib/command.php:669
-#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
"Este link é utilizável somente uma vez e é válido somente por dois minutos: %"
"s"
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Você não está assinando ninguém."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Você já está assinando esta pessoa:"
msgstr[1] "Você já está assinando estas pessoas:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Ninguém o assinou ainda."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Esta pessoa está assinando você:"
msgstr[1] "Estas pessoas estão assinando você:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Você não é membro de nenhum grupo."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Você é membro deste grupo:"
msgstr[1] "Você é membro destes grupos:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5287,12 +5348,12 @@ msgstr "Anexar um arquivo"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Indique a sua localização"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Indique a sua localização"
#: lib/noticeform.php:215
@@ -5647,47 +5708,47 @@ msgstr "Mensagem"
msgid "Moderate"
msgstr "Moderar"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "alguns segundos atrás"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "cerca de 1 minuto atrás"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "cerca de %d minutos atrás"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "cerca de 1 hora atrás"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "cerca de %d horas atrás"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "cerca de 1 dia atrás"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "cerca de %d dias atrás"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "cerca de 1 mês atrás"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "cerca de %d meses atrás"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "cerca de 1 ano atrás"
@@ -5700,3 +5761,9 @@ msgstr "%s não é uma cor válida!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s não é uma cor válida! Utilize 3 ou 6 caracteres hexadecimais."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"A mensagem é muito extensa - o máximo são %d caracteres e você enviou %d"
diff --git a/locale/ru/LC_MESSAGES/statusnet.po b/locale/ru/LC_MESSAGES/statusnet.po
index 4fb91a3e0..574ae66a2 100644
--- a/locale/ru/LC_MESSAGES/statusnet.po
+++ b/locale/ru/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-11 00:21:25+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:10+0000\n"
"Language-Team: Russian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60910); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: out-statusnet\n"
@@ -41,7 +41,7 @@ msgstr "Нет такой страницы"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -385,7 +385,7 @@ msgstr "Алиас не может совпадать с именем."
msgid "Group not found!"
msgstr "Группа не найдена!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Вы уже являетесь членом этой группы."
@@ -393,7 +393,7 @@ msgstr "Вы уже являетесь членом этой группы."
msgid "You have been blocked from that group by the admin."
msgstr "Вы заблокированы из этой группы администратором."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Не удаётся присоединить пользователя %1$s к группе %2$s."
@@ -435,11 +435,11 @@ msgstr "Вы не можете удалять статус других поль
msgid "No such notice."
msgstr "Нет такой записи."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Невозможно повторить собственную запись."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Запись уже повторена."
@@ -610,7 +610,7 @@ msgstr "Обрезать"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1802,7 +1802,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Вы должны авторизоваться для вступления в группу."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr "%1$s вступил в группу %2$s"
@@ -1819,60 +1819,56 @@ msgstr "Вы не являетесь членом этой группы."
msgid "Could not find membership record."
msgstr "Не удаётся найти учетную запись."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s покинул группу %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Вы уже авторизовались."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Неверный или устаревший ключ."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Некорректное имя или пароль."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Ошибка установки пользователя. Вы, вероятно, не авторизованы."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Вход"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Авторизоваться"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Имя"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Пароль"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Запомнить меня"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Автоматическии входить в дальнейшем. Не для общедоступных компьютеров!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Потеряли или забыли пароль?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1880,7 +1876,7 @@ msgstr ""
"По причинам сохранения безопасности введите имя и пароль ещё раз, прежде чем "
"изменять Ваши установки."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1947,7 +1943,7 @@ msgstr "Не посылайте сообщения сами себе; прост
msgid "Message sent"
msgstr "Сообщение отправлено"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr "Прямое сообщение для %s послано."
@@ -2042,8 +2038,8 @@ msgstr "тип содержимого "
msgid "Only "
msgstr "Только "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Неподдерживаемый формат данных."
@@ -2087,6 +2083,31 @@ msgstr "Показать или скрыть оформления профиля
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Сервис сокращения URL слишком длинный (максимум 50 символов)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Группа не определена."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Не указана запись."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Нет ID профиля в запросе."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Неверный или устаревший ключ."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Авторизоваться"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2123,7 +2144,7 @@ msgid "6 or more characters"
msgstr "6 или больше знаков"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Подтверждение"
@@ -2347,42 +2368,42 @@ msgstr "Информация профиля"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 латинских строчных буквы или цифры, без пробелов"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Полное имя"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Главная"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "Адрес твоей страницы, дневника или профиля на другом портале"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Опишите себя и свои увлечения при помощи %d символов"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Опишите себя и свои интересы"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Биография"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Месторасположение"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Где вы находитесь, например «Город, область, страна»"
@@ -2691,7 +2712,7 @@ msgstr "Ошибка в установках пользователя."
msgid "New password successfully saved. You are now logged in."
msgstr "Новый пароль успешно сохранён. Вы авторизовались."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Простите, регистрация только по приглашению."
@@ -2703,7 +2724,7 @@ msgstr "Извините, неверный пригласительный код
msgid "Registration successful"
msgstr "Регистрация успешна!"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Регистрация"
@@ -2722,11 +2743,11 @@ msgstr ""
msgid "Email address already exists."
msgstr "Такой электронный адрес уже задействован."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Неверное имя или пароль."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2736,41 +2757,41 @@ msgstr ""
"[OpenID](http://openid.net/) аккаунт? Тогда используй [OpenID регистрацию](%%"
"action.openidlogin%%)!)"
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 латинских строчных букв или цифр, без пробелов. Обязательное поле."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 или более символов. Обязательное поле."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Тот же пароль что и сверху. Обязательное поле."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Нужна только для обновлений, осведомлений и восстановления пароля."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Полное имя, предпочтительно Ваше настоящее имя"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Мои тексты и файлы находятся под лицензией"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Attribution 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2778,7 +2799,7 @@ msgstr ""
", за исключением моей личной информации: пароля, почты, мессенджера и номера "
"телефона."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2812,7 +2833,7 @@ msgstr ""
"Спасибо за то, что присоединились к нам, надеемся, что вы получите "
"удовольствие от использования данного сервиса!"
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4021,7 +4042,7 @@ msgstr "Автор(ы)"
msgid "Description"
msgstr "Описание"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4030,16 +4051,21 @@ msgstr ""
"Файл не может быть больше %d байт, тогда как отправленный вами файл содержал "
"%d байт. Попробуйте загрузить меньшую версию."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr "Файл такого размера превысит вашу пользовательскую квоту в %d байта."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "Файл такого размера превысит вашу месячную квоту в %d байта."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Не удаётся создать токен входа для %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Вы заблокированы от отправки прямых сообщений."
@@ -4139,6 +4165,11 @@ msgstr "Другое"
msgid "Other options"
msgstr "Другие опции"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Страница без названия"
@@ -4395,8 +4426,8 @@ msgid "Sorry, this command is not yet implemented."
msgstr "Простите, эта команда ещё не выполнена."
#: lib/command.php:88
-#, php-format
-msgid "Could not find a user with nickname %s."
+#, fuzzy, php-format
+msgid "Could not find a user with nickname %s"
msgstr "Не удаётся найти пользователя с именем %s."
#: lib/command.php:92
@@ -4404,8 +4435,8 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr "Нет смысла «подталкивать» самого себя!"
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
msgstr "«Подталкивание» послано %s."
#: lib/command.php:126
@@ -4420,26 +4451,48 @@ msgstr ""
"Записей: %3$s"
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+#, fuzzy
+msgid "Notice with that id does not exist"
msgstr "Записи с таким id не существует."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
+#, fuzzy
+msgid "User has no last notice"
msgstr "У пользователя нет последней записи."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Запись помечена как любимая."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Вы уже являетесь членом этой группы."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Не удаётся присоединить пользователя %1$s к группе %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s вступил в группу %2$s"
+
#: lib/command.php:284
-#, php-format
-msgid "Could not remove user %1$s to group %2$s."
+#, fuzzy, php-format
+msgid "Could not remove user %s to group %s"
msgstr "Не удаётся удалить пользователя %1$s из группы %2$s."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s покинул группу %2$s"
+
#: lib/command.php:318
-#, php-format
-msgid "Full name: %s"
+#, fuzzy, php-format
+msgid "Fullname: %s"
msgstr "Полное имя: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4457,19 +4510,34 @@ msgstr "Домашняя страница: %s"
msgid "About: %s"
msgstr "О пользователе: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
-#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+#: lib/command.php:358
+#, fuzzy, php-format
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
"Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Прямое сообщение для %s послано."
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Ошибка при отправке прямого сообщения."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Невозможно повторить собственную запись."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Запись уже повторена."
+
#: lib/command.php:435
-#, php-format
-msgid "Notice from %s repeated."
+#, fuzzy, php-format
+msgid "Notice from %s repeated"
msgstr "Запись %s повторена."
#: lib/command.php:437
@@ -4477,13 +4545,13 @@ msgid "Error repeating notice."
msgstr "Ошибка при повторении записи."
#: lib/command.php:491
-#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+#, fuzzy, php-format
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Запись слишком длинная — не больше %1$d символов, вы отправили %2$d."
#: lib/command.php:500
-#, php-format
-msgid "Reply to %s sent."
+#, fuzzy, php-format
+msgid "Reply to %s sent"
msgstr "Ответ %s отправлен."
#: lib/command.php:502
@@ -4491,7 +4559,8 @@ msgid "Error saving notice."
msgstr "Проблемы с сохранением записи."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+#, fuzzy
+msgid "Specify the name of the user to subscribe to"
msgstr "Укажите имя пользователя для подписки."
#: lib/command.php:563
@@ -4500,7 +4569,8 @@ msgid "Subscribed to %s"
msgstr "Подписано на %s"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+#, fuzzy
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Укажите имя пользователя для отмены подписки."
#: lib/command.php:591
@@ -4529,53 +4599,49 @@ msgid "Can't turn on notification."
msgstr "Есть оповещение."
#: lib/command.php:650
-msgid "Login command is disabled."
+#, fuzzy
+msgid "Login command is disabled"
msgstr "Команда входа отключена."
-#: lib/command.php:664
-#, php-format
-msgid "Could not create login token for %s."
-msgstr "Не удаётся создать токен входа для %s."
-
-#: lib/command.php:669
-#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+#: lib/command.php:661
+#, fuzzy, php-format
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr "Эта ссылка действительна только один раз в течение 2 минут: %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Вы ни на кого не подписаны."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Вы подписаны на этих людей:"
msgstr[1] "Вы подписаны на этих людей:"
msgstr[2] "Вы подписаны на этих людей:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Никто не подписан на вас."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Эти люди подписались на вас:"
msgstr[1] "Эти люди подписались на вас:"
msgstr[2] "Эти люди подписались на вас:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Вы не состоите ни в одной группе."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Вы являетесь участником следующих групп:"
msgstr[1] "Вы являетесь участником следующих групп:"
msgstr[2] "Вы являетесь участником следующих групп:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5258,11 +5324,13 @@ msgid "Attach a file"
msgstr "Прикрепить файл"
#: lib/noticeform.php:212
-msgid "Share my location."
+#, fuzzy
+msgid "Share my location"
msgstr "Поделиться своим местоположением."
#: lib/noticeform.php:214
-msgid "Do not share my location."
+#, fuzzy
+msgid "Do not share my location"
msgstr "Не публиковать своё местоположение."
#: lib/noticeform.php:215
@@ -5616,47 +5684,47 @@ msgstr "Сообщение"
msgid "Moderate"
msgstr "Модерировать"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "пару секунд назад"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "около минуты назад"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "около %d минут(ы) назад"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "около часа назад"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "около %d часа(ов) назад"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "около дня назад"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "около %d дня(ей) назад"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "около месяца назад"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "около %d месяца(ев) назад"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "около года назад"
@@ -5671,3 +5739,9 @@ msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
"%s не является допустимым цветом! Используйте 3 или 6 шестнадцатеричных "
"символов."
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Сообщение слишком длинное — не больше %1$d символов, вы отправили %2$d."
diff --git a/locale/statusnet.po b/locale/statusnet.po
index 91c6f9ba7..87d8b0b50 100644
--- a/locale/statusnet.po
+++ b/locale/statusnet.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-11 00:19+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -36,7 +36,7 @@ msgstr ""
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -364,7 +364,7 @@ msgstr ""
msgid "Group not found!"
msgstr ""
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr ""
@@ -372,7 +372,7 @@ msgstr ""
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr ""
@@ -414,11 +414,11 @@ msgstr ""
msgid "No such notice."
msgstr ""
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr ""
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr ""
@@ -588,7 +588,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1688,7 +1688,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1705,66 +1705,62 @@ msgstr ""
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, php-format
msgid "%1$s left group %2$s"
msgstr ""
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr ""
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr ""
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr ""
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr ""
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr ""
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr ""
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr ""
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1828,7 +1824,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr ""
@@ -1915,8 +1911,8 @@ msgstr ""
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -1960,6 +1956,26 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr ""
+#: actions/otp.php:69
+msgid "No user ID specified."
+msgstr ""
+
+#: actions/otp.php:83
+msgid "No login token specified."
+msgstr ""
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+msgid "Invalid login token specified."
+msgstr ""
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -1994,7 +2010,7 @@ msgid "6 or more characters"
msgstr ""
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr ""
@@ -2214,42 +2230,42 @@ msgstr ""
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr ""
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr ""
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr ""
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr ""
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr ""
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr ""
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2540,7 +2556,7 @@ msgstr ""
msgid "New password successfully saved. You are now logged in."
msgstr ""
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2552,7 +2568,7 @@ msgstr ""
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -2569,56 +2585,56 @@ msgstr ""
msgid "Email address already exists."
msgstr ""
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr ""
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr ""
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr ""
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr ""
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr ""
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2637,7 +2653,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3751,23 +3767,28 @@ msgstr ""
msgid "Description"
msgstr ""
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, php-format
+msgid "Could not create login token for %s"
+msgstr ""
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -3863,6 +3884,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, php-format
+msgid "%1$s - %2$s"
+msgstr ""
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4114,7 +4140,7 @@ msgstr ""
#: lib/command.php:88
#, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr ""
#: lib/command.php:92
@@ -4123,7 +4149,7 @@ msgstr ""
#: lib/command.php:99
#, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr ""
#: lib/command.php:126
@@ -4135,26 +4161,45 @@ msgid ""
msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr ""
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr ""
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+msgid "You are already a member of that group"
+msgstr ""
+
+#: lib/command.php:234
+#, php-format
+msgid "Could not join user %s to group %s"
+msgstr ""
+
+#: lib/command.php:239
+#, php-format
+msgid "%s joined group %s"
+msgstr ""
+
#: lib/command.php:284
#, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
+msgstr ""
+
+#: lib/command.php:289
+#, php-format
+msgid "%s left group %s"
msgstr ""
#: lib/command.php:318
#, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr ""
#: lib/command.php:321 lib/mail.php:254
@@ -4172,18 +4217,31 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
msgstr ""
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+msgid "Cannot repeat your own notice"
+msgstr ""
+
+#: lib/command.php:427
+msgid "Already repeated that notice"
+msgstr ""
+
#: lib/command.php:435
#, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr ""
#: lib/command.php:437
@@ -4192,12 +4250,12 @@ msgstr ""
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr ""
#: lib/command.php:502
@@ -4205,7 +4263,7 @@ msgid "Error saving notice."
msgstr ""
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4214,7 +4272,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4243,50 +4301,45 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
+#: lib/command.php:661
#, php-format
-msgid "Could not create login token for %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:669
-#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
-msgstr ""
-
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr ""
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] ""
msgstr[1] ""
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr ""
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] ""
msgstr[1] ""
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr ""
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] ""
msgstr[1] ""
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4839,11 +4892,11 @@ msgid "Attach a file"
msgstr ""
#: lib/noticeform.php:212
-msgid "Share my location."
+msgid "Share my location"
msgstr ""
#: lib/noticeform.php:214
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr ""
#: lib/noticeform.php:215
@@ -5197,47 +5250,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr ""
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr ""
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr ""
@@ -5250,3 +5303,8 @@ msgstr ""
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/sv/LC_MESSAGES/statusnet.po b/locale/sv/LC_MESSAGES/statusnet.po
index 11889caca..3d395afce 100644
--- a/locale/sv/LC_MESSAGES/statusnet.po
+++ b/locale/sv/LC_MESSAGES/statusnet.po
@@ -9,12 +9,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:04+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:14+0000\n"
"Language-Team: Swedish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: sv\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Ingen sådan sida"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -380,7 +380,7 @@ msgstr "Alias kan inte vara samma som smeknamn."
msgid "Group not found!"
msgstr "Grupp hittades inte!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Du är redan en medlem i denna grupp."
@@ -388,7 +388,7 @@ msgstr "Du är redan en medlem i denna grupp."
msgid "You have been blocked from that group by the admin."
msgstr "Du har blivit blockerad från denna grupp av administratören."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Kunde inte ansluta användare % till grupp %s."
@@ -430,11 +430,11 @@ msgstr "Du kan inte ta bort en annan användares status."
msgid "No such notice."
msgstr "Ingen sådan notis."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Kan inte upprepa din egen notis."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Redan upprepat denna notis."
@@ -605,7 +605,7 @@ msgstr "Beskär"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1768,7 +1768,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Du måste vara inloggad för att kunna gå med i en grupp."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s gick med i grupp %s"
@@ -1785,60 +1785,56 @@ msgstr "Du är inte en medlem i den gruppen."
msgid "Could not find membership record."
msgstr "Kunde inte hitta uppgift om medlemskap."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s lämnade grupp %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Redan inloggad."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Ogiltig eller utgången token."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Felaktigt användarnamn eller lösenord."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Fel vid inställning av användare. Du har sannolikt inte tillstånd."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Logga in"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Logga in på webbplatsen"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Smeknamn"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Lösenord"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Kom ihåg mig"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Logga in automatiskt i framtiden; inte för delade datorer!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Tappat bort eller glömt ditt lösenord?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1846,7 +1842,7 @@ msgstr ""
"Av säkerhetsskäl, var vänlig och skriv in ditt användarnamn och lösenord "
"igen innan du ändrar dina inställningar."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1914,7 +1910,7 @@ msgstr ""
msgid "Message sent"
msgstr "Meddelande skickat"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Direktmeddelande till %s skickat"
@@ -2009,8 +2005,8 @@ msgstr "innehållstyp "
msgid "Only "
msgstr "Bara "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Ett dataformat som inte stödjs"
@@ -2054,6 +2050,31 @@ msgstr "Visa eller göm profilutseenden."
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Namnet på URL-förkortningstjänsen är för långt (max 50 tecken)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Ingen grupp angiven."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Ingen notis angiven."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Ingen profil-ID i begäran."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Ogiltig eller utgången token."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Logga in på webbplatsen"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2088,7 +2109,7 @@ msgid "6 or more characters"
msgstr "Minst 6 tecken"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Bekräfta"
@@ -2313,42 +2334,42 @@ msgstr "Profilinformation"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 små bokstäver eller nummer, inga punkter eller mellanslag"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Fullständigt namn"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Hemsida"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL till din hemsida, blogg eller profil på en annan webbplats."
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Beskriv dig själv och dina intressen med högst 140 tecken"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Beskriv dig själv och dina intressen"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Biografi"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Plats"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Var du håller till, såsom \"Stad, Län, Land\""
@@ -2660,7 +2681,7 @@ msgstr "Fel uppstog i användarens inställning"
msgid "New password successfully saved. You are now logged in."
msgstr "Nya lösenordet sparat. Du är nu inloggad."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "Ledsen, bara inbjudna personer kan registrera sig."
@@ -2672,7 +2693,7 @@ msgstr "Ledsen, ogiltig inbjudningskod."
msgid "Registration successful"
msgstr "Registreringen genomförd"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Registrera"
@@ -2689,11 +2710,11 @@ msgstr "Du kan inte registrera dig om du inte godkänner licensen."
msgid "Email address already exists."
msgstr "E-postadressen finns redan."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Ogiltigt användarnamn eller lösenord."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2701,44 +2722,44 @@ msgstr ""
"Med detta formulär kan du skapa ett nytt konto. Du kan sedan posta notiser "
"och ansluta till vänner och kollegor. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 små bokstäver eller nummer, inga punkter eller mellanslag. Måste fyllas "
"i."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "Minst 6 tecken. Måste fyllas i."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Samma som lösenordet ovan. Måste fyllas i."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "E-post"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Används endast för uppdateringar, tillkännagivanden och återskapande av "
"lösenord"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Längre namn, förslagsvis ditt \"verkliga\" namn"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Min text och mina filer är tillgängliga under "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Creative Commons Erkännande 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2746,7 +2767,7 @@ msgstr ""
"med undantag av den här privata datan: lösenord, e-postadress, IM-adress, "
"telefonnummer."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2765,7 +2786,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3954,7 +3975,7 @@ msgstr "Författare"
msgid "Description"
msgstr "Beskrivning"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -3963,16 +3984,21 @@ msgstr ""
"Inga filer får vara större än %d byte och filen du skickade var %d byte. "
"Prova att ladda upp en mindre version."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr "En så här stor fil skulle överskrida din användarkvot på %d byte."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "En sådan här stor fil skulle överskrida din månatliga kvot på %d byte."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Kunde inte skapa inloggnings-token för %s"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Du är utestängd från att skicka direktmeddelanden."
@@ -4072,6 +4098,11 @@ msgstr "Övrigt"
msgid "Other options"
msgstr "Övriga alternativ"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Namnlös sida"
@@ -4329,7 +4360,7 @@ msgstr "Ledsen, detta kommando är inte implementerat än."
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Kunde inte hitta en användare med smeknamnet %s"
#: lib/command.php:92
@@ -4338,7 +4369,7 @@ msgstr "Det verkar inte vara särskilt meningsfullt att knuffa dig själv!"
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Knuff skickad till %s"
#: lib/command.php:126
@@ -4354,27 +4385,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Notis med den ID:n finns inte"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Användare har ingen sista notis"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Notis markerad som favorit."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Du är redan en medlem i denna grupp."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Kunde inte ansluta användare % till grupp %s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s gick med i grupp %s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Kunde inte ta bort användare %s från grupp %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s lämnade grupp %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Fullständigt namn: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4392,18 +4443,33 @@ msgstr "Hemsida: %s"
msgid "About: %s"
msgstr "Om: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "Meddelande för långt - maximum är %d tecken, du skickade %d"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Direktmeddelande till %s skickat"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Fel vid sändning av direktmeddelande."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Kan inte upprepa din egen notis."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Redan upprepat denna notis."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Notis fron %s upprepad"
#: lib/command.php:437
@@ -4412,12 +4478,12 @@ msgstr "Fel vid upprepning av notis."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "Notis för långt - maximum är %d tecken, du skickade %d"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Svar på %s skickat"
#: lib/command.php:502
@@ -4426,7 +4492,7 @@ msgstr "Fel vid sparande av notis."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "Ange namnet på användaren att prenumerara på"
#: lib/command.php:563
@@ -4436,7 +4502,7 @@ msgstr "Prenumerar på %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "Ange namnet på användaren att avsluta prenumeration på"
#: lib/command.php:591
@@ -4466,51 +4532,46 @@ msgstr "Kan inte stänga av notifikation."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr "Inloggningskommando är inaktiverat"
-#: lib/command.php:664
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Kunde inte skapa inloggnings-token för %s"
-
-#: lib/command.php:669
-#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
"Denna länk är endast användbar en gång, och gäller bara i 2 minuter: %s"
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Du prenumererar inte på någon."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Du prenumererar på denna person:"
msgstr[1] "Du prenumererar på dessa personer:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "Ingen prenumerar på dig."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Denna person prenumererar på dig:"
msgstr[1] "Dessa personer prenumererar på dig:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Du är inte medlem i några grupper."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Du är en medlem i denna grupp:"
msgstr[1] "Du är en medlem i dessa grupper:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5085,12 +5146,12 @@ msgstr "Bifoga en fil"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Dela din plats"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Dela din plats"
#: lib/noticeform.php:215
@@ -5445,47 +5506,47 @@ msgstr "Meddelande"
msgid "Moderate"
msgstr "Moderera"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "ett par sekunder sedan"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "för nån minut sedan"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "för %d minuter sedan"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "för en timma sedan"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "för %d timmar sedan"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "för en dag sedan"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "för %d dagar sedan"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "för en månad sedan"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "för %d månader sedan"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "för ett år sedan"
@@ -5498,3 +5559,8 @@ msgstr "%s är inte en giltig färg!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s är inte en giltig färg! Använd 3 eller 6 hexadecimala tecken."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "Meddelande för långt - maximum är %d tecken, du skickade %d"
diff --git a/locale/te/LC_MESSAGES/statusnet.po b/locale/te/LC_MESSAGES/statusnet.po
index ac356e7da..a9e89cc5a 100644
--- a/locale/te/LC_MESSAGES/statusnet.po
+++ b/locale/te/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:07+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:19+0000\n"
"Language-Team: Telugu\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: te\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "అటువంటి పేజీ లేదు"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -375,7 +375,7 @@ msgstr "మారుపేరు పేరుతో సమానంగా ఉం
msgid "Group not found!"
msgstr "గుంపు దొరకలేదు!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "మీరు ఇప్పటికే ఆ గుంపులో సభ్యులు."
@@ -383,7 +383,7 @@ msgstr "మీరు ఇప్పటికే ఆ గుంపులో సభ
msgid "You have been blocked from that group by the admin."
msgstr "నిర్వాహకులు ఆ గుంపు నుండి మిమ్మల్ని నిరోధించారు."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "ఓపెన్ఐడీ ఫారమును సృష్టించలేకపోయాం: %s"
@@ -425,12 +425,12 @@ msgstr "ఇతర వాడుకరుల స్థితిని మీరు
msgid "No such notice."
msgstr "అటువంటి సందేశమేమీ లేదు."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "ఈ లైసెన్సుకి అంగీకరించకపోతే మీరు నమోదుచేసుకోలేరు."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "ఈ నోటీసుని తొలగించు"
@@ -602,7 +602,7 @@ msgstr "కత్తిరించు"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1718,7 +1718,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "గుంపుల్లో చేరడానికి మీరు ప్రవేశించి ఉండాలి."
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s %s గుంపులో చేరారు"
@@ -1735,68 +1735,63 @@ msgstr "మీరు ఆ గుంపులో సభ్యులు కాద
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%2$s గుంపు నుండి %1$s వైదొలిగారు"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "ఇప్పటికే లోనికి ప్రవేశించారు."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "సందేశపు విషయం సరైనది కాదు"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "వాడుకరిపేరు లేదా సంకేతపదం తప్పు."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "ప్రవేశించండి"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "సైటు లోనికి ప్రవేశించు"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "పేరు"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "సంకేతపదం"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "నన్ను గుర్తుంచుకో"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "భవిష్యత్తులో ఆటోమెటిగ్గా లోనికి ప్రవేశించు; బయటి కంప్యూర్ల కొరకు కాదు!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "మీ సంకేతపదం మర్చిపోయారా?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr ""
"భద్రతా కారణాల దృష్ట్యా, అమరికలు మార్చే ముందు మీ వాడుకరి పేరుని మరియు సంకేతపదాన్ని మరోసారి ఇవ్వండి."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1862,7 +1857,7 @@ msgstr "మీకు మీరే సందేశాన్ని పంపుక
msgid "Message sent"
msgstr "సందేశాన్ని పంపించాం"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "%sకి నేరు సందేశాన్ని పంపించాం"
@@ -1952,8 +1947,8 @@ msgstr "విషయ రకం "
msgid "Only "
msgstr "మాత్రమే "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -1998,6 +1993,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL కుదింపు సేవ మరీ పెద్దగా ఉంది (50 అక్షరాలు గరిష్ఠం)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "కొత్త సందేశం"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "కొత్త సందేశం"
+
+#: actions/otp.php:90
+msgid "No login token requested."
+msgstr ""
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "సందేశపు విషయం సరైనది కాదు"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "సైటు లోనికి ప్రవేశించు"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2032,7 +2051,7 @@ msgid "6 or more characters"
msgstr "6 లేదా అంతకంటే ఎక్కువ అక్షరాలు"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "నిర్థారించు"
@@ -2264,42 +2283,42 @@ msgstr "ప్రొఫైలు సమాచారం"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 చిన్నబడి అక్షరాలు లేదా అంకెలు, విరామచిహ్నాలు మరియు ఖాళీలు తప్ప"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "పూర్తి పేరు"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "హోమ్ పేజీ"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "మీ హోమ్ పేజీ, బ్లాగు, లేదా వేరే సేటులోని మీ ప్రొఫైలు యొక్క చిరునామా"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "మీ గురించి మరియు మీ ఆసక్తుల గురించి %d అక్షరాల్లో చెప్పండి"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "మీ గురించి మరియు మీ ఆసక్తుల గురించి చెప్పండి"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "స్వపరిచయం"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "ప్రాంతం"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "మీరు ఎక్కడ నుండి, \"నగరం, రాష్ట్రం (లేదా ప్రాంతం), దేశం\""
@@ -2596,7 +2615,7 @@ msgstr ""
msgid "New password successfully saved. You are now logged in."
msgstr "మీ కొత్త సంకేతపదం భద్రమైంది. మీరు ఇప్పుడు లోనికి ప్రవేశించారు."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "క్షమించండి, ఆహ్వానితులు మాత్రమే నమోదుకాగలరు."
@@ -2608,7 +2627,7 @@ msgstr "క్షమించండి, తప్పు ఆహ్వాన స
msgid "Registration successful"
msgstr "నమోదు విజయవంతం"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "నమోదు"
@@ -2625,56 +2644,56 @@ msgstr "ఈ లైసెన్సుకి అంగీకరించకపో
msgid "Email address already exists."
msgstr "ఈమెయిల్ చిరునామా ఇప్పటికే ఉంది."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "వాడుకరిపేరు లేదా సంకేతపదం తప్పు."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "1-64 చిన్నబడి అక్షరాలు లేదా అంకెలు, విరామ చిహ్నాలు లేదా ఖాళీలు లేకుండా. తప్పనిసరి."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 లేదా అంతకంటే ఎక్కువ అక్షరాలు. తప్పనిసరి."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "పై సంకేతపదం మరోసారి. తప్పనిసరి."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "ఈమెయిల్"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "తాజా విశేషాలు, ప్రకటనలు, మరియు సంకేతపదం పోయినప్పుడు మాత్రమే ఉపయోగిస్తాం."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "పొడుగాటి పేరు, మీ \"అసలు\" పేరైతే మంచిది"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "నా పాఠ్యం మరియు ఫైళ్ళు లభ్యమయ్యే లైసెన్సు "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "క్రియేటివ్ కామన్స్ అట్రిబ్యూషన్ 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr " ఈ అంతరంగిక భోగట్టా తప్ప: సంకేతపదం, ఈమెయిల్ చిరునామా, IM చిరునామా, మరియు ఫోన్ నంబర్."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2693,7 +2712,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3839,23 +3858,28 @@ msgstr "రచయిత"
msgid "Description"
msgstr "వివరణ"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "మారుపేర్లని సృష్టించలేకపోయాం."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "నేరుగా సందేశాలు పంపడం నుండి మిమ్మల్ని నిషేధించారు."
@@ -3955,6 +3979,11 @@ msgstr "ఇతర"
msgid "Other options"
msgstr "ఇతర ఎంపికలు"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4221,7 +4250,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "వాడుకరిని తాజాకరించలేకున్నాం."
#: lib/command.php:92
@@ -4229,9 +4258,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr ""
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
-msgstr ""
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
+msgstr "%sకి స్పందనలు"
#: lib/command.php:126
#, php-format
@@ -4246,27 +4275,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "ఆ ఈమెయిలు చిరునామా లేదా వాడుకరిపేరుతో వాడుకరులెవరూ లేరు."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "వాడుకరికి ప్రొఫైలు లేదు."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "మీరు ఇప్పటికే ఆ గుంపులో సభ్యులు."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "ఓపెన్ఐడీ ఫారమును సృష్టించలేకపోయాం: %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s %s గుంపులో చేరారు"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "వాడుకరి %sని %s గుంపు నుండి తొలగించలేకపోయాం"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%2$s గుంపు నుండి %1$s వైదొలిగారు"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "పూర్తిపేరు: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4284,18 +4333,33 @@ msgstr ""
msgid "About: %s"
msgstr "గురించి: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "%sకి నేరు సందేశాన్ని పంపించాం"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "ఈ లైసెన్సుకి అంగీకరించకపోతే మీరు నమోదుచేసుకోలేరు."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "ఈ నోటీసుని తొలగించు"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "సందేశాలు"
#: lib/command.php:437
@@ -4305,12 +4369,12 @@ msgstr "సందేశాన్ని భద్రపరచడంలో పొ
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "%sకి స్పందనలు"
#: lib/command.php:502
@@ -4319,7 +4383,7 @@ msgid "Error saving notice."
msgstr "సందేశాన్ని భద్రపరచడంలో పొరపాటు."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4328,7 +4392,7 @@ msgid "Subscribed to %s"
msgstr "%sకి చందా చేరారు"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4357,50 +4421,45 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "మారుపేర్లని సృష్టించలేకపోయాం."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr "ఈ లంకెని ఒకే సారి ఉపయోగించగలరు, మరియు అది పనిచేసేది 2 నిమిషాలు మాత్రమే: %s"
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "మీరు ఎవరికీ చందాచేరలేదు."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "%sకి స్పందనలు"
msgstr[1] "%sకి స్పందనలు"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "మీకు చందాదార్లు ఎవరూ లేరు."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "%sకి స్పందనలు"
msgstr[1] "%sకి స్పందనలు"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "మీరు ఏ గుంపులోనూ సభ్యులు కాదు."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "మీరు ఇప్పటికే లోనికి ప్రవేశించారు!"
msgstr[1] "మీరు ఇప్పటికే లోనికి ప్రవేశించారు!"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4967,12 +5026,12 @@ msgstr "ఒక ఫైలుని జోడించు"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "ట్యాగులని భద్రపరచలేకున్నాం."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "ట్యాగులని భద్రపరచలేకున్నాం."
#: lib/noticeform.php:215
@@ -5341,47 +5400,47 @@ msgstr "సందేశం"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "కొన్ని క్షణాల క్రితం"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "ఓ నిమిషం క్రితం"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "%d నిమిషాల క్రితం"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "ఒక గంట క్రితం"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "%d గంటల క్రితం"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "ఓ రోజు క్రితం"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "%d రోజుల క్రితం"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "ఓ నెల క్రితం"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "%d నెలల క్రితం"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "ఒక సంవత్సరం క్రితం"
@@ -5394,3 +5453,8 @@ msgstr "%s అనేది సరైన రంగు కాదు!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s అనేది సరైన రంగు కాదు! 3 లేదా 6 హెక్స్ అక్షరాలను వాడండి."
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "నోటిసు చాలా పొడవుగా ఉంది - %d అక్షరాలు గరిష్ఠం, మీరు %d పంపించారు"
diff --git a/locale/tr/LC_MESSAGES/statusnet.po b/locale/tr/LC_MESSAGES/statusnet.po
index 2e6adfe66..9374b52ce 100644
--- a/locale/tr/LC_MESSAGES/statusnet.po
+++ b/locale/tr/LC_MESSAGES/statusnet.po
@@ -8,12 +8,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:11+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:23+0000\n"
"Language-Team: Turkish\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: out-statusnet\n"
@@ -39,7 +39,7 @@ msgstr "Böyle bir durum mesajı yok."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -382,7 +382,7 @@ msgstr ""
msgid "Group not found!"
msgstr "İstek bulunamadı!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "Zaten giriş yapmış durumdasıznız!"
@@ -391,7 +391,7 @@ msgstr "Zaten giriş yapmış durumdasıznız!"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Sunucuya yönlendirme yapılamadı: %s"
@@ -434,12 +434,12 @@ msgstr ""
msgid "No such notice."
msgstr "Böyle bir durum mesajı yok."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Zaten giriş yapmış durumdasıznız!"
@@ -616,7 +616,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1784,7 +1784,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1802,63 +1802,58 @@ msgstr "Bize o profili yollamadınız"
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s'in %2$s'deki durum mesajları "
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Zaten giriş yapılmış."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Geçersiz durum mesajı"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Yanlış kullanıcı adı veya parola."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Yetkilendirilmemiş."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Giriş"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Takma ad"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Parola"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Beni hatırla"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Gelecekte kendiliğinden giriş yap, paylaşılan bilgisayarlar için değildir!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Parolamı unuttum veya kaybettim"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1866,7 +1861,7 @@ msgstr ""
"Güvenliğiniz için, ayarlarınızı değiştirmeden önce lütfen kullanıcı adınızı "
"ve parolanızı tekrar giriniz."
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1933,7 +1928,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr ""
@@ -2024,8 +2019,8 @@ msgstr "Bağlan"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -2072,6 +2067,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Yer bilgisi çok uzun (azm: 255 karakter)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Yeni durum mesajı"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Yeni durum mesajı"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Yetkilendirme isteği yok!"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Geçersiz durum mesajı"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2108,7 +2127,7 @@ msgid "6 or more characters"
msgstr "6 veya daha fazla karakter"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Onayla"
@@ -2345,44 +2364,44 @@ msgstr ""
"1-64 küçük harf veya rakam, noktalama işaretlerine ve boşluklara izin "
"verilmez"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Tam İsim"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Başlangıç Sayfası"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
"Web Sitenizin, blogunuzun ya da varsa başka bir sitedeki profilinizin adresi"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Kendinizi ve ilgi alanlarınızı 140 karakter ile anlatın"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Hakkında"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Yer"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Bulunduğunuz yer, \"Şehir, Eyalet (veya Bölge), Ülke\" gibi"
@@ -2681,7 +2700,7 @@ msgstr "Kullanıcı ayarlamada hata oluştu."
msgid "New password successfully saved. You are now logged in."
msgstr "Yeni parola başarıyla kaydedildi. Şimdi giriş yaptınız."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2694,7 +2713,7 @@ msgstr "Onay kodu hatası."
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Kayıt"
@@ -2711,51 +2730,51 @@ msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız."
msgid "Email address already exists."
msgstr "Eposta adresi zaten var."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Geçersiz kullanıcı adı veya parola."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr ""
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Eposta"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
"Sadece sistem güncellemeleri, duyurular ve parola geri alma için kullanılır."
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Durum mesajlarim ve dosyalarim şu lisans ile korunmaktadır: "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
@@ -2764,7 +2783,7 @@ msgstr ""
"bu özel veriler haricinde: parola, eposta adresi, IM adresi, telefon "
"numarası."
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2783,7 +2802,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3952,23 +3971,28 @@ msgstr ""
msgid "Description"
msgstr "Abonelikler"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Avatar bilgisi kaydedilemedi"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -4070,6 +4094,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s'in %2$s'deki durum mesajları "
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4343,7 +4372,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Kullanıcı güncellenemedi."
#: lib/command.php:92
@@ -4351,9 +4380,9 @@ msgid "It does not make a lot of sense to nudge yourself!"
msgstr ""
#: lib/command.php:99
-#, php-format
-msgid "Nudge sent to %s."
-msgstr ""
+#, fuzzy, php-format
+msgid "Nudge sent to %s"
+msgstr "%s için cevaplar"
#: lib/command.php:126
#, php-format
@@ -4364,27 +4393,47 @@ msgid ""
msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr ""
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Kullanıcının profili yok."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Zaten giriş yapmış durumdasıznız!"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Sunucuya yönlendirme yapılamadı: %s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s'in %2$s'deki durum mesajları "
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "OpenID formu yaratılamadı: %s"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s'in %2$s'deki durum mesajları "
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Tam İsim"
#: lib/command.php:321 lib/mail.php:254
@@ -4402,18 +4451,33 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
msgstr ""
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Zaten giriş yapmış durumdasıznız!"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Durum mesajları"
#: lib/command.php:437
@@ -4423,12 +4487,12 @@ msgstr "Durum mesajını kaydederken hata oluştu."
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "%s için cevaplar"
#: lib/command.php:502
@@ -4437,7 +4501,7 @@ msgid "Error saving notice."
msgstr "Durum mesajını kaydederken hata oluştu."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4446,7 +4510,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4475,50 +4539,45 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Avatar bilgisi kaydedilemedi"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Bize o profili yollamadınız"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Bize o profili yollamadınız"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Uzaktan abonelik"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Uzaktan abonelik"
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Bize o profili yollamadınız"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Bize o profili yollamadınız"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5098,12 +5157,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Profil kaydedilemedi."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Profil kaydedilemedi."
#: lib/noticeform.php:215
@@ -5479,47 +5538,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "birkaç saniye önce"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "yaklaşık bir dakika önce"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "yaklaşık %d dakika önce"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "yaklaşık bir saat önce"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "yaklaşık %d saat önce"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "yaklaşık bir gün önce"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "yaklaşık %d gün önce"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "yaklaşık bir ay önce"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "yaklaşık %d ay önce"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "yaklaşık bir yıl önce"
@@ -5532,3 +5591,8 @@ msgstr "Başlangıç sayfası adresi geçerli bir URL değil."
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/uk/LC_MESSAGES/statusnet.po b/locale/uk/LC_MESSAGES/statusnet.po
index e52e525b1..187011216 100644
--- a/locale/uk/LC_MESSAGES/statusnet.po
+++ b/locale/uk/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:15+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:27+0000\n"
"Language-Team: Ukrainian\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: uk\n"
"X-Message-Group: out-statusnet\n"
@@ -41,7 +41,7 @@ msgstr "Немає такої сторінки"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -91,13 +91,13 @@ msgstr ""
"або напишіть щось самі."
#: actions/all.php:134
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) from his profile or [post something to "
"his or her attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"Ви можете [«розштовхати» %s](../%s) зі сторінки його профілю або [щось йому "
-"написати](%%%%action.newnotice%%%%?status_textarea=%s)."
+"Ви можете [«розштовхати» %1$s](../%2$s) зі сторінки його профілю або [щось "
+"йому написати](%%%%action.newnotice%%%%?status_textarea=%3$s)."
#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202
#, php-format
@@ -265,18 +265,16 @@ msgid "No status found with that ID."
msgstr "Жодних статусів з таким ID."
#: actions/apifavoritecreate.php:119
-#, fuzzy
msgid "This status is already a favorite."
-msgstr "Цей допис вже є обраним!"
+msgstr "Цей статус вже є обраним."
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
msgid "Could not create favorite."
msgstr "Не можна позначити як обране."
#: actions/apifavoritedestroy.php:122
-#, fuzzy
msgid "That status is not a favorite."
-msgstr "Цей допис не є обраним!"
+msgstr "Цей статус не є обраним."
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
msgid "Could not delete favorite."
@@ -296,9 +294,8 @@ msgid "Could not unfollow user: User not found."
msgstr "Не вдалося відмінити підписку: користувача не знайдено."
#: actions/apifriendshipsdestroy.php:120
-#, fuzzy
msgid "You cannot unfollow yourself."
-msgstr "Не можна відписатись від самого себе!"
+msgstr "Ви не можете відписатись від самого себе."
#: actions/apifriendshipsexists.php:94
msgid "Two user ids or screen_names must be supplied."
@@ -384,7 +381,7 @@ msgstr "Додаткове ім’я не може бути таким сами
msgid "Group not found!"
msgstr "Групу не знайдено!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr "Ви вже є учасником цієї групи."
@@ -392,19 +389,19 @@ msgstr "Ви вже є учасником цієї групи."
msgid "You have been blocked from that group by the admin."
msgstr "Адмін цієї групи заблокував Вашу присутність в ній."
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
-#, fuzzy, php-format
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
+#, php-format
msgid "Could not join user %1$s to group %2$s."
-msgstr "Не вдалось долучити користувача %s до групи %s."
+msgstr "Не вдалось долучити користувача %1$s до групи %2$s."
#: actions/apigroupleave.php:114
msgid "You are not a member of this group."
msgstr "Ви не є учасником цієї групи."
#: actions/apigroupleave.php:124 actions/leavegroup.php:127
-#, fuzzy, php-format
+#, php-format
msgid "Could not remove user %1$s from group %2$s."
-msgstr "Не вдалося видалити користувача %s з групи %s."
+msgstr "Не вдалось видалити користувача %1$s з групи %2$s."
#: actions/apigrouplist.php:95
#, php-format
@@ -434,11 +431,11 @@ msgstr "Ви не можете видалити статус іншого кор
msgid "No such notice."
msgstr "Такого допису немає."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
msgid "Cannot repeat your own notice."
msgstr "Не можу вторувати Вашому власному допису."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
msgid "Already repeated that notice."
msgstr "Цьому допису вже вторували."
@@ -472,14 +469,14 @@ msgid "Unsupported format."
msgstr "Формат не підтримується."
#: actions/apitimelinefavorites.php:108
-#, fuzzy, php-format
+#, php-format
msgid "%1$s / Favorites from %2$s"
-msgstr "%s / Обрані від %s"
+msgstr "%1$s / Обрані від %2$s"
#: actions/apitimelinefavorites.php:120
-#, fuzzy, php-format
+#, php-format
msgid "%1$s updates favorited by %2$s / %2$s."
-msgstr "%s оновлення обраних від %s / %s."
+msgstr "%1$s оновлення обраних від %2$s / %2$s."
#: actions/apitimelinegroup.php:109 actions/apitimelineuser.php:118
#: actions/grouprss.php:131 actions/userrss.php:90
@@ -610,7 +607,7 @@ msgstr "Втяти"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -707,9 +704,9 @@ msgid "%s blocked profiles"
msgstr "Заблоковані профілі %s"
#: actions/blockedfromgroup.php:93
-#, fuzzy, php-format
+#, php-format
msgid "%1$s blocked profiles, page %2$d"
-msgstr "Заблоковані профілі %s, сторінка %d"
+msgstr "Заблоковані профілі %1$s, сторінка %2$d"
#: actions/blockedfromgroup.php:108
msgid "A list of the users blocked from joining this group."
@@ -984,7 +981,6 @@ msgstr "Ви маєте спочатку увійти, аби мати змог
#: actions/editgroup.php:103 actions/editgroup.php:168
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
-#, fuzzy
msgid "You must be an admin to edit the group."
msgstr "Ви маєте бути наділені правами адмінистратора, аби редагувати групу"
@@ -1010,7 +1006,6 @@ msgid "Options saved."
msgstr "Опції збережено."
#: actions/emailsettings.php:60
-#, fuzzy
msgid "Email settings"
msgstr "Налаштування пошти"
@@ -1048,9 +1043,8 @@ msgid "Cancel"
msgstr "Скасувати"
#: actions/emailsettings.php:121
-#, fuzzy
msgid "Email address"
-msgstr "Електронні адреси"
+msgstr "Електронна адреса"
#: actions/emailsettings.php:123
msgid "Email address, like \"UserName@example.org\""
@@ -1349,15 +1343,15 @@ msgid "Block user from group"
msgstr "Блокувати користувача в групі"
#: actions/groupblock.php:162
-#, fuzzy, php-format
+#, php-format
msgid ""
"Are you sure you want to block user \"%1$s\" from the group \"%2$s\"? They "
"will be removed from the group, unable to post, and unable to subscribe to "
"the group in the future."
msgstr ""
-"Впевнені, що бажаєте блокувати користувача \"%s\" у групі \"%s\"? Його буде "
-"позбавлено членства у групі, він не зможе сюди писати, а також не зможе "
-"знову вступити до групи."
+"Впевнені, що бажаєте блокувати користувача «%1$s» у групі «%2$s»? Його буде "
+"позбавлено членства в групі, він не зможе сюди писати, і не зможе вступити "
+"до групи знов."
#: actions/groupblock.php:178
msgid "Do not block this user from this group"
@@ -1413,9 +1407,8 @@ msgstr ""
"розмір файлу %s."
#: actions/grouplogo.php:178
-#, fuzzy
msgid "User without matching profile."
-msgstr "Користувач з невідповідним профілем"
+msgstr "Користувач без відповідного профілю."
#: actions/grouplogo.php:362
msgid "Pick a square area of the image to be the logo."
@@ -1435,9 +1428,9 @@ msgid "%s group members"
msgstr "Учасники групи %s"
#: actions/groupmembers.php:96
-#, fuzzy, php-format
+#, php-format
msgid "%1$s group members, page %2$d"
-msgstr "Учасники групи %s, сторінка %d"
+msgstr "Учасники групи %1$s, сторінка %2$d"
#: actions/groupmembers.php:111
msgid "A list of the users in this group."
@@ -1547,9 +1540,8 @@ msgid "Error removing the block."
msgstr "Помилка при розблокуванні."
#: actions/imsettings.php:59
-#, fuzzy
msgid "IM settings"
-msgstr "Налаштування IM"
+msgstr "Налаштування ІМ"
#: actions/imsettings.php:70
#, php-format
@@ -1579,9 +1571,8 @@ msgstr ""
"Вашого списку контактів?)"
#: actions/imsettings.php:124
-#, fuzzy
msgid "IM address"
-msgstr "Адреса IM"
+msgstr "ІМ-адреса"
#: actions/imsettings.php:126
#, php-format
@@ -1797,10 +1788,10 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Ви повинні спочатку увійти на сайт, аби приєднатися до групи."
-#: actions/joingroup.php:135 lib/command.php:239
-#, fuzzy, php-format
+#: actions/joingroup.php:135
+#, php-format
msgid "%1$s joined group %2$s"
-msgstr "%s приєднався до групи %s"
+msgstr "%1$s приєднався до групи %2$s"
#: actions/leavegroup.php:60
msgid "You must be logged in to leave a group."
@@ -1814,62 +1805,58 @@ msgstr "Ви не є учасником цієї групи."
msgid "Could not find membership record."
msgstr "Не вдалося знайти запис щодо членства."
-#: actions/leavegroup.php:134 lib/command.php:289
-#, fuzzy, php-format
+#: actions/leavegroup.php:134
+#, php-format
msgid "%1$s left group %2$s"
-msgstr "%s залишив групу %s"
+msgstr "%1$s залишив групу %2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Тепер Ви увійшли."
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr "Недійсний або неправильний токен."
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Неточне ім’я або пароль."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr "Помилка. Можливо, Ви не авторизовані."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Увійти"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "Вхід на сайт"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Ім’я користувача"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Пароль"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Пам’ятати мене"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
"Автоматично входити у майбутньому; не для комп’ютерів загального "
"користування!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Загубили або забули пароль?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1877,7 +1864,7 @@ msgstr ""
"З міркувань безпеки, будь ласка, введіть ще раз ім’я та пароль, перед тим як "
"змінювати налаштування."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1892,19 +1879,19 @@ msgstr ""
"Лише користувач з правами адміністратора може призначити інших адмінів групи."
#: actions/makeadmin.php:95
-#, fuzzy, php-format
+#, php-format
msgid "%1$s is already an admin for group \"%2$s\"."
-msgstr "%s вже є адміном у групі \"%s\"."
+msgstr "%1$s вже є адміном у групі «%2$s»."
#: actions/makeadmin.php:132
-#, fuzzy, php-format
+#, php-format
msgid "Can't get membership record for %1$s in group %2$s."
-msgstr "Неможна отримати запис для %s щодо членства у групі %s"
+msgstr "Не можна отримати запис для %1$s щодо членства у групі %2$s."
#: actions/makeadmin.php:145
-#, fuzzy, php-format
+#, php-format
msgid "Can't make %1$s an admin for group %2$s."
-msgstr "Неможна %s надати права адміна у групі %s"
+msgstr "Не можна надати %1$s права адміна в групі %2$s."
#: actions/microsummary.php:69
msgid "No current status"
@@ -1945,10 +1932,10 @@ msgstr ""
msgid "Message sent"
msgstr "Повідомлення надіслано"
-#: actions/newmessage.php:185 lib/command.php:376
-#, fuzzy, php-format
+#: actions/newmessage.php:185
+#, php-format
msgid "Direct message to %s sent."
-msgstr "Пряме повідомлення до %s надіслано"
+msgstr "Пряме повідомлення для %s надіслано."
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
msgid "Ajax Error"
@@ -1976,9 +1963,9 @@ msgid "Text search"
msgstr "Пошук текстів"
#: actions/noticesearch.php:91
-#, fuzzy, php-format
+#, php-format
msgid "Search results for \"%1$s\" on %2$s"
-msgstr "Результати пошуку для \"%s\" на %s"
+msgstr "Результати пошуку на запит «%1$s» на %2$s"
#: actions/noticesearch.php:121
#, php-format
@@ -2040,8 +2027,8 @@ msgstr "тип змісту "
msgid "Only "
msgstr "Лише "
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Такий формат даних не підтримується."
@@ -2085,6 +2072,31 @@ msgstr "Показувати або приховувати дизайни сто
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Сервіс скорочення URL-адрес надто довгий (50 знаків максимум)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Групу не визначено."
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Зазначеного допису немає."
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "У запиті відсутній ID профілю."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Недійсний або неправильний токен."
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "Вхід на сайт"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2121,7 +2133,7 @@ msgid "6 or more characters"
msgstr "6 або більше знаків"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Підтвердити"
@@ -2283,7 +2295,6 @@ msgid "When to use SSL"
msgstr "Тоді використовувати SSL"
#: actions/pathsadminpanel.php:308
-#, fuzzy
msgid "SSL server"
msgstr "SSL-сервер"
@@ -2315,18 +2326,18 @@ msgid "Not a valid people tag: %s"
msgstr "Це недійсний особистий теґ: %s"
#: actions/peopletag.php:144
-#, fuzzy, php-format
+#, php-format
msgid "Users self-tagged with %1$s - page %2$d"
-msgstr "Користувачі з особистим теґом %s — сторінка %d"
+msgstr "Користувачі з особистим теґом %1$s — сторінка %2$d"
#: actions/postnotice.php:84
msgid "Invalid notice content"
msgstr "Недійсний зміст допису"
#: actions/postnotice.php:90
-#, fuzzy, php-format
+#, php-format
msgid "Notice license ‘%1$s’ is not compatible with site license ‘%2$s’."
-msgstr "Ліцензія допису ‘%s’ є несумісною з ліцензією сайту ‘%s’."
+msgstr "Ліцензія допису «%1$s» є несумісною з ліцензією сайту «%2$s»."
#: actions/profilesettings.php:60
msgid "Profile settings"
@@ -2347,42 +2358,42 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Повне ім’я"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Веб-сторінка"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL-адреса Вашої веб-сторінки, блоґу, або профілю на іншому сайті"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Опишіть себе та свої інтереси (%d знаків)"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
msgid "Describe yourself and your interests"
msgstr "Опишіть себе та свої інтереси"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Про себе"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Локація"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Де Ви живете, штибу \"Місто, область (регіон), країна\""
@@ -2694,7 +2705,7 @@ msgstr "Помилка в налаштуваннях користувача."
msgid "New password successfully saved. You are now logged in."
msgstr "Новий пароль успішно збережено. Тепер Ви увійшли."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
"Пробачте, але лише ті, кого було запрошено, мають змогу зареєструватись тут."
@@ -2707,7 +2718,7 @@ msgstr "Даруйте, помилка у коді запрошення."
msgid "Registration successful"
msgstr "Реєстрація успішна"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Реєстрація"
@@ -2724,11 +2735,11 @@ msgstr "Ви не зможете зареєструватись, якщо не
msgid "Email address already exists."
msgstr "Ця адреса вже використовується."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Недійсне ім’я або пароль."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
@@ -2736,42 +2747,42 @@ msgstr ""
"Ця форма дозволить створити новий акаунт. Ви зможете робити дописи і будете "
"в курсі справ Ваших друзів та колег. "
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 літери нижнього регістра і цифри, ніякої пунктуації або інтервалів. "
"Неодмінно."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 або більше знаків. Неодмінно."
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Такий само, як і пароль вище. Неодмінно."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Пошта"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Використовується лише для оновлень, оголошень та відновлення паролю"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Повне ім’я, звісно ж Ваше справжнє ім’я :)"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Мої повідомлення та файли доступні під "
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr "Кріейтів Комонс Авторство 3.0"
-#: actions/register.php:496
+#: actions/register.php:497
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
@@ -2779,8 +2790,8 @@ msgstr ""
" окрім цих приватних даних: пароль, електронна адреса, адреса IM, телефонний "
"номер."
-#: actions/register.php:537
-#, fuzzy, php-format
+#: actions/register.php:538
+#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
"want to...\n"
@@ -2797,15 +2808,14 @@ msgid ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-"Вітаємо, %s! І ласкаво просимо до %%%%site.name%%%%. Звідси Ви, можливо, "
-"схочете...\n"
+"Вітаємо, %1$s! І ласкаво просимо до %%%%site.name%%%%. Звідси Ви зможете...\n"
"\n"
-"*Подивитись [Ваш профіль](%s) та зробити свій перший допис.\n"
+"*Подивитись [Ваш профіль](%2$s) та зробити свій перший допис.\n"
"*Додати [адресу Jabber/GTalk](%%%%action.imsettings%%%%), аби мати змогу "
"надсилати дописи через службу миттєвих повідомлень.\n"
"*[Розшукати людей](%%%%action.peoplesearch%%%%), які мають спільні з Вами "
"інтереси.\n"
-"*Оновити [налаштування профілю](%%%%action.profilesettings%%%%), щоб інші "
+"*Оновити [налаштування профілю](%%%%action.profilesettings%%%%), аби інші "
"могли знати про Вас більше.\n"
"*Прочитати [додаткову інформацію](%%%%doc.help%%%%), аби переконатись, що Ви "
"нічого не пропустили. \n"
@@ -2813,7 +2823,7 @@ msgstr ""
"Дякуємо, що зареєструвались у нас, і, сподіваємось, Вам сподобається наш "
"сервіс."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -2924,13 +2934,13 @@ msgid "Replies feed for %s (Atom)"
msgstr "Стрічка відповідей до %s (Atom)"
#: actions/replies.php:198
-#, fuzzy, php-format
+#, php-format
msgid ""
"This is the timeline showing replies to %1$s but %2$s hasn't received a "
"notice to his attention yet."
msgstr ""
-"Ця стрічка дописів містить відповіді %s, але %s ще нічого не отримав у "
-"відповідь."
+"Ця стрічка дописів містить відповіді для %1$s, але %2$s поки що нічого не "
+"отримав у відповідь."
#: actions/replies.php:203
#, php-format
@@ -2942,13 +2952,13 @@ msgstr ""
"більшої кількості людей або [приєднавшись до груп](%%action.groups%%)."
#: actions/replies.php:205
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to [nudge %1$s](../%2$s) or [post something to his or her "
"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
msgstr ""
-"Ви можете [«розштовхати» %s](../%s) або [написати дещо варте його уваги](%%%%"
-"action.newnotice%%%%?status_textarea=%s)."
+"Ви можете [«розштовхати» %1$s](../%2$s) або [написати дещо варте його уваги](%"
+"%%%action.newnotice%%%%?status_textarea=%3$s)."
#: actions/repliesrss.php:72
#, php-format
@@ -3144,9 +3154,9 @@ msgid " tagged %s"
msgstr " позначено з %s"
#: actions/showstream.php:122
-#, fuzzy, php-format
+#, php-format
msgid "Notice feed for %1$s tagged %2$s (RSS 1.0)"
-msgstr "Стрічка дописів для %s з теґом %s (RSS 1.0)"
+msgstr "Стрічка дописів %1$s з теґом %2$s (RSS 1.0)"
#: actions/showstream.php:129
#, php-format
@@ -3169,9 +3179,9 @@ msgid "FOAF for %s"
msgstr "FOAF для %s"
#: actions/showstream.php:191
-#, fuzzy, php-format
+#, php-format
msgid "This is the timeline for %1$s but %2$s hasn't posted anything yet."
-msgstr "Це стрічка дописів %s, але %s ще нічого не написав."
+msgstr "Це стрічка дописів %1$s, але %2$s ще нічого не написав."
#: actions/showstream.php:196
msgid ""
@@ -3182,13 +3192,13 @@ msgstr ""
"аби розпочати! :)"
#: actions/showstream.php:198
-#, fuzzy, php-format
+#, php-format
msgid ""
"You can try to nudge %1$s or [post something to his or her attention](%%%%"
"action.newnotice%%%%?status_textarea=%2$s)."
msgstr ""
-"Ви можете «розштовхати» %s або [щось йому написати](%%%%action.newnotice%%%%?"
-"status_textarea=%s)."
+"Ви можете «розштовхати» %1$s або [щось йому написати](%%%%action.newnotice%%%"
+"%?status_textarea=%2$s)."
#: actions/showstream.php:234
#, php-format
@@ -3237,14 +3247,13 @@ msgid "Site name must have non-zero length."
msgstr "Ім’я сайту не може бути порожнім."
#: actions/siteadminpanel.php:154
-#, fuzzy
msgid "You must have a valid contact email address."
-msgstr "Електронна адреса має бути дійсною"
+msgstr "Електронна адреса має бути чинною."
#: actions/siteadminpanel.php:172
-#, fuzzy, php-format
+#, php-format
msgid "Unknown language \"%s\"."
-msgstr "Мову не визначено \"%s\""
+msgstr "Невідома мова «%s»."
#: actions/siteadminpanel.php:179
msgid "Invalid snapshot report URL."
@@ -3429,7 +3438,6 @@ msgid "Save site settings"
msgstr "Зберегти налаштування сайту"
#: actions/smssettings.php:58
-#, fuzzy
msgid "SMS settings"
msgstr "Налаштування СМС"
@@ -3459,7 +3467,6 @@ msgid "Enter the code you received on your phone."
msgstr "Введіть код, який Ви отримали телефоном."
#: actions/smssettings.php:138
-#, fuzzy
msgid "SMS phone number"
msgstr "Телефонний номер"
@@ -3551,9 +3558,9 @@ msgid "%s subscribers"
msgstr "Підписані до %s"
#: actions/subscribers.php:52
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscribers, page %2$d"
-msgstr "Підписані до %s, сторінка %d"
+msgstr "Підписчики %1$s, сторінка %2$d"
#: actions/subscribers.php:63
msgid "These are the people who listen to your notices."
@@ -3592,9 +3599,9 @@ msgid "%s subscriptions"
msgstr "Підписки %s"
#: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
msgid "%1$s subscriptions, page %2$d"
-msgstr "Підписки %s, сторінка %d"
+msgstr "Підписки %1$s, сторінка %2$d"
#: actions/subscriptions.php:65
msgid "These are the people whose notices you listen to."
@@ -3722,10 +3729,10 @@ msgid "Unsubscribed"
msgstr "Відписано"
#: actions/updateprofile.php:62 actions/userauthorization.php:330
-#, fuzzy, php-format
+#, php-format
msgid ""
"Listenee stream license ‘%1$s’ is not compatible with site license ‘%2$s’."
-msgstr "Ліцензія ‘%s’ не відповідає ліцензії сайту ‘%s’."
+msgstr "Ліцензія «%1$s» не відповідає ліцензії сайту «%2$s»."
#: actions/useradminpanel.php:58 lib/adminpanelaction.php:321
#: lib/personalgroupnav.php:115
@@ -3883,9 +3890,9 @@ msgstr ""
"підписку."
#: actions/userauthorization.php:296
-#, fuzzy, php-format
+#, php-format
msgid "Listener URI ‘%s’ not found here."
-msgstr "URI слухача ‘%s’ тут не знайдено"
+msgstr "URI слухача «%s» тут не знайдено"
#: actions/userauthorization.php:301
#, php-format
@@ -3949,9 +3956,9 @@ msgstr ""
"Спробуйте [знайти якісь групи](%%action.groupsearch%%) і приєднайтеся до них."
#: actions/version.php:73
-#, fuzzy, php-format
+#, php-format
msgid "StatusNet %s"
-msgstr "Статистика"
+msgstr "StatusNet %s"
#: actions/version.php:153
#, php-format
@@ -3959,15 +3966,16 @@ msgid ""
"This site is powered by %1$s version %2$s, Copyright 2008-2010 StatusNet, "
"Inc. and contributors."
msgstr ""
+"Цей сайт працює на %1$s, версія %2$s. Авторські права 2008-2010 StatusNet, "
+"Inc. і розробники."
#: actions/version.php:157
-#, fuzzy
msgid "StatusNet"
-msgstr "Статус видалено."
+msgstr "StatusNet"
#: actions/version.php:161
msgid "Contributors"
-msgstr ""
+msgstr "Розробники"
#: actions/version.php:168
msgid ""
@@ -3976,6 +3984,10 @@ msgid ""
"Software Foundation, either version 3 of the License, or (at your option) "
"any later version. "
msgstr ""
+"StatusNet є вільним програмним забезпеченням: Ви можете розповсюджувати та/"
+"або змінювати його відповідно до умов GNU Affero General Public License, що "
+"їх було опубліковано Free Software Foundation, 3-тя версія ліцензії або (на "
+"Ваш розсуд) будь-яка подальша версія. "
#: actions/version.php:174
msgid ""
@@ -3984,6 +3996,10 @@ msgid ""
"FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License "
"for more details. "
msgstr ""
+"Ми розміщуємо дану програму в надії, що вона стане корисною, проте НЕ ДАЄМО "
+"ЖОДНИХ ГАРАНТІЙ; у тому числі неявних гарантій її КОМЕРЦІЙНОЇ ЦІННОСТІ або "
+"ПРИДАТНОСТІ ДЛЯ ДОСЯГНЕННЯ ПЕВНОЇ МЕТИ. Щодо більш детальних роз’яснень, "
+"ознайомтесь з умовами GNU Affero General Public License. "
#: actions/version.php:180
#, php-format
@@ -3991,31 +4007,30 @@ msgid ""
"You should have received a copy of the GNU Affero General Public License "
"along with this program. If not, see %s."
msgstr ""
+"Разом з програмою Ви маєте отримати копію ліцензійних умов GNU Affero "
+"General Public License. Якщо ні, перейдіть на %s."
#: actions/version.php:189
msgid "Plugins"
-msgstr ""
+msgstr "Додатки"
#: actions/version.php:195
-#, fuzzy
msgid "Name"
-msgstr "Ім’я користувача"
+msgstr "Ім’я"
#: actions/version.php:196 lib/action.php:741
-#, fuzzy
msgid "Version"
-msgstr "Сесії"
+msgstr "Версія"
#: actions/version.php:197
-#, fuzzy
msgid "Author(s)"
-msgstr "Автор"
+msgstr "Автор(и)"
#: actions/version.php:198 lib/groupeditform.php:172
msgid "Description"
msgstr "Опис"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
@@ -4024,16 +4039,21 @@ msgstr ""
"Ні, файл не може бути більшим за %d байтів, а те, що Ви хочете надіслати, "
"важить %d байтів. Спробуйте меншу версію."
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr "Розміри цього файлу перевищують Вашу квоту на %d байтів."
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr "Розміри цього файлу перевищують Вашу місячну квоту на %d байтів."
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Не вдалося створити токен входу для %s."
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr "Вам заборонено надсилати прямі повідомлення."
@@ -4133,6 +4153,11 @@ msgstr "Інше"
msgid "Other options"
msgstr "Інші опції"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "Сторінка без заголовку"
@@ -4316,9 +4341,8 @@ msgid "You cannot make changes to this site."
msgstr "Ви не можете щось змінювати на цьому сайті."
#: lib/adminpanelaction.php:107
-#, fuzzy
msgid "Changes to that panel are not allowed."
-msgstr "Реєстрацію не дозволено."
+msgstr "Для цієї панелі зміни не припустимі."
#: lib/adminpanelaction.php:206
msgid "showForm() not implemented."
@@ -4390,8 +4414,8 @@ msgstr "Даруйте, але виконання команди ще не за
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
-msgstr "Не вдалося знайти користувача з іменем %s"
+msgid "Could not find a user with nickname %s"
+msgstr "Не вдалося знайти користувача з ім’ям %s."
#: lib/command.php:92
msgid "It does not make a lot of sense to nudge yourself!"
@@ -4399,8 +4423,8 @@ msgstr "Гадаємо, користі від «розштовхування»
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
-msgstr "Спробу «розштовхати» %s зараховано"
+msgid "Nudge sent to %s"
+msgstr "Спробу «розштовхати» %s зараховано."
#: lib/command.php:126
#, php-format
@@ -4415,27 +4439,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
-msgstr "Такого допису не існує"
+msgid "Notice with that id does not exist"
+msgstr "Допису з таким id не існує."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
-msgstr "Користувач не має останнього допису"
+msgid "User has no last notice"
+msgstr "Користувач не має останнього допису."
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "Допис позначено як обраний."
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Ви вже є учасником цієї групи."
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Не вдалось долучити користувача %1$s до групи %2$s."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s приєднався до групи %2$s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
-msgstr "Не вдалося видалити користувача %s з групи %s"
+msgid "Could not remove user %s to group %s"
+msgstr "Не вдалося видалити користувача %1$s з групи %2$s."
+
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s залишив групу %2$s"
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Повне ім’я: %s"
#: lib/command.php:321 lib/mail.php:254
@@ -4453,19 +4497,35 @@ msgstr "Веб-сторінка: %s"
msgid "About: %s"
msgstr "Про мене: %s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Повідомлення надто довге — максимум %d знаків, а ви надсилаєте %d"
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+"Повідомлення надто довге — максимум %1$d символів, а Ви надсилаєте %2$d."
+
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Пряме повідомлення для %s надіслано."
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "Помилка при відправці прямого повідомлення."
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Не можу вторувати Вашому власному допису."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Цьому допису вже вторували."
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
-msgstr "Допису від %s вторували"
+msgid "Notice from %s repeated"
+msgstr "Допису від %s вторували."
#: lib/command.php:437
msgid "Error repeating notice."
@@ -4473,13 +4533,13 @@ msgstr "Помилка із вторуванням допису."
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
-msgstr "Допис надто довгий — максимум %d знаків, а ви надсилаєте %d"
+msgid "Notice too long - maximum is %d characters, you sent %d"
+msgstr "Допис надто довгий — максимум %1$d символів, а Ви надсилаєте %2$d."
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
-msgstr "Відповідь до %s надіслано"
+msgid "Reply to %s sent"
+msgstr "Відповідь для %s надіслано."
#: lib/command.php:502
msgid "Error saving notice."
@@ -4487,8 +4547,8 @@ msgstr "Проблема при збереженні допису."
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
-msgstr "Зазначте ім’я користувача, до якого бажаєте підписатись"
+msgid "Specify the name of the user to subscribe to"
+msgstr "Зазначте ім’я користувача, до якого бажаєте підписатись."
#: lib/command.php:563
#, php-format
@@ -4497,8 +4557,8 @@ msgstr "Підписано до %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
-msgstr "Зазначте ім’я користувача, від якого бажаєте відписатись"
+msgid "Specify the name of the user to unsubscribe from"
+msgstr "Зазначте ім’я користувача, від якого бажаєте відписатись."
#: lib/command.php:591
#, php-format
@@ -4527,54 +4587,49 @@ msgstr "Не можна увімкнути сповіщення."
#: lib/command.php:650
#, fuzzy
-msgid "Login command is disabled."
-msgstr "Команду входу відключено"
+msgid "Login command is disabled"
+msgstr "Команду входу відключено."
-#: lib/command.php:664
+#: lib/command.php:661
#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Не вдалося створити токен входу для %s"
-
-#: lib/command.php:669
-#, fuzzy, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-"Це посилання можна використати лише раз, воно дійсне протягом 2 хвилин: %s"
+"Це посилання можна використати лише раз, воно дійсне протягом 2 хвилин: %s."
-#: lib/command.php:685
+#: lib/command.php:677
msgid "You are not subscribed to anyone."
msgstr "Ви не маєте жодних підписок."
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Ви підписані до цієї особи:"
msgstr[1] "Ви підписані до цих людей:"
msgstr[2] "Ви підписані до цих людей:"
-#: lib/command.php:707
+#: lib/command.php:699
msgid "No one is subscribed to you."
msgstr "До Вас ніхто не підписаний."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Ця особа є підписаною до Вас:"
msgstr[1] "Ці люди підписані до Вас:"
msgstr[2] "Ці люди підписані до Вас:"
-#: lib/command.php:729
+#: lib/command.php:721
msgid "You are not a member of any groups."
msgstr "Ви не є учасником жодної групи."
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Ви є учасником групи:"
msgstr[1] "Ви є учасником таких груп:"
msgstr[2] "Ви є учасником таких груп:"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -4948,11 +5003,9 @@ msgstr ""
"Змінити електронну адресу або умови сповіщення — %8$s\n"
#: lib/mail.php:258
-#, fuzzy, php-format
+#, php-format
msgid "Bio: %s"
-msgstr ""
-"Про себе: %s\n"
-"\n"
+msgstr "Про себе: %s"
#: lib/mail.php:286
#, php-format
@@ -5168,9 +5221,9 @@ msgstr ""
"Вибачте, але не затверджено жодної електронної адреси для вхідної пошти."
#: lib/mailhandler.php:228
-#, fuzzy, php-format
+#, php-format
msgid "Unsupported message type: %s"
-msgstr "Формат зображення не підтримується."
+msgstr "Формат повідомлення не підтримується: %s"
#: lib/mediafile.php:98 lib/mediafile.php:123
msgid "There was a database error while saving your file. Please try again."
@@ -5205,18 +5258,16 @@ msgid "File upload stopped by extension."
msgstr "Завантаження файлу зупинено розширенням."
#: lib/mediafile.php:179 lib/mediafile.php:216
-#, fuzzy
msgid "File exceeds user's quota."
-msgstr "Файл перевищив квоту користувача!"
+msgstr "Файл перевищив квоту користувача."
#: lib/mediafile.php:196 lib/mediafile.php:233
msgid "File could not be moved to destination directory."
msgstr "Файл не може бути переміщений у директорію призначення."
#: lib/mediafile.php:201 lib/mediafile.php:237
-#, fuzzy
msgid "Could not determine file's MIME type."
-msgstr "Не вдається визначити мімічний тип файлу."
+msgstr "Не вдається визначити MIME-тип файлу."
#: lib/mediafile.php:270
#, php-format
@@ -5224,9 +5275,9 @@ msgid " Try using another %s format."
msgstr " Спробуйте використати інший %s формат."
#: lib/mediafile.php:275
-#, fuzzy, php-format
+#, php-format
msgid "%s is not a supported file type on this server."
-msgstr "%s не підтримується як тип файлу на цьому сервері."
+msgstr "%s не підтримується як тип файлів на цьому сервері."
#: lib/messageform.php:120
msgid "Send a direct notice"
@@ -5259,17 +5310,17 @@ msgstr "Вкласти файл"
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
-msgstr "Показувати місцезнаходження"
+msgid "Share my location"
+msgstr "Показувати локацію."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
-msgstr "Показувати місцезнаходження"
+msgid "Do not share my location"
+msgstr "Приховувати локацію."
#: lib/noticeform.php:215
msgid "Hide this info"
-msgstr ""
+msgstr "Сховати інформацію"
#: lib/noticelist.php:428
#, php-format
@@ -5386,9 +5437,8 @@ msgid "Tags in %s's notices"
msgstr "Теґи у дописах %s"
#: lib/plugin.php:114
-#, fuzzy
msgid "Unknown"
-msgstr "Дія невідома"
+msgstr "Невідомо"
#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
msgid "Subscriptions"
@@ -5619,47 +5669,47 @@ msgstr "Повідомлення"
msgid "Moderate"
msgstr "Модерувати"
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "мить тому"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "хвилину тому"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "близько %d хвилин тому"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "годину тому"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "близько %d годин тому"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "день тому"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "близько %d днів тому"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "місяць тому"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "близько %d місяців тому"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "рік тому"
@@ -5672,3 +5722,9 @@ msgstr "%s є неприпустимим кольором!"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr "%s неприпустимий колір! Використайте 3 або 6 знаків (HEX-формат)"
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
+"Повідомлення надто довге — максимум %1$d символів, а Ви надсилаєте %2$d."
diff --git a/locale/vi/LC_MESSAGES/statusnet.po b/locale/vi/LC_MESSAGES/statusnet.po
index c1721569a..b503aa625 100644
--- a/locale/vi/LC_MESSAGES/statusnet.po
+++ b/locale/vi/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:18+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:31+0000\n"
"Language-Team: Vietnamese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: vi\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "Không có tin nhắn nào."
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -384,7 +384,7 @@ msgstr ""
msgid "Group not found!"
msgstr "Phương thức API không tìm thấy!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "Bạn đã theo những người này:"
@@ -393,7 +393,7 @@ msgstr "Bạn đã theo những người này:"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi."
@@ -436,12 +436,12 @@ msgstr "Bạn đã không xóa trạng thái của những người khác."
msgid "No such notice."
msgstr "Không có tin nhắn nào."
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "Bạn không thể đăng ký nếu không đồng ý các điều khoản."
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "Xóa tin nhắn"
@@ -621,7 +621,7 @@ msgstr "Nhóm"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1861,7 +1861,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "Bạn phải đăng nhập vào mới có thể gửi thư mời những "
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s và nhóm"
@@ -1881,62 +1881,57 @@ msgstr "Bạn chưa cập nhật thông tin riêng"
msgid "Could not find membership record."
msgstr "Không thể cập nhật thành viên."
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s và nhóm"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "Đã đăng nhập."
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "Nội dung tin nhắn không hợp lệ"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "Sai tên đăng nhập hoặc mật khẩu."
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "Chưa được phép."
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "Đăng nhập"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "Biệt danh"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "Mật khẩu"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "Nhớ tôi"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "Sẽ tự động đăng nhập, không dành cho các máy sử dụng chung!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "Mất hoặc quên mật khẩu?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
@@ -1944,7 +1939,7 @@ msgstr ""
"Vì lý do bảo mật, bạn hãy nhập lại tên đăng nhập và mật khẩu trước khi thay "
"đổi trong điều chỉnh."
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -2015,7 +2010,7 @@ msgstr ""
msgid "Message sent"
msgstr "Tin mới nhất"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "Tin nhắn riêng"
@@ -2109,8 +2104,8 @@ msgstr "Kết nối"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "Không hỗ trợ định dạng dữ liệu này."
@@ -2158,6 +2153,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "Tên khu vực quá dài (không quá 255 ký tự)."
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "Thông báo mới"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "Thông báo mới"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "Không có URL cho hồ sơ để quay về."
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "Nội dung tin nhắn không hợp lệ"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2196,7 +2215,7 @@ msgid "6 or more characters"
msgstr "Nhiều hơn 6 ký tự"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "Xác nhận"
@@ -2437,43 +2456,43 @@ msgstr "Hồ sơ này không biết"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 chữ cái thường hoặc là chữ số, không có dấu chấm hay "
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "Tên đầy đủ"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "Trang chủ hoặc Blog"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "URL về Trang chính, Blog, hoặc hồ sơ cá nhân của bạn trên "
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "Nói về bạn và những sở thích của bạn khoảng 140 ký tự"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "Nói về bạn và những sở thích của bạn khoảng 140 ký tự"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "Lý lịch"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "Thành phố"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "Bạn ở đâu, \"Thành phố, Tỉnh thành, Quốc gia\""
@@ -2776,7 +2795,7 @@ msgstr "Lỗi xảy ra khi tạo thành viên."
msgid "New password successfully saved. You are now logged in."
msgstr "Mật khẩu mới đã được lưu. Bạn có thể đăng nhập ngay bây giờ."
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2789,7 +2808,7 @@ msgstr "Lỗi xảy ra với mã xác nhận."
msgid "Registration successful"
msgstr "Đăng ký thành công"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "Đăng ký"
@@ -2807,59 +2826,59 @@ msgstr "Bạn không thể đăng ký nếu không đồng ý các điều kho
msgid "Email address already exists."
msgstr "Địa chỉ email đã tồn tại."
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "Tên đăng nhập hoặc mật khẩu không hợp lệ."
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 chữ cái thường hoặc là chữ số, không có dấu chấm hay khoảng trắng. Bắt "
"buộc."
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "Nhiều hơn 6 ký tự. Bắt buộc"
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "Cùng mật khẩu ở trên. Bắt buộc."
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "Email"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "Chỉ dùng để cập nhật, thông báo, và hồi phục mật khẩu"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "Họ tên đầy đủ của bạn, tốt nhất là tên thật của bạn."
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "Ghi chú và các file của tôi đã có ở phía dưới"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr " ngoại trừ thông tin riêng: mật khẩu, email, địa chỉ IM, số điện thoại"
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2890,7 +2909,7 @@ msgstr ""
"\n"
"Cảm ơn bạn đã đăng ký để là thành viên và rất mong bạn sẽ thích dịch vụ này."
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4095,23 +4114,28 @@ msgstr ""
msgid "Description"
msgstr "Mô tả"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "Không thể tạo favorite."
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4217,6 +4241,11 @@ msgstr "Sau"
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%s (%s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4500,7 +4529,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "Không thể cập nhật thông tin user với địa chỉ email đã được xác nhận."
#: lib/command.php:92
@@ -4509,7 +4538,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "Tin đã gửi"
#: lib/command.php:126
@@ -4522,13 +4551,13 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "Không tìm thấy trạng thái nào tương ứng với ID đó."
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "Người dùng không có thông tin."
#: lib/command.php:190
@@ -4536,14 +4565,34 @@ msgstr "Người dùng không có thông tin."
msgid "Notice marked as fave."
msgstr "Tin nhắn này đã có trong danh sách tin nhắn ưa thích của bạn rồi!"
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "Bạn đã theo những người này:"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi."
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s và nhóm"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi."
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s và nhóm"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "Tên đầy đủ"
#: lib/command.php:321 lib/mail.php:254
@@ -4561,19 +4610,34 @@ msgstr "Trang chủ hoặc Blog: %s"
msgid "About: %s"
msgstr "Giới thiệu"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr ""
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "Tin nhắn riêng"
+
#: lib/command.php:378
#, fuzzy
msgid "Error sending direct message."
msgstr "Thư bạn đã gửi"
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "Bạn không thể đăng ký nếu không đồng ý các điều khoản."
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "Xóa tin nhắn"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "Tin đã gửi"
#: lib/command.php:437
@@ -4583,12 +4647,12 @@ msgstr "Có lỗi xảy ra khi lưu tin nhắn."
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "Trả lời tin nhắn này"
#: lib/command.php:502
@@ -4597,7 +4661,7 @@ msgid "Error saving notice."
msgstr "Có lỗi xảy ra khi lưu tin nhắn."
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4606,7 +4670,7 @@ msgid "Subscribed to %s"
msgstr "Theo nhóm này"
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4637,50 +4701,45 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "Không thể tạo favorite."
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "Bạn đã theo những người này:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "Không thể tạo favorite."
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "Không thể tạo favorite."
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "Bạn chưa cập nhật thông tin riêng"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "Bạn chưa cập nhật thông tin riêng"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5320,12 +5379,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "Không thể lưu hồ sơ cá nhân."
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "Không thể lưu hồ sơ cá nhân."
#: lib/noticeform.php:215
@@ -5718,47 +5777,47 @@ msgstr "Tin mới nhất"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "vài giây trước"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "1 phút trước"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "%d phút trước"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "1 giờ trước"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "%d giờ trước"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "1 ngày trước"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "%d ngày trước"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "1 tháng trước"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "%d tháng trước"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "1 năm trước"
@@ -5771,3 +5830,8 @@ msgstr "Trang chủ không phải là URL"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/locale/zh_CN/LC_MESSAGES/statusnet.po b/locale/zh_CN/LC_MESSAGES/statusnet.po
index 84ddd53d5..040571a28 100644
--- a/locale/zh_CN/LC_MESSAGES/statusnet.po
+++ b/locale/zh_CN/LC_MESSAGES/statusnet.po
@@ -10,12 +10,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:22+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:35+0000\n"
"Language-Team: Simplified Chinese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n"
"X-Message-Group: out-statusnet\n"
@@ -40,7 +40,7 @@ msgstr "没有该页面"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -382,7 +382,7 @@ msgstr ""
msgid "Group not found!"
msgstr "API 方法未实现!"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
#, fuzzy
msgid "You are already a member of that group."
msgstr "您已经是该组成员"
@@ -391,7 +391,7 @@ msgstr "您已经是该组成员"
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "无法把 %s 用户添加到 %s 组"
@@ -434,12 +434,12 @@ msgstr "您不能删除其他用户的状态。"
msgid "No such notice."
msgstr "没有这份通告。"
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "无法开启通告。"
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "删除通告"
@@ -615,7 +615,7 @@ msgstr "剪裁"
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1818,7 +1818,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr "您必须登录才能加入组。"
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%1$s joined group %2$s"
msgstr "%s 加入 %s 组"
@@ -1838,68 +1838,63 @@ msgstr "您未告知此个人信息"
msgid "Could not find membership record."
msgstr "无法更新用户记录。"
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%s 离开群 %s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "已登录。"
-#: actions/login.php:114 actions/login.php:124
-#, fuzzy
-msgid "Invalid or expired token."
-msgstr "通告内容不正确"
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "用户名或密码不正确。"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
#, fuzzy
msgid "Error setting user. You are probably not authorized."
msgstr "未认证。"
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "登录"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr "登录"
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "昵称"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr "密码"
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr "记住登录状态"
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "保持这台机器上的登录状态。不要在共用的机器上保持登录!"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "忘记了密码?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr "由于安全原因,修改设置前需要输入用户名和密码。"
-#: actions/login.php:290
+#: actions/login.php:270
#, fuzzy, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1966,7 +1961,7 @@ msgstr "不要向自己发送消息;跟自己悄悄说就得了。"
msgid "Message sent"
msgstr "新消息"
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, fuzzy, php-format
msgid "Direct message to %s sent."
msgstr "已向 %s 发送消息"
@@ -2056,8 +2051,8 @@ msgstr "连接"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr "不支持的数据格式。"
@@ -2104,6 +2099,31 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "URL缩短服务超长(最多50个字符)。"
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "没有收件人。"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "没有收件人。"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "服务器没有返回个人信息URL。"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "通告内容不正确"
+
+#: actions/otp.php:104
+#, fuzzy
+msgid "Login token expired."
+msgstr "登录"
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2140,7 +2160,7 @@ msgid "6 or more characters"
msgstr "6 个或更多字符"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "确认"
@@ -2374,43 +2394,43 @@ msgstr "未知的帐号"
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1 到 64 个小写字母或数字,不包含标点及空白"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "全名"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "主页"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr "您的主页、博客或在其他站点的URL"
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "用不超过140个字符描述您自己和您的爱好"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "用不超过140个字符描述您自己和您的爱好"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "自述"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "位置"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr "你的位置,格式类似\"城市,省份,国家\""
@@ -2710,7 +2730,7 @@ msgstr "保存用户设置时出错。"
msgid "New password successfully saved. You are now logged in."
msgstr "新密码已保存,您现在已登录。"
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr "对不起,请邀请那些能注册的人。"
@@ -2723,7 +2743,7 @@ msgstr "验证码出错。"
msgid "Registration successful"
msgstr "注册成功。"
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr "注册"
@@ -2740,57 +2760,57 @@ msgstr "您必须同意此授权方可注册。"
msgid "Email address already exists."
msgstr "电子邮件地址已存在。"
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "用户名或密码不正确。"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr "1 到 64 个小写字母或数字,不包含标点及空白。此项必填。"
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr "6 个或更多字符。此项必填。"
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr "相同的密码。此项必填。"
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "电子邮件"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr "只用于更新、通告或密码恢复"
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr "长名字,最好是“实名”"
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr "我的文字和文件采用的授权方式为"
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr "除了隐私内容:密码,电子邮件,即时通讯帐号,电话号码。"
-#: actions/register.php:537
+#: actions/register.php:538
#, fuzzy, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2821,7 +2841,7 @@ msgstr ""
"\n"
"感谢您的注册,希望您喜欢这个服务。"
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -4019,23 +4039,28 @@ msgstr ""
msgid "Description"
msgstr "描述"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "无法创建收藏。"
+
#: classes/Message.php:45
#, fuzzy
msgid "You are banned from sending direct messages."
@@ -4137,6 +4162,11 @@ msgstr "其他"
msgid "Other options"
msgstr "其他选项"
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s (%2$s)"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr "无标题页"
@@ -4417,7 +4447,7 @@ msgstr "对不起,这个命令还没有实现。"
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "无法更新已确认的电子邮件。"
#: lib/command.php:92
@@ -4426,7 +4456,7 @@ msgstr ""
#: lib/command.php:99
#, fuzzy, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr "振铃呼叫发出。"
#: lib/command.php:126
@@ -4439,27 +4469,47 @@ msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
#, fuzzy
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr "没有找到此ID的信息。"
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
#, fuzzy
-msgid "User has no last notice."
+msgid "User has no last notice"
msgstr "用户没有通告。"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr "通告被标记为收藏。"
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "您已经是该组成员"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "无法把 %s 用户添加到 %s 组"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%s 加入 %s 组"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "无法订阅用户:未找到。"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%s 离开群 %s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "全名:%s"
#: lib/command.php:321 lib/mail.php:254
@@ -4477,18 +4527,33 @@ msgstr "主页:%s"
msgid "About: %s"
msgstr "关于:%s"
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, fuzzy, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
msgstr "您的消息包含 %d 个字符,超出长度限制 - 不能超过 140 个字符。"
+#: lib/command.php:376
+#, fuzzy, php-format
+msgid "Direct message to %s sent"
+msgstr "已向 %s 发送消息"
+
#: lib/command.php:378
msgid "Error sending direct message."
msgstr "发送消息出错。"
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "无法开启通告。"
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "删除通告"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "消息已发布。"
#: lib/command.php:437
@@ -4498,12 +4563,12 @@ msgstr "保存通告时出错。"
#: lib/command.php:491
#, fuzzy, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr "您的消息包含 %d 个字符,超出长度限制 - 不能超过 140 个字符。"
#: lib/command.php:500
#, fuzzy, php-format
-msgid "Reply to %s sent."
+msgid "Reply to %s sent"
msgstr "无法删除通告。"
#: lib/command.php:502
@@ -4513,7 +4578,7 @@ msgstr "保存通告时出错。"
#: lib/command.php:556
#, fuzzy
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr "指定要订阅的用户名"
#: lib/command.php:563
@@ -4523,7 +4588,7 @@ msgstr "订阅 %s"
#: lib/command.php:584
#, fuzzy
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr "指定要取消订阅的用户名"
#: lib/command.php:591
@@ -4552,50 +4617,45 @@ msgid "Can't turn on notification."
msgstr "无法开启通告。"
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "无法创建收藏。"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "您未告知此个人信息"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "您已订阅这些用户:"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "无法订阅他人更新。"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "无法订阅他人更新。"
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "您未告知此个人信息"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "您未告知此个人信息"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5187,12 +5247,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "无法保存个人信息。"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "无法保存个人信息。"
#: lib/noticeform.php:215
@@ -5583,47 +5643,47 @@ msgstr "新消息"
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr "几秒前"
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr "一分钟前"
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr "%d 分钟前"
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr "一小时前"
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr "%d 小时前"
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr "一天前"
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr "%d 天前"
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr "一个月前"
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr "%d 个月前"
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr "一年前"
@@ -5636,3 +5696,8 @@ msgstr "主页的URL不正确。"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, fuzzy, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr "您的消息包含 %d 个字符,超出长度限制 - 不能超过 140 个字符。"
diff --git a/locale/zh_TW/LC_MESSAGES/statusnet.po b/locale/zh_TW/LC_MESSAGES/statusnet.po
index 57f56c001..314bd0cdd 100644
--- a/locale/zh_TW/LC_MESSAGES/statusnet.po
+++ b/locale/zh_TW/LC_MESSAGES/statusnet.po
@@ -7,12 +7,12 @@ msgid ""
msgstr ""
"Project-Id-Version: StatusNet\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-01-10 11:27+0000\n"
-"PO-Revision-Date: 2010-01-10 11:29:25+0000\n"
+"POT-Creation-Date: 2010-01-11 23:25+0000\n"
+"PO-Revision-Date: 2010-01-11 23:28:38+0000\n"
"Language-Team: Traditional Chinese\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: MediaWiki 1.16alpha (r60888); Translate extension (2010-01-04)\n"
+"X-Generator: MediaWiki 1.16alpha (r60950); Translate extension (2010-01-04)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hant\n"
"X-Message-Group: out-statusnet\n"
@@ -38,7 +38,7 @@ msgstr "無此通知"
#: actions/apitimelinehome.php:79 actions/apitimelinementions.php:79
#: actions/apitimelineuser.php:81 actions/avatarbynickname.php:75
#: actions/favoritesrss.php:74 actions/foaf.php:40 actions/foaf.php:58
-#: actions/microsummary.php:62 actions/newmessage.php:116
+#: actions/microsummary.php:62 actions/newmessage.php:116 actions/otp.php:76
#: actions/remotesubscribe.php:145 actions/remotesubscribe.php:154
#: actions/replies.php:73 actions/repliesrss.php:38
#: actions/showfavorites.php:105 actions/userbyid.php:74
@@ -377,7 +377,7 @@ msgstr ""
msgid "Group not found!"
msgstr "目前無請求"
-#: actions/apigroupjoin.php:110 actions/joingroup.php:90 lib/command.php:217
+#: actions/apigroupjoin.php:110 actions/joingroup.php:90
msgid "You are already a member of that group."
msgstr ""
@@ -385,7 +385,7 @@ msgstr ""
msgid "You have been blocked from that group by the admin."
msgstr ""
-#: actions/apigroupjoin.php:138 actions/joingroup.php:128 lib/command.php:234
+#: actions/apigroupjoin.php:138 actions/joingroup.php:128
#, fuzzy, php-format
msgid "Could not join user %1$s to group %2$s."
msgstr "無法連結到伺服器:%s"
@@ -428,12 +428,12 @@ msgstr ""
msgid "No such notice."
msgstr "無此通知"
-#: actions/apistatusesretweet.php:83 lib/command.php:422
+#: actions/apistatusesretweet.php:83
#, fuzzy
msgid "Cannot repeat your own notice."
msgstr "儲存使用者發生錯誤"
-#: actions/apistatusesretweet.php:91 lib/command.php:427
+#: actions/apistatusesretweet.php:91
#, fuzzy
msgid "Already repeated that notice."
msgstr "無此使用者"
@@ -608,7 +608,7 @@ msgstr ""
#: actions/disfavor.php:74 actions/emailsettings.php:238 actions/favor.php:75
#: actions/geocode.php:50 actions/groupblock.php:66 actions/grouplogo.php:309
#: actions/groupunblock.php:66 actions/imsettings.php:206
-#: actions/invite.php:56 actions/login.php:135 actions/makeadmin.php:66
+#: actions/invite.php:56 actions/login.php:115 actions/makeadmin.php:66
#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80
#: actions/othersettings.php:145 actions/passwordsettings.php:138
#: actions/profilesettings.php:194 actions/recoverpassword.php:337
@@ -1756,7 +1756,7 @@ msgstr ""
msgid "You must be logged in to join a group."
msgstr ""
-#: actions/joingroup.php:135 lib/command.php:239
+#: actions/joingroup.php:135
#, php-format
msgid "%1$s joined group %2$s"
msgstr ""
@@ -1773,66 +1773,62 @@ msgstr ""
msgid "Could not find membership record."
msgstr ""
-#: actions/leavegroup.php:134 lib/command.php:289
+#: actions/leavegroup.php:134
#, fuzzy, php-format
msgid "%1$s left group %2$s"
msgstr "%1$s的狀態是%2$s"
-#: actions/login.php:83 actions/register.php:137
+#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
msgid "Already logged in."
msgstr "已登入"
-#: actions/login.php:114 actions/login.php:124
-msgid "Invalid or expired token."
-msgstr ""
-
-#: actions/login.php:147
+#: actions/login.php:126
msgid "Incorrect username or password."
msgstr "使用者名稱或密碼錯誤"
-#: actions/login.php:153
+#: actions/login.php:132 actions/otp.php:120
msgid "Error setting user. You are probably not authorized."
msgstr ""
-#: actions/login.php:208 actions/login.php:261 lib/action.php:460
+#: actions/login.php:188 actions/login.php:241 lib/action.php:460
#: lib/logingroupnav.php:79
msgid "Login"
msgstr "登入"
-#: actions/login.php:247
+#: actions/login.php:227
msgid "Login to site"
msgstr ""
-#: actions/login.php:250 actions/profilesettings.php:106
-#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94
+#: actions/login.php:230 actions/profilesettings.php:106
+#: actions/register.php:424 actions/showgroup.php:236 actions/tagother.php:94
#: lib/groupeditform.php:152 lib/userprofile.php:131
msgid "Nickname"
msgstr "暱稱"
-#: actions/login.php:253 actions/register.php:428
+#: actions/login.php:233 actions/register.php:429
#: lib/accountsettingsaction.php:116
msgid "Password"
msgstr ""
-#: actions/login.php:256 actions/register.php:477
+#: actions/login.php:236 actions/register.php:478
msgid "Remember me"
msgstr ""
-#: actions/login.php:257 actions/register.php:479
+#: actions/login.php:237 actions/register.php:480
msgid "Automatically login in the future; not for shared computers!"
msgstr "未來在同一部電腦自動登入"
-#: actions/login.php:267
+#: actions/login.php:247
msgid "Lost or forgotten password?"
msgstr "遺失或忘記密碼了嗎?"
-#: actions/login.php:286
+#: actions/login.php:266
msgid ""
"For security reasons, please re-enter your user name and password before "
"changing your settings."
msgstr "為安全起見,請先重新輸入你的使用者名稱與密碼再更改設定。"
-#: actions/login.php:290
+#: actions/login.php:270
#, php-format
msgid ""
"Login with your username and password. Don't have a username yet? [Register]"
@@ -1896,7 +1892,7 @@ msgstr ""
msgid "Message sent"
msgstr ""
-#: actions/newmessage.php:185 lib/command.php:376
+#: actions/newmessage.php:185
#, php-format
msgid "Direct message to %s sent."
msgstr ""
@@ -1984,8 +1980,8 @@ msgstr "連結"
msgid "Only "
msgstr ""
-#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1031
-#: lib/api.php:1059 lib/api.php:1169
+#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1033
+#: lib/api.php:1061 lib/api.php:1171
msgid "Not a supported data format."
msgstr ""
@@ -2031,6 +2027,30 @@ msgstr ""
msgid "URL shortening service is too long (max 50 chars)."
msgstr "地點過長(共255個字)"
+#: actions/otp.php:69
+#, fuzzy
+msgid "No user ID specified."
+msgstr "新訊息"
+
+#: actions/otp.php:83
+#, fuzzy
+msgid "No login token specified."
+msgstr "新訊息"
+
+#: actions/otp.php:90
+#, fuzzy
+msgid "No login token requested."
+msgstr "無確認請求"
+
+#: actions/otp.php:95
+#, fuzzy
+msgid "Invalid login token specified."
+msgstr "新訊息"
+
+#: actions/otp.php:104
+msgid "Login token expired."
+msgstr ""
+
#: actions/outbox.php:61
#, php-format
msgid "Outbox for %s"
@@ -2066,7 +2086,7 @@ msgid "6 or more characters"
msgstr "6個以上字元"
#: actions/passwordsettings.php:112 actions/recoverpassword.php:239
-#: actions/register.php:432 actions/smssettings.php:134
+#: actions/register.php:433 actions/smssettings.php:134
msgid "Confirm"
msgstr "確認"
@@ -2293,43 +2313,43 @@ msgstr ""
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64個小寫英文字母或數字,勿加標點符號或空格"
-#: actions/profilesettings.php:111 actions/register.php:447
+#: actions/profilesettings.php:111 actions/register.php:448
#: actions/showgroup.php:247 actions/tagother.php:104
#: lib/groupeditform.php:157 lib/userprofile.php:149
msgid "Full name"
msgstr "全名"
-#: actions/profilesettings.php:115 actions/register.php:452
+#: actions/profilesettings.php:115 actions/register.php:453
#: lib/groupeditform.php:161
msgid "Homepage"
msgstr "個人首頁"
-#: actions/profilesettings.php:117 actions/register.php:454
+#: actions/profilesettings.php:117 actions/register.php:455
msgid "URL of your homepage, blog, or profile on another site"
msgstr ""
-#: actions/profilesettings.php:122 actions/register.php:460
+#: actions/profilesettings.php:122 actions/register.php:461
#, fuzzy, php-format
msgid "Describe yourself and your interests in %d chars"
msgstr "請在140個字以內描述你自己與你的興趣"
-#: actions/profilesettings.php:125 actions/register.php:463
+#: actions/profilesettings.php:125 actions/register.php:464
#, fuzzy
msgid "Describe yourself and your interests"
msgstr "請在140個字以內描述你自己與你的興趣"
-#: actions/profilesettings.php:127 actions/register.php:465
+#: actions/profilesettings.php:127 actions/register.php:466
msgid "Bio"
msgstr "自我介紹"
-#: actions/profilesettings.php:132 actions/register.php:470
+#: actions/profilesettings.php:132 actions/register.php:471
#: actions/showgroup.php:256 actions/tagother.php:112
#: actions/userauthorization.php:158 lib/groupeditform.php:177
#: lib/userprofile.php:164
msgid "Location"
msgstr "地點"
-#: actions/profilesettings.php:134 actions/register.php:472
+#: actions/profilesettings.php:134 actions/register.php:473
msgid "Where you are, like \"City, State (or Region), Country\""
msgstr ""
@@ -2623,7 +2643,7 @@ msgstr "使用者設定發生錯誤"
msgid "New password successfully saved. You are now logged in."
msgstr "新密碼已儲存成功。你已登入。"
-#: actions/register.php:85 actions/register.php:189 actions/register.php:404
+#: actions/register.php:85 actions/register.php:189 actions/register.php:405
msgid "Sorry, only invited people can register."
msgstr ""
@@ -2636,7 +2656,7 @@ msgstr "確認碼發生錯誤"
msgid "Registration successful"
msgstr ""
-#: actions/register.php:114 actions/register.php:502 lib/action.php:457
+#: actions/register.php:114 actions/register.php:503 lib/action.php:457
#: lib/logingroupnav.php:85
msgid "Register"
msgstr ""
@@ -2653,57 +2673,57 @@ msgstr ""
msgid "Email address already exists."
msgstr "此電子信箱已註冊過了"
-#: actions/register.php:243 actions/register.php:264
+#: actions/register.php:243 actions/register.php:265
msgid "Invalid username or password."
msgstr "使用者名稱或密碼無效"
-#: actions/register.php:342
+#: actions/register.php:343
msgid ""
"With this form you can create a new account. You can then post notices and "
"link up to friends and colleagues. "
msgstr ""
-#: actions/register.php:424
+#: actions/register.php:425
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
-#: actions/register.php:429
+#: actions/register.php:430
msgid "6 or more characters. Required."
msgstr ""
-#: actions/register.php:433
+#: actions/register.php:434
msgid "Same as password above. Required."
msgstr ""
-#: actions/register.php:437 actions/register.php:441
+#: actions/register.php:438 actions/register.php:442
#: actions/siteadminpanel.php:270 lib/accountsettingsaction.php:120
msgid "Email"
msgstr "電子信箱"
-#: actions/register.php:438 actions/register.php:442
+#: actions/register.php:439 actions/register.php:443
msgid "Used only for updates, announcements, and password recovery"
msgstr ""
-#: actions/register.php:449
+#: actions/register.php:450
msgid "Longer name, preferably your \"real\" name"
msgstr ""
-#: actions/register.php:493
+#: actions/register.php:494
msgid "My text and files are available under "
msgstr ""
-#: actions/register.php:495
+#: actions/register.php:496
msgid "Creative Commons Attribution 3.0"
msgstr ""
-#: actions/register.php:496
+#: actions/register.php:497
#, fuzzy
msgid ""
" except this private data: password, email address, IM address, and phone "
"number."
msgstr "不包含這些個人資料:密碼、電子信箱、線上即時通信箱、電話號碼"
-#: actions/register.php:537
+#: actions/register.php:538
#, php-format
msgid ""
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -2722,7 +2742,7 @@ msgid ""
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
-#: actions/register.php:561
+#: actions/register.php:562
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
@@ -3874,23 +3894,28 @@ msgstr ""
msgid "Description"
msgstr "所有訂閱"
-#: classes/File.php:137
+#: classes/File.php:144
#, php-format
msgid ""
"No file may be larger than %d bytes and the file you sent was %d bytes. Try "
"to upload a smaller version."
msgstr ""
-#: classes/File.php:147
+#: classes/File.php:154
#, php-format
msgid "A file this large would exceed your user quota of %d bytes."
msgstr ""
-#: classes/File.php:154
+#: classes/File.php:161
#, php-format
msgid "A file this large would exceed your monthly quota of %d bytes."
msgstr ""
+#: classes/Login_token.php:76
+#, fuzzy, php-format
+msgid "Could not create login token for %s"
+msgstr "無法存取個人圖像資料"
+
#: classes/Message.php:45
msgid "You are banned from sending direct messages."
msgstr ""
@@ -3992,6 +4017,11 @@ msgstr ""
msgid "Other options"
msgstr ""
+#: lib/action.php:144
+#, fuzzy, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s的狀態是%2$s"
+
#: lib/action.php:159
msgid "Untitled page"
msgstr ""
@@ -4256,7 +4286,7 @@ msgstr ""
#: lib/command.php:88
#, fuzzy, php-format
-msgid "Could not find a user with nickname %s."
+msgid "Could not find a user with nickname %s"
msgstr "無法更新使用者"
#: lib/command.php:92
@@ -4265,7 +4295,7 @@ msgstr ""
#: lib/command.php:99
#, php-format
-msgid "Nudge sent to %s."
+msgid "Nudge sent to %s"
msgstr ""
#: lib/command.php:126
@@ -4277,26 +4307,47 @@ msgid ""
msgstr ""
#: lib/command.php:152 lib/command.php:399 lib/command.php:460
-msgid "Notice with that id does not exist."
+msgid "Notice with that id does not exist"
msgstr ""
#: lib/command.php:168 lib/command.php:415 lib/command.php:476
#: lib/command.php:532
-msgid "User has no last notice."
-msgstr ""
+#, fuzzy
+msgid "User has no last notice"
+msgstr "新訊息"
#: lib/command.php:190
msgid "Notice marked as fave."
msgstr ""
+#: lib/command.php:217
+#, fuzzy
+msgid "You are already a member of that group"
+msgstr "無法連結到伺服器:%s"
+
+#: lib/command.php:234
+#, fuzzy, php-format
+msgid "Could not join user %s to group %s"
+msgstr "無法連結到伺服器:%s"
+
+#: lib/command.php:239
+#, fuzzy, php-format
+msgid "%s joined group %s"
+msgstr "%1$s的狀態是%2$s"
+
#: lib/command.php:284
#, fuzzy, php-format
-msgid "Could not remove user %1$s to group %2$s."
+msgid "Could not remove user %s to group %s"
msgstr "無法從 %s 建立OpenID"
+#: lib/command.php:289
+#, fuzzy, php-format
+msgid "%s left group %s"
+msgstr "%1$s的狀態是%2$s"
+
#: lib/command.php:318
#, fuzzy, php-format
-msgid "Full name: %s"
+msgid "Fullname: %s"
msgstr "全名"
#: lib/command.php:321 lib/mail.php:254
@@ -4314,18 +4365,33 @@ msgstr ""
msgid "About: %s"
msgstr ""
-#: lib/command.php:358 scripts/xmppdaemon.php:301
+#: lib/command.php:358
#, php-format
-msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgid "Message too long - maximum is %d characters, you sent %d"
+msgstr ""
+
+#: lib/command.php:376
+#, php-format
+msgid "Direct message to %s sent"
msgstr ""
#: lib/command.php:378
msgid "Error sending direct message."
msgstr ""
+#: lib/command.php:422
+#, fuzzy
+msgid "Cannot repeat your own notice"
+msgstr "儲存使用者發生錯誤"
+
+#: lib/command.php:427
+#, fuzzy
+msgid "Already repeated that notice"
+msgstr "無此使用者"
+
#: lib/command.php:435
#, fuzzy, php-format
-msgid "Notice from %s repeated."
+msgid "Notice from %s repeated"
msgstr "更新個人圖像"
#: lib/command.php:437
@@ -4335,20 +4401,20 @@ msgstr "儲存使用者發生錯誤"
#: lib/command.php:491
#, php-format
-msgid "Notice too long - maximum is %1$d characters, you sent %2$d."
+msgid "Notice too long - maximum is %d characters, you sent %d"
msgstr ""
#: lib/command.php:500
-#, php-format
-msgid "Reply to %s sent."
-msgstr ""
+#, fuzzy, php-format
+msgid "Reply to %s sent"
+msgstr "&s的微型部落格"
#: lib/command.php:502
msgid "Error saving notice."
msgstr "儲存使用者發生錯誤"
#: lib/command.php:556
-msgid "Specify the name of the user to subscribe to."
+msgid "Specify the name of the user to subscribe to"
msgstr ""
#: lib/command.php:563
@@ -4357,7 +4423,7 @@ msgid "Subscribed to %s"
msgstr ""
#: lib/command.php:584
-msgid "Specify the name of the user to unsubscribe from."
+msgid "Specify the name of the user to unsubscribe from"
msgstr ""
#: lib/command.php:591
@@ -4386,50 +4452,45 @@ msgid "Can't turn on notification."
msgstr ""
#: lib/command.php:650
-msgid "Login command is disabled."
+msgid "Login command is disabled"
msgstr ""
-#: lib/command.php:664
-#, fuzzy, php-format
-msgid "Could not create login token for %s."
-msgstr "無法存取個人圖像資料"
-
-#: lib/command.php:669
+#: lib/command.php:661
#, php-format
-msgid "This link is useable only once, and is good for only 2 minutes: %s."
+msgid "This link is useable only once, and is good for only 2 minutes: %s"
msgstr ""
-#: lib/command.php:685
+#: lib/command.php:677
#, fuzzy
msgid "You are not subscribed to anyone."
msgstr "此帳號已註冊"
-#: lib/command.php:687
+#: lib/command.php:679
msgid "You are subscribed to this person:"
msgid_plural "You are subscribed to these people:"
msgstr[0] "此帳號已註冊"
-#: lib/command.php:707
+#: lib/command.php:699
#, fuzzy
msgid "No one is subscribed to you."
msgstr "無此訂閱"
-#: lib/command.php:709
+#: lib/command.php:701
msgid "This person is subscribed to you:"
msgid_plural "These people are subscribed to you:"
msgstr[0] "無此訂閱"
-#: lib/command.php:729
+#: lib/command.php:721
#, fuzzy
msgid "You are not a member of any groups."
msgstr "無法連結到伺服器:%s"
-#: lib/command.php:731
+#: lib/command.php:723
msgid "You are a member of this group:"
msgid_plural "You are a member of these groups:"
msgstr[0] "無法連結到伺服器:%s"
-#: lib/command.php:745
+#: lib/command.php:737
msgid ""
"Commands:\n"
"on - turn on notifications\n"
@@ -5003,12 +5064,12 @@ msgstr ""
#: lib/noticeform.php:212
#, fuzzy
-msgid "Share my location."
+msgid "Share my location"
msgstr "無法儲存個人資料"
#: lib/noticeform.php:214
#, fuzzy
-msgid "Do not share my location."
+msgid "Do not share my location"
msgstr "無法儲存個人資料"
#: lib/noticeform.php:215
@@ -5379,47 +5440,47 @@ msgstr ""
msgid "Moderate"
msgstr ""
-#: lib/util.php:837
+#: lib/util.php:884
msgid "a few seconds ago"
msgstr ""
-#: lib/util.php:839
+#: lib/util.php:886
msgid "about a minute ago"
msgstr ""
-#: lib/util.php:841
+#: lib/util.php:888
#, php-format
msgid "about %d minutes ago"
msgstr ""
-#: lib/util.php:843
+#: lib/util.php:890
msgid "about an hour ago"
msgstr ""
-#: lib/util.php:845
+#: lib/util.php:892
#, php-format
msgid "about %d hours ago"
msgstr ""
-#: lib/util.php:847
+#: lib/util.php:894
msgid "about a day ago"
msgstr ""
-#: lib/util.php:849
+#: lib/util.php:896
#, php-format
msgid "about %d days ago"
msgstr ""
-#: lib/util.php:851
+#: lib/util.php:898
msgid "about a month ago"
msgstr ""
-#: lib/util.php:853
+#: lib/util.php:900
#, php-format
msgid "about %d months ago"
msgstr ""
-#: lib/util.php:855
+#: lib/util.php:902
msgid "about a year ago"
msgstr ""
@@ -5432,3 +5493,8 @@ msgstr "個人首頁位址錯誤"
#, php-format
msgid "%s is not a valid color! Use 3 or 6 hex chars."
msgstr ""
+
+#: scripts/xmppdaemon.php:301
+#, php-format
+msgid "Message too long - maximum is %1$d characters, you sent %2$d."
+msgstr ""
diff --git a/plugins/CasAuthentication/extlib/CAS.php b/plugins/CasAuthentication/extlib/CAS.php
index 59238eb81..f5ea0b12a 100644
--- a/plugins/CasAuthentication/extlib/CAS.php
+++ b/plugins/CasAuthentication/extlib/CAS.php
@@ -1,1471 +1,1471 @@
-<?php
-
-// commented in 0.4.22-RC2 for Sylvain Derosiaux
-// error_reporting(E_ALL ^ E_NOTICE);
-
-//
-// hack by Vangelis Haniotakis to handle the absence of $_SERVER['REQUEST_URI'] in IIS
-//
-if (!$_SERVER['REQUEST_URI']) {
- $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
-}
-
-//
-// another one by Vangelis Haniotakis also to make phpCAS work with PHP5
-//
-if (version_compare(PHP_VERSION,'5','>=')) {
- require_once(dirname(__FILE__).'/CAS/domxml-php4-php5.php');
-}
-
-/**
- * @file CAS/CAS.php
- * Interface class of the phpCAS library
- *
- * @ingroup public
- */
-
-// ########################################################################
-// CONSTANTS
-// ########################################################################
-
-// ------------------------------------------------------------------------
-// CAS VERSIONS
-// ------------------------------------------------------------------------
-
-/**
- * phpCAS version. accessible for the user by phpCAS::getVersion().
- */
-define('PHPCAS_VERSION','1.0.1');
-
-// ------------------------------------------------------------------------
-// CAS VERSIONS
-// ------------------------------------------------------------------------
- /**
- * @addtogroup public
- * @{
- */
-
-/**
- * CAS version 1.0
- */
-define("CAS_VERSION_1_0",'1.0');
-/*!
- * CAS version 2.0
- */
-define("CAS_VERSION_2_0",'2.0');
-
-/** @} */
- /**
- * @addtogroup publicPGTStorage
- * @{
- */
-// ------------------------------------------------------------------------
-// FILE PGT STORAGE
-// ------------------------------------------------------------------------
- /**
- * Default path used when storing PGT's to file
- */
-define("CAS_PGT_STORAGE_FILE_DEFAULT_PATH",'/tmp');
-/**
- * phpCAS::setPGTStorageFile()'s 2nd parameter to write plain text files
- */
-define("CAS_PGT_STORAGE_FILE_FORMAT_PLAIN",'plain');
-/**
- * phpCAS::setPGTStorageFile()'s 2nd parameter to write xml files
- */
-define("CAS_PGT_STORAGE_FILE_FORMAT_XML",'xml');
-/**
- * Default format used when storing PGT's to file
- */
-define("CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT",CAS_PGT_STORAGE_FILE_FORMAT_PLAIN);
-// ------------------------------------------------------------------------
-// DATABASE PGT STORAGE
-// ------------------------------------------------------------------------
- /**
- * default database type when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE",'mysql');
-/**
- * default host when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME",'localhost');
-/**
- * default port when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_PORT",'');
-/**
- * default database when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE",'phpCAS');
-/**
- * default table when storing PGT's to database
- */
-define("CAS_PGT_STORAGE_DB_DEFAULT_TABLE",'pgt');
-
-/** @} */
-// ------------------------------------------------------------------------
-// SERVICE ACCESS ERRORS
-// ------------------------------------------------------------------------
- /**
- * @addtogroup publicServices
- * @{
- */
-
-/**
- * phpCAS::service() error code on success
- */
-define("PHPCAS_SERVICE_OK",0);
-/**
- * phpCAS::service() error code when the PT could not retrieve because
- * the CAS server did not respond.
- */
-define("PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE",1);
-/**
- * phpCAS::service() error code when the PT could not retrieve because
- * the response of the CAS server was ill-formed.
- */
-define("PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE",2);
-/**
- * phpCAS::service() error code when the PT could not retrieve because
- * the CAS server did not want to.
- */
-define("PHPCAS_SERVICE_PT_FAILURE",3);
-/**
- * phpCAS::service() error code when the service was not available.
- */
-define("PHPCAS_SERVICE_NOT AVAILABLE",4);
-
-/** @} */
-// ------------------------------------------------------------------------
-// LANGUAGES
-// ------------------------------------------------------------------------
- /**
- * @addtogroup publicLang
- * @{
- */
-
-define("PHPCAS_LANG_ENGLISH", 'english');
-define("PHPCAS_LANG_FRENCH", 'french');
-define("PHPCAS_LANG_GREEK", 'greek');
-define("PHPCAS_LANG_GERMAN", 'german');
-define("PHPCAS_LANG_JAPANESE", 'japanese');
-define("PHPCAS_LANG_SPANISH", 'spanish');
-define("PHPCAS_LANG_CATALAN", 'catalan');
-
-/** @} */
-
-/**
- * @addtogroup internalLang
- * @{
- */
-
-/**
- * phpCAS default language (when phpCAS::setLang() is not used)
- */
-define("PHPCAS_LANG_DEFAULT", PHPCAS_LANG_ENGLISH);
-
-/** @} */
-// ------------------------------------------------------------------------
-// DEBUG
-// ------------------------------------------------------------------------
- /**
- * @addtogroup publicDebug
- * @{
- */
-
-/**
- * The default directory for the debug file under Unix.
- */
-define('DEFAULT_DEBUG_DIR','/tmp/');
-
-/** @} */
-// ------------------------------------------------------------------------
-// MISC
-// ------------------------------------------------------------------------
- /**
- * @addtogroup internalMisc
- * @{
- */
-
-/**
- * This global variable is used by the interface class phpCAS.
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_CLIENT'] = null;
-
-/**
- * This global variable is used to store where the initializer is called from
- * (to print a comprehensive error in case of multiple calls).
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_INIT_CALL'] = array('done' => FALSE,
- 'file' => '?',
- 'line' => -1,
- 'method' => '?');
-
-/**
- * This global variable is used to store where the method checking
- * the authentication is called from (to print comprehensive errors)
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_AUTH_CHECK_CALL'] = array('done' => FALSE,
- 'file' => '?',
- 'line' => -1,
- 'method' => '?',
- 'result' => FALSE);
-
-/**
- * This global variable is used to store phpCAS debug mode.
- *
- * @hideinitializer
- */
-$GLOBALS['PHPCAS_DEBUG'] = array('filename' => FALSE,
- 'indent' => 0,
- 'unique_id' => '');
-
-/** @} */
-
-// ########################################################################
-// CLIENT CLASS
-// ########################################################################
-
-// include client class
-include_once(dirname(__FILE__).'/CAS/client.php');
-
-// ########################################################################
-// INTERFACE CLASS
-// ########################################################################
-
-/**
- * @class phpCAS
- * The phpCAS class is a simple container for the phpCAS library. It provides CAS
- * authentication for web applications written in PHP.
- *
- * @ingroup public
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * \internal All its methods access the same object ($PHPCAS_CLIENT, declared
- * at the end of CAS/client.php).
- */
-
-
-
-class phpCAS
-{
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * @addtogroup publicInit
- * @{
- */
-
- /**
- * phpCAS client initializer.
- * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
- * called, only once, and before all other methods (except phpCAS::getVersion()
- * and phpCAS::setDebug()).
- *
- * @param $server_version the version of the CAS server
- * @param $server_hostname the hostname of the CAS server
- * @param $server_port the port the CAS server is running on
- * @param $server_uri the URI the CAS server is responding on
- * @param $start_session Have phpCAS start PHP sessions (default true)
- *
- * @return a newly created CASClient object
- */
- function client($server_version,
- $server_hostname,
- $server_port,
- $server_uri,
- $start_session = true)
- {
- global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
-
- phpCAS::traceBegin();
- if ( is_object($PHPCAS_CLIENT) ) {
- phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
- }
- if ( gettype($server_version) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
- }
- if ( gettype($server_hostname) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
- }
- if ( gettype($server_port) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
- }
- if ( gettype($server_uri) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
- }
-
- // store where the initialzer is called from
- $dbg = phpCAS::backtrace();
- $PHPCAS_INIT_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__);
-
- // initialize the global object $PHPCAS_CLIENT
- $PHPCAS_CLIENT = new CASClient($server_version,FALSE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
- phpCAS::traceEnd();
- }
-
- /**
- * phpCAS proxy initializer.
- * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
- * called, only once, and before all other methods (except phpCAS::getVersion()
- * and phpCAS::setDebug()).
- *
- * @param $server_version the version of the CAS server
- * @param $server_hostname the hostname of the CAS server
- * @param $server_port the port the CAS server is running on
- * @param $server_uri the URI the CAS server is responding on
- * @param $start_session Have phpCAS start PHP sessions (default true)
- *
- * @return a newly created CASClient object
- */
- function proxy($server_version,
- $server_hostname,
- $server_port,
- $server_uri,
- $start_session = true)
- {
- global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
-
- phpCAS::traceBegin();
- if ( is_object($PHPCAS_CLIENT) ) {
- phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
- }
- if ( gettype($server_version) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
- }
- if ( gettype($server_hostname) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
- }
- if ( gettype($server_port) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
- }
- if ( gettype($server_uri) != 'string' ) {
- phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
- }
-
- // store where the initialzer is called from
- $dbg = phpCAS::backtrace();
- $PHPCAS_INIT_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__);
-
- // initialize the global object $PHPCAS_CLIENT
- $PHPCAS_CLIENT = new CASClient($server_version,TRUE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
- phpCAS::traceEnd();
- }
-
- /** @} */
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * @addtogroup publicDebug
- * @{
- */
-
- /**
- * Set/unset debug mode
- *
- * @param $filename the name of the file used for logging, or FALSE to stop debugging.
- */
- function setDebug($filename='')
- {
- global $PHPCAS_DEBUG;
-
- if ( $filename != FALSE && gettype($filename) != 'string' ) {
- phpCAS::error('type mismatched for parameter $dbg (should be FALSE or the name of the log file)');
- }
-
- if ( empty($filename) ) {
- if ( preg_match('/^Win.*/',getenv('OS')) ) {
- if ( isset($_ENV['TMP']) ) {
- $debugDir = $_ENV['TMP'].'/';
- } else if ( isset($_ENV['TEMP']) ) {
- $debugDir = $_ENV['TEMP'].'/';
- } else {
- $debugDir = '';
- }
- } else {
- $debugDir = DEFAULT_DEBUG_DIR;
- }
- $filename = $debugDir . 'phpCAS.log';
- }
-
- if ( empty($PHPCAS_DEBUG['unique_id']) ) {
- $PHPCAS_DEBUG['unique_id'] = substr(strtoupper(md5(uniqid(''))),0,4);
- }
-
- $PHPCAS_DEBUG['filename'] = $filename;
-
- phpCAS::trace('START ******************');
- }
-
- /** @} */
- /**
- * @addtogroup internalDebug
- * @{
- */
-
- /**
- * This method is a wrapper for debug_backtrace() that is not available
- * in all PHP versions (>= 4.3.0 only)
- */
- function backtrace()
- {
- if ( function_exists('debug_backtrace') ) {
- return debug_backtrace();
- } else {
- // poor man's hack ... but it does work ...
- return array();
- }
- }
-
- /**
- * Logs a string in debug mode.
- *
- * @param $str the string to write
- *
- * @private
- */
- function log($str)
- {
- $indent_str = ".";
- global $PHPCAS_DEBUG;
-
- if ( $PHPCAS_DEBUG['filename'] ) {
- for ($i=0;$i<$PHPCAS_DEBUG['indent'];$i++) {
- $indent_str .= '| ';
- }
- error_log($PHPCAS_DEBUG['unique_id'].' '.$indent_str.$str."\n",3,$PHPCAS_DEBUG['filename']);
- }
-
- }
-
- /**
- * This method is used by interface methods to print an error and where the function
- * was originally called from.
- *
- * @param $msg the message to print
- *
- * @private
- */
- function error($msg)
- {
- $dbg = phpCAS::backtrace();
- $function = '?';
- $file = '?';
- $line = '?';
- if ( is_array($dbg) ) {
- for ( $i=1; $i<sizeof($dbg); $i++) {
- if ( is_array($dbg[$i]) ) {
- if ( $dbg[$i]['class'] == __CLASS__ ) {
- $function = $dbg[$i]['function'];
- $file = $dbg[$i]['file'];
- $line = $dbg[$i]['line'];
- }
- }
- }
- }
- echo "<br />\n<b>phpCAS error</b>: <font color=\"FF0000\"><b>".__CLASS__."::".$function.'(): '.htmlentities($msg)."</b></font> in <b>".$file."</b> on line <b>".$line."</b><br />\n";
- phpCAS::trace($msg);
- phpCAS::traceExit();
- exit();
- }
-
- /**
- * This method is used to log something in debug mode.
- */
- function trace($str)
- {
- $dbg = phpCAS::backtrace();
- phpCAS::log($str.' ['.basename($dbg[1]['file']).':'.$dbg[1]['line'].']');
- }
-
- /**
- * This method is used to indicate the start of the execution of a function in debug mode.
- */
- function traceBegin()
- {
- global $PHPCAS_DEBUG;
-
- $dbg = phpCAS::backtrace();
- $str = '=> ';
- if ( !empty($dbg[2]['class']) ) {
- $str .= $dbg[2]['class'].'::';
- }
- $str .= $dbg[2]['function'].'(';
- if ( is_array($dbg[2]['args']) ) {
- foreach ($dbg[2]['args'] as $index => $arg) {
- if ( $index != 0 ) {
- $str .= ', ';
- }
- $str .= str_replace("\n","",var_export($arg,TRUE));
- }
- }
- $str .= ') ['.basename($dbg[2]['file']).':'.$dbg[2]['line'].']';
- phpCAS::log($str);
- $PHPCAS_DEBUG['indent'] ++;
- }
-
- /**
- * This method is used to indicate the end of the execution of a function in debug mode.
- *
- * @param $res the result of the function
- */
- function traceEnd($res='')
- {
- global $PHPCAS_DEBUG;
-
- $PHPCAS_DEBUG['indent'] --;
- $dbg = phpCAS::backtrace();
- $str = '';
- $str .= '<= '.str_replace("\n","",var_export($res,TRUE));
- phpCAS::log($str);
- }
-
- /**
- * This method is used to indicate the end of the execution of the program
- */
- function traceExit()
- {
- global $PHPCAS_DEBUG;
-
- phpCAS::log('exit()');
- while ( $PHPCAS_DEBUG['indent'] > 0 ) {
- phpCAS::log('-');
- $PHPCAS_DEBUG['indent'] --;
- }
- }
-
- /** @} */
- // ########################################################################
- // INTERNATIONALIZATION
- // ########################################################################
- /**
- * @addtogroup publicLang
- * @{
- */
-
- /**
- * This method is used to set the language used by phpCAS.
- * @note Can be called only once.
- *
- * @param $lang a string representing the language.
- *
- * @sa PHPCAS_LANG_FRENCH, PHPCAS_LANG_ENGLISH
- */
- function setLang($lang)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($lang) != 'string' ) {
- phpCAS::error('type mismatched for parameter $lang (should be `string\')');
- }
- $PHPCAS_CLIENT->setLang($lang);
- }
-
- /** @} */
- // ########################################################################
- // VERSION
- // ########################################################################
- /**
- * @addtogroup public
- * @{
- */
-
- /**
- * This method returns the phpCAS version.
- *
- * @return the phpCAS version.
- */
- function getVersion()
- {
- return PHPCAS_VERSION;
- }
-
- /** @} */
- // ########################################################################
- // HTML OUTPUT
- // ########################################################################
- /**
- * @addtogroup publicOutput
- * @{
- */
-
- /**
- * This method sets the HTML header used for all outputs.
- *
- * @param $header the HTML header.
- */
- function setHTMLHeader($header)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($header) != 'string' ) {
- phpCAS::error('type mismatched for parameter $header (should be `string\')');
- }
- $PHPCAS_CLIENT->setHTMLHeader($header);
- }
-
- /**
- * This method sets the HTML footer used for all outputs.
- *
- * @param $footer the HTML footer.
- */
- function setHTMLFooter($footer)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($footer) != 'string' ) {
- phpCAS::error('type mismatched for parameter $footer (should be `string\')');
- }
- $PHPCAS_CLIENT->setHTMLFooter($footer);
- }
-
- /** @} */
- // ########################################################################
- // PGT STORAGE
- // ########################################################################
- /**
- * @addtogroup publicPGTStorage
- * @{
- */
-
- /**
- * This method is used to tell phpCAS to store the response of the
- * CAS server to PGT requests onto the filesystem.
- *
- * @param $format the format used to store the PGT's (`plain' and `xml' allowed)
- * @param $path the path where the PGT's should be stored
- */
- function setPGTStorageFile($format='',
- $path='')
- {
- global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
- }
- if ( gettype($format) != 'string' ) {
- phpCAS::error('type mismatched for parameter $format (should be `string\')');
- }
- if ( gettype($path) != 'string' ) {
- phpCAS::error('type mismatched for parameter $format (should be `string\')');
- }
- $PHPCAS_CLIENT->setPGTStorageFile($format,$path);
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to tell phpCAS to store the response of the
- * CAS server to PGT requests into a database.
- * @note The connection to the database is done only when needed.
- * As a consequence, bad parameters are detected only when
- * initializing PGT storage, except in debug mode.
- *
- * @param $user the user to access the data with
- * @param $password the user's password
- * @param $database_type the type of the database hosting the data
- * @param $hostname the server hosting the database
- * @param $port the port the server is listening on
- * @param $database the name of the database
- * @param $table the name of the table storing the data
- */
- function setPGTStorageDB($user,
- $password,
- $database_type='',
- $hostname='',
- $port=0,
- $database='',
- $table='')
- {
- global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
- }
- if ( gettype($user) != 'string' ) {
- phpCAS::error('type mismatched for parameter $user (should be `string\')');
- }
- if ( gettype($password) != 'string' ) {
- phpCAS::error('type mismatched for parameter $password (should be `string\')');
- }
- if ( gettype($database_type) != 'string' ) {
- phpCAS::error('type mismatched for parameter $database_type (should be `string\')');
- }
- if ( gettype($hostname) != 'string' ) {
- phpCAS::error('type mismatched for parameter $hostname (should be `string\')');
- }
- if ( gettype($port) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $port (should be `integer\')');
- }
- if ( gettype($database) != 'string' ) {
- phpCAS::error('type mismatched for parameter $database (should be `string\')');
- }
- if ( gettype($table) != 'string' ) {
- phpCAS::error('type mismatched for parameter $table (should be `string\')');
- }
- $PHPCAS_CLIENT->setPGTStorageDB($this,$user,$password,$hostname,$port,$database,$table);
- phpCAS::traceEnd();
- }
-
- /** @} */
- // ########################################################################
- // ACCESS TO EXTERNAL SERVICES
- // ########################################################################
- /**
- * @addtogroup publicServices
- * @{
- */
-
- /**
- * This method is used to access an HTTP[S] service.
- *
- * @param $url the service to access.
- * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
- * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
- * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
- * @param $output the output of the service (also used to give an error
- * message on failure).
- *
- * @return TRUE on success, FALSE otherwise (in this later case, $err_code
- * gives the reason why it failed and $output contains an error message).
- */
- function serviceWeb($url,&$err_code,&$output)
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
- phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
-
- $res = $PHPCAS_CLIENT->serviceWeb($url,$err_code,$output);
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * This method is used to access an IMAP/POP3/NNTP service.
- *
- * @param $url a string giving the URL of the service, including the mailing box
- * for IMAP URLs, as accepted by imap_open().
- * @param $flags options given to imap_open().
- * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
- * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
- * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
- * @param $err_msg an error message on failure
- * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL
- * on success, FALSE on error).
- *
- * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code
- * gives the reason why it failed and $err_msg contains an error message).
- */
- function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
- phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
-
- if ( gettype($flags) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $flags (should be `integer\')');
- }
-
- $res = $PHPCAS_CLIENT->serviceMail($url,$flags,$err_code,$err_msg,$pt);
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /** @} */
- // ########################################################################
- // AUTHENTICATION
- // ########################################################################
- /**
- * @addtogroup publicAuth
- * @{
- */
-
- /**
- * Set the times authentication will be cached before really accessing the CAS server in gateway mode:
- * - -1: check only once, and then never again (until you pree login)
- * - 0: always check
- * - n: check every "n" time
- *
- * @param $n an integer.
- */
- function setCacheTimesForAuthRecheck($n)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( gettype($n) != 'integer' ) {
- phpCAS::error('type mismatched for parameter $header (should be `string\')');
- }
- $PHPCAS_CLIENT->setCacheTimesForAuthRecheck($n);
- }
-
- /**
- * This method is called to check if the user is authenticated (use the gateway feature).
- * @return TRUE when the user is authenticated; otherwise FALSE.
- */
- function checkAuthentication()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- $auth = $PHPCAS_CLIENT->checkAuthentication();
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__,
- 'result' => $auth );
- phpCAS::traceEnd($auth);
- return $auth;
- }
-
- /**
- * This method is called to force authentication if the user was not already
- * authenticated. If the user is not authenticated, halt by redirecting to
- * the CAS server.
- */
- function forceAuthentication()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- $auth = $PHPCAS_CLIENT->forceAuthentication();
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__,
- 'result' => $auth );
-
- if ( !$auth ) {
- phpCAS::trace('user is not authenticated, redirecting to the CAS server');
- $PHPCAS_CLIENT->forceAuthentication();
- } else {
- phpCAS::trace('no need to authenticate (user `'.phpCAS::getUser().'\' is already authenticated)');
- }
-
- phpCAS::traceEnd();
- return $auth;
- }
-
- /**
- * This method is called to renew the authentication.
- **/
- function renewAuthentication() {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before'.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE, 'file' => $dbg[0]['file'], 'line' => $dbg[0]['line'], 'method' => __CLASS__.'::'.__FUNCTION__, 'result' => $auth );
-
- $PHPCAS_CLIENT->renewAuthentication();
- phpCAS::traceEnd();
- }
-
- /**
- * This method has been left from version 0.4.1 for compatibility reasons.
- */
- function authenticate()
- {
- phpCAS::error('this method is deprecated. You should use '.__CLASS__.'::forceAuthentication() instead');
- }
-
- /**
- * This method is called to check if the user is authenticated (previously or by
- * tickets given in the URL).
- *
- * @return TRUE when the user is authenticated.
- */
- function isAuthenticated()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
-
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
-
- // call the isAuthenticated method of the global $PHPCAS_CLIENT object
- $auth = $PHPCAS_CLIENT->isAuthenticated();
-
- // store where the authentication has been checked and the result
- $dbg = phpCAS::backtrace();
- $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
- 'file' => $dbg[0]['file'],
- 'line' => $dbg[0]['line'],
- 'method' => __CLASS__.'::'.__FUNCTION__,
- 'result' => $auth );
- phpCAS::traceEnd($auth);
- return $auth;
- }
-
- /**
- * Checks whether authenticated based on $_SESSION. Useful to avoid
- * server calls.
- * @return true if authenticated, false otherwise.
- * @since 0.4.22 by Brendan Arnold
- */
- function isSessionAuthenticated ()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return($PHPCAS_CLIENT->isSessionAuthenticated());
- }
-
- /**
- * This method returns the CAS user's login name.
- * @warning should not be called only after phpCAS::forceAuthentication()
- * or phpCAS::checkAuthentication().
- *
- * @return the login name of the authenticated user
- */
- function getUser()
- {
- global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
- }
- if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
- phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
- }
- return $PHPCAS_CLIENT->getUser();
- }
-
- /**
- * Handle logout requests.
- */
- function handleLogoutRequests($check_client=true, $allowed_clients=false)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return($PHPCAS_CLIENT->handleLogoutRequests($check_client, $allowed_clients));
- }
-
- /**
- * This method returns the URL to be used to login.
- * or phpCAS::isAuthenticated().
- *
- * @return the login name of the authenticated user
- */
- function getServerLoginURL()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return $PHPCAS_CLIENT->getServerLoginURL();
- }
-
- /**
- * Set the login URL of the CAS server.
- * @param $url the login URL
- * @since 0.4.21 by Wyman Chan
- */
- function setServerLoginURL($url='')
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after
- '.__CLASS__.'::client()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be
- `string\')');
- }
- $PHPCAS_CLIENT->setServerLoginURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * This method returns the URL to be used to login.
- * or phpCAS::isAuthenticated().
- *
- * @return the login name of the authenticated user
- */
- function getServerLogoutURL()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
- }
- return $PHPCAS_CLIENT->getServerLogoutURL();
- }
-
- /**
- * Set the logout URL of the CAS server.
- * @param $url the logout URL
- * @since 0.4.21 by Wyman Chan
- */
- function setServerLogoutURL($url='')
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after
- '.__CLASS__.'::client()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be
- `string\')');
- }
- $PHPCAS_CLIENT->setServerLogoutURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS.
- * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server
- * @public
- */
- function logout($params = "") {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if (!is_object($PHPCAS_CLIENT)) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- $parsedParams = array();
- if ($params != "") {
- if (is_string($params)) {
- phpCAS::error('method `phpCAS::logout($url)\' is now deprecated, use `phpCAS::logoutWithUrl($url)\' instead');
- }
- if (!is_array($params)) {
- phpCAS::error('type mismatched for parameter $params (should be `array\')');
- }
- foreach ($params as $key => $value) {
- if ($key != "service" && $key != "url") {
- phpCAS::error('only `url\' and `service\' parameters are allowed for method `phpCAS::logout($params)\'');
- }
- $parsedParams[$key] = $value;
- }
- }
- $PHPCAS_CLIENT->logout($parsedParams);
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS. Halts by redirecting to the CAS server.
- * @param $service a URL that will be transmitted to the CAS server
- */
- function logoutWithRedirectService($service) {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if (!is_string($service)) {
- phpCAS::error('type mismatched for parameter $service (should be `string\')');
- }
- $PHPCAS_CLIENT->logout(array("service" => $service));
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS. Halts by redirecting to the CAS server.
- * @param $url a URL that will be transmitted to the CAS server
- */
- function logoutWithUrl($url) {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if (!is_string($url)) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->logout(array("url" => $url));
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * This method is used to logout from CAS. Halts by redirecting to the CAS server.
- * @param $service a URL that will be transmitted to the CAS server
- * @param $url a URL that will be transmitted to the CAS server
- */
- function logoutWithRedirectServiceAndUrl($service, $url) {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if (!is_string($service)) {
- phpCAS::error('type mismatched for parameter $service (should be `string\')');
- }
- if (!is_string($url)) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->logout(array("service" => $service, "url" => $url));
- // never reached
- phpCAS::traceEnd();
- }
-
- /**
- * Set the fixed URL that will be used by the CAS server to transmit the PGT.
- * When this method is not called, a phpCAS script uses its own URL for the callback.
- *
- * @param $url the URL
- */
- function setFixedCallbackURL($url='')
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( !$PHPCAS_CLIENT->isProxy() ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->setCallbackURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * Set the fixed URL that will be set as the CAS service parameter. When this
- * method is not called, a phpCAS script uses its own URL.
- *
- * @param $url the URL
- */
- function setFixedServiceURL($url)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( gettype($url) != 'string' ) {
- phpCAS::error('type mismatched for parameter $url (should be `string\')');
- }
- $PHPCAS_CLIENT->setURL($url);
- phpCAS::traceEnd();
- }
-
- /**
- * Get the URL that is set as the CAS service parameter.
- */
- function getServiceURL()
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- return($PHPCAS_CLIENT->getURL());
- }
-
- /**
- * Retrieve a Proxy Ticket from the CAS server.
- */
- function retrievePT($target_service,&$err_code,&$err_msg)
- {
- global $PHPCAS_CLIENT;
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
- }
- if ( gettype($target_service) != 'string' ) {
- phpCAS::error('type mismatched for parameter $target_service(should be `string\')');
- }
- return($PHPCAS_CLIENT->retrievePT($target_service,$err_code,$err_msg));
- }
-
- /**
- * Set the certificate of the CAS server.
- *
- * @param $cert the PEM certificate
- */
- function setCasServerCert($cert)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if ( gettype($cert) != 'string' ) {
- phpCAS::error('type mismatched for parameter $cert (should be `string\')');
- }
- $PHPCAS_CLIENT->setCasServerCert($cert);
- phpCAS::traceEnd();
- }
-
- /**
- * Set the certificate of the CAS server CA.
- *
- * @param $cert the CA certificate
- */
- function setCasServerCACert($cert)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- if ( gettype($cert) != 'string' ) {
- phpCAS::error('type mismatched for parameter $cert (should be `string\')');
- }
- $PHPCAS_CLIENT->setCasServerCACert($cert);
- phpCAS::traceEnd();
- }
-
- /**
- * Set no SSL validation for the CAS server.
- */
- function setNoCasServerValidation()
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- $PHPCAS_CLIENT->setNoCasServerValidation();
- phpCAS::traceEnd();
- }
-
- /** @} */
-
- /**
- * Change CURL options.
- * CURL is used to connect through HTTPS to CAS server
- * @param $key the option key
- * @param $value the value to set
- */
- function setExtraCurlOption($key, $value)
- {
- global $PHPCAS_CLIENT;
- phpCAS::traceBegin();
- if ( !is_object($PHPCAS_CLIENT) ) {
- phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
- }
- $PHPCAS_CLIENT->setExtraCurlOption($key, $value);
- phpCAS::traceEnd();
- }
-
-}
-
-// ########################################################################
-// DOCUMENTATION
-// ########################################################################
-
-// ########################################################################
-// MAIN PAGE
-
-/**
- * @mainpage
- *
- * The following pages only show the source documentation.
- *
- */
-
-// ########################################################################
-// MODULES DEFINITION
-
-/** @defgroup public User interface */
-
-/** @defgroup publicInit Initialization
- * @ingroup public */
-
-/** @defgroup publicAuth Authentication
- * @ingroup public */
-
-/** @defgroup publicServices Access to external services
- * @ingroup public */
-
-/** @defgroup publicConfig Configuration
- * @ingroup public */
-
-/** @defgroup publicLang Internationalization
- * @ingroup publicConfig */
-
-/** @defgroup publicOutput HTML output
- * @ingroup publicConfig */
-
-/** @defgroup publicPGTStorage PGT storage
- * @ingroup publicConfig */
-
-/** @defgroup publicDebug Debugging
- * @ingroup public */
-
-
-/** @defgroup internal Implementation */
-
-/** @defgroup internalAuthentication Authentication
- * @ingroup internal */
-
-/** @defgroup internalBasic CAS Basic client features (CAS 1.0, Service Tickets)
- * @ingroup internal */
-
-/** @defgroup internalProxy CAS Proxy features (CAS 2.0, Proxy Granting Tickets)
- * @ingroup internal */
-
-/** @defgroup internalPGTStorage PGT storage
- * @ingroup internalProxy */
-
-/** @defgroup internalPGTStorageDB PGT storage in a database
- * @ingroup internalPGTStorage */
-
-/** @defgroup internalPGTStorageFile PGT storage on the filesystem
- * @ingroup internalPGTStorage */
-
-/** @defgroup internalCallback Callback from the CAS server
- * @ingroup internalProxy */
-
-/** @defgroup internalProxied CAS proxied client features (CAS 2.0, Proxy Tickets)
- * @ingroup internal */
-
-/** @defgroup internalConfig Configuration
- * @ingroup internal */
-
-/** @defgroup internalOutput HTML output
- * @ingroup internalConfig */
-
-/** @defgroup internalLang Internationalization
- * @ingroup internalConfig
- *
- * To add a new language:
- * - 1. define a new constant PHPCAS_LANG_XXXXXX in CAS/CAS.php
- * - 2. copy any file from CAS/languages to CAS/languages/XXXXXX.php
- * - 3. Make the translations
- */
-
-/** @defgroup internalDebug Debugging
- * @ingroup internal */
-
-/** @defgroup internalMisc Miscellaneous
- * @ingroup internal */
-
-// ########################################################################
-// EXAMPLES
-
-/**
- * @example example_simple.php
- */
- /**
- * @example example_proxy.php
- */
- /**
- * @example example_proxy2.php
- */
- /**
- * @example example_lang.php
- */
- /**
- * @example example_html.php
- */
- /**
- * @example example_file.php
- */
- /**
- * @example example_db.php
- */
- /**
- * @example example_service.php
- */
- /**
- * @example example_session_proxy.php
- */
- /**
- * @example example_session_service.php
- */
- /**
- * @example example_gateway.php
- */
-
-
-
-?>
+<?php
+
+// commented in 0.4.22-RC2 for Sylvain Derosiaux
+// error_reporting(E_ALL ^ E_NOTICE);
+
+//
+// hack by Vangelis Haniotakis to handle the absence of $_SERVER['REQUEST_URI'] in IIS
+//
+if (!$_SERVER['REQUEST_URI']) {
+ $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'].'?'.$_SERVER['QUERY_STRING'];
+}
+
+//
+// another one by Vangelis Haniotakis also to make phpCAS work with PHP5
+//
+if (version_compare(PHP_VERSION,'5','>=')) {
+ require_once(dirname(__FILE__).'/CAS/domxml-php4-php5.php');
+}
+
+/**
+ * @file CAS/CAS.php
+ * Interface class of the phpCAS library
+ *
+ * @ingroup public
+ */
+
+// ########################################################################
+// CONSTANTS
+// ########################################################################
+
+// ------------------------------------------------------------------------
+// CAS VERSIONS
+// ------------------------------------------------------------------------
+
+/**
+ * phpCAS version. accessible for the user by phpCAS::getVersion().
+ */
+define('PHPCAS_VERSION','1.0.1');
+
+// ------------------------------------------------------------------------
+// CAS VERSIONS
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup public
+ * @{
+ */
+
+/**
+ * CAS version 1.0
+ */
+define("CAS_VERSION_1_0",'1.0');
+/*!
+ * CAS version 2.0
+ */
+define("CAS_VERSION_2_0",'2.0');
+
+/** @} */
+ /**
+ * @addtogroup publicPGTStorage
+ * @{
+ */
+// ------------------------------------------------------------------------
+// FILE PGT STORAGE
+// ------------------------------------------------------------------------
+ /**
+ * Default path used when storing PGT's to file
+ */
+define("CAS_PGT_STORAGE_FILE_DEFAULT_PATH",'/tmp');
+/**
+ * phpCAS::setPGTStorageFile()'s 2nd parameter to write plain text files
+ */
+define("CAS_PGT_STORAGE_FILE_FORMAT_PLAIN",'plain');
+/**
+ * phpCAS::setPGTStorageFile()'s 2nd parameter to write xml files
+ */
+define("CAS_PGT_STORAGE_FILE_FORMAT_XML",'xml');
+/**
+ * Default format used when storing PGT's to file
+ */
+define("CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT",CAS_PGT_STORAGE_FILE_FORMAT_PLAIN);
+// ------------------------------------------------------------------------
+// DATABASE PGT STORAGE
+// ------------------------------------------------------------------------
+ /**
+ * default database type when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE",'mysql');
+/**
+ * default host when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME",'localhost');
+/**
+ * default port when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_PORT",'');
+/**
+ * default database when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_DATABASE",'phpCAS');
+/**
+ * default table when storing PGT's to database
+ */
+define("CAS_PGT_STORAGE_DB_DEFAULT_TABLE",'pgt');
+
+/** @} */
+// ------------------------------------------------------------------------
+// SERVICE ACCESS ERRORS
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup publicServices
+ * @{
+ */
+
+/**
+ * phpCAS::service() error code on success
+ */
+define("PHPCAS_SERVICE_OK",0);
+/**
+ * phpCAS::service() error code when the PT could not retrieve because
+ * the CAS server did not respond.
+ */
+define("PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE",1);
+/**
+ * phpCAS::service() error code when the PT could not retrieve because
+ * the response of the CAS server was ill-formed.
+ */
+define("PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE",2);
+/**
+ * phpCAS::service() error code when the PT could not retrieve because
+ * the CAS server did not want to.
+ */
+define("PHPCAS_SERVICE_PT_FAILURE",3);
+/**
+ * phpCAS::service() error code when the service was not available.
+ */
+define("PHPCAS_SERVICE_NOT AVAILABLE",4);
+
+/** @} */
+// ------------------------------------------------------------------------
+// LANGUAGES
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup publicLang
+ * @{
+ */
+
+define("PHPCAS_LANG_ENGLISH", 'english');
+define("PHPCAS_LANG_FRENCH", 'french');
+define("PHPCAS_LANG_GREEK", 'greek');
+define("PHPCAS_LANG_GERMAN", 'german');
+define("PHPCAS_LANG_JAPANESE", 'japanese');
+define("PHPCAS_LANG_SPANISH", 'spanish');
+define("PHPCAS_LANG_CATALAN", 'catalan');
+
+/** @} */
+
+/**
+ * @addtogroup internalLang
+ * @{
+ */
+
+/**
+ * phpCAS default language (when phpCAS::setLang() is not used)
+ */
+define("PHPCAS_LANG_DEFAULT", PHPCAS_LANG_ENGLISH);
+
+/** @} */
+// ------------------------------------------------------------------------
+// DEBUG
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup publicDebug
+ * @{
+ */
+
+/**
+ * The default directory for the debug file under Unix.
+ */
+define('DEFAULT_DEBUG_DIR','/tmp/');
+
+/** @} */
+// ------------------------------------------------------------------------
+// MISC
+// ------------------------------------------------------------------------
+ /**
+ * @addtogroup internalMisc
+ * @{
+ */
+
+/**
+ * This global variable is used by the interface class phpCAS.
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_CLIENT'] = null;
+
+/**
+ * This global variable is used to store where the initializer is called from
+ * (to print a comprehensive error in case of multiple calls).
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_INIT_CALL'] = array('done' => FALSE,
+ 'file' => '?',
+ 'line' => -1,
+ 'method' => '?');
+
+/**
+ * This global variable is used to store where the method checking
+ * the authentication is called from (to print comprehensive errors)
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_AUTH_CHECK_CALL'] = array('done' => FALSE,
+ 'file' => '?',
+ 'line' => -1,
+ 'method' => '?',
+ 'result' => FALSE);
+
+/**
+ * This global variable is used to store phpCAS debug mode.
+ *
+ * @hideinitializer
+ */
+$GLOBALS['PHPCAS_DEBUG'] = array('filename' => FALSE,
+ 'indent' => 0,
+ 'unique_id' => '');
+
+/** @} */
+
+// ########################################################################
+// CLIENT CLASS
+// ########################################################################
+
+// include client class
+include_once(dirname(__FILE__).'/CAS/client.php');
+
+// ########################################################################
+// INTERFACE CLASS
+// ########################################################################
+
+/**
+ * @class phpCAS
+ * The phpCAS class is a simple container for the phpCAS library. It provides CAS
+ * authentication for web applications written in PHP.
+ *
+ * @ingroup public
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * \internal All its methods access the same object ($PHPCAS_CLIENT, declared
+ * at the end of CAS/client.php).
+ */
+
+
+
+class phpCAS
+{
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * @addtogroup publicInit
+ * @{
+ */
+
+ /**
+ * phpCAS client initializer.
+ * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
+ * called, only once, and before all other methods (except phpCAS::getVersion()
+ * and phpCAS::setDebug()).
+ *
+ * @param $server_version the version of the CAS server
+ * @param $server_hostname the hostname of the CAS server
+ * @param $server_port the port the CAS server is running on
+ * @param $server_uri the URI the CAS server is responding on
+ * @param $start_session Have phpCAS start PHP sessions (default true)
+ *
+ * @return a newly created CASClient object
+ */
+ function client($server_version,
+ $server_hostname,
+ $server_port,
+ $server_uri,
+ $start_session = true)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
+
+ phpCAS::traceBegin();
+ if ( is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
+ }
+ if ( gettype($server_version) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
+ }
+ if ( gettype($server_hostname) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
+ }
+ if ( gettype($server_port) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
+ }
+ if ( gettype($server_uri) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
+ }
+
+ // store where the initialzer is called from
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_INIT_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__);
+
+ // initialize the global object $PHPCAS_CLIENT
+ $PHPCAS_CLIENT = new CASClient($server_version,FALSE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * phpCAS proxy initializer.
+ * @note Only one of the phpCAS::client() and phpCAS::proxy functions should be
+ * called, only once, and before all other methods (except phpCAS::getVersion()
+ * and phpCAS::setDebug()).
+ *
+ * @param $server_version the version of the CAS server
+ * @param $server_hostname the hostname of the CAS server
+ * @param $server_port the port the CAS server is running on
+ * @param $server_uri the URI the CAS server is responding on
+ * @param $start_session Have phpCAS start PHP sessions (default true)
+ *
+ * @return a newly created CASClient object
+ */
+ function proxy($server_version,
+ $server_hostname,
+ $server_port,
+ $server_uri,
+ $start_session = true)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_INIT_CALL;
+
+ phpCAS::traceBegin();
+ if ( is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error($PHPCAS_INIT_CALL['method'].'() has already been called (at '.$PHPCAS_INIT_CALL['file'].':'.$PHPCAS_INIT_CALL['line'].')');
+ }
+ if ( gettype($server_version) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_version (should be `string\')');
+ }
+ if ( gettype($server_hostname) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_hostname (should be `string\')');
+ }
+ if ( gettype($server_port) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $server_port (should be `integer\')');
+ }
+ if ( gettype($server_uri) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $server_uri (should be `string\')');
+ }
+
+ // store where the initialzer is called from
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_INIT_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__);
+
+ // initialize the global object $PHPCAS_CLIENT
+ $PHPCAS_CLIENT = new CASClient($server_version,TRUE/*proxy*/,$server_hostname,$server_port,$server_uri,$start_session);
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * @addtogroup publicDebug
+ * @{
+ */
+
+ /**
+ * Set/unset debug mode
+ *
+ * @param $filename the name of the file used for logging, or FALSE to stop debugging.
+ */
+ function setDebug($filename='')
+ {
+ global $PHPCAS_DEBUG;
+
+ if ( $filename != FALSE && gettype($filename) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $dbg (should be FALSE or the name of the log file)');
+ }
+
+ if ( empty($filename) ) {
+ if ( preg_match('/^Win.*/',getenv('OS')) ) {
+ if ( isset($_ENV['TMP']) ) {
+ $debugDir = $_ENV['TMP'].'/';
+ } else if ( isset($_ENV['TEMP']) ) {
+ $debugDir = $_ENV['TEMP'].'/';
+ } else {
+ $debugDir = '';
+ }
+ } else {
+ $debugDir = DEFAULT_DEBUG_DIR;
+ }
+ $filename = $debugDir . 'phpCAS.log';
+ }
+
+ if ( empty($PHPCAS_DEBUG['unique_id']) ) {
+ $PHPCAS_DEBUG['unique_id'] = substr(strtoupper(md5(uniqid(''))),0,4);
+ }
+
+ $PHPCAS_DEBUG['filename'] = $filename;
+
+ phpCAS::trace('START ******************');
+ }
+
+ /** @} */
+ /**
+ * @addtogroup internalDebug
+ * @{
+ */
+
+ /**
+ * This method is a wrapper for debug_backtrace() that is not available
+ * in all PHP versions (>= 4.3.0 only)
+ */
+ function backtrace()
+ {
+ if ( function_exists('debug_backtrace') ) {
+ return debug_backtrace();
+ } else {
+ // poor man's hack ... but it does work ...
+ return array();
+ }
+ }
+
+ /**
+ * Logs a string in debug mode.
+ *
+ * @param $str the string to write
+ *
+ * @private
+ */
+ function log($str)
+ {
+ $indent_str = ".";
+ global $PHPCAS_DEBUG;
+
+ if ( $PHPCAS_DEBUG['filename'] ) {
+ for ($i=0;$i<$PHPCAS_DEBUG['indent'];$i++) {
+ $indent_str .= '| ';
+ }
+ error_log($PHPCAS_DEBUG['unique_id'].' '.$indent_str.$str."\n",3,$PHPCAS_DEBUG['filename']);
+ }
+
+ }
+
+ /**
+ * This method is used by interface methods to print an error and where the function
+ * was originally called from.
+ *
+ * @param $msg the message to print
+ *
+ * @private
+ */
+ function error($msg)
+ {
+ $dbg = phpCAS::backtrace();
+ $function = '?';
+ $file = '?';
+ $line = '?';
+ if ( is_array($dbg) ) {
+ for ( $i=1; $i<sizeof($dbg); $i++) {
+ if ( is_array($dbg[$i]) ) {
+ if ( $dbg[$i]['class'] == __CLASS__ ) {
+ $function = $dbg[$i]['function'];
+ $file = $dbg[$i]['file'];
+ $line = $dbg[$i]['line'];
+ }
+ }
+ }
+ }
+ echo "<br />\n<b>phpCAS error</b>: <font color=\"FF0000\"><b>".__CLASS__."::".$function.'(): '.htmlentities($msg)."</b></font> in <b>".$file."</b> on line <b>".$line."</b><br />\n";
+ phpCAS::trace($msg);
+ phpCAS::traceExit();
+ exit();
+ }
+
+ /**
+ * This method is used to log something in debug mode.
+ */
+ function trace($str)
+ {
+ $dbg = phpCAS::backtrace();
+ phpCAS::log($str.' ['.basename($dbg[1]['file']).':'.$dbg[1]['line'].']');
+ }
+
+ /**
+ * This method is used to indicate the start of the execution of a function in debug mode.
+ */
+ function traceBegin()
+ {
+ global $PHPCAS_DEBUG;
+
+ $dbg = phpCAS::backtrace();
+ $str = '=> ';
+ if ( !empty($dbg[2]['class']) ) {
+ $str .= $dbg[2]['class'].'::';
+ }
+ $str .= $dbg[2]['function'].'(';
+ if ( is_array($dbg[2]['args']) ) {
+ foreach ($dbg[2]['args'] as $index => $arg) {
+ if ( $index != 0 ) {
+ $str .= ', ';
+ }
+ $str .= str_replace("\n","",var_export($arg,TRUE));
+ }
+ }
+ $str .= ') ['.basename($dbg[2]['file']).':'.$dbg[2]['line'].']';
+ phpCAS::log($str);
+ $PHPCAS_DEBUG['indent'] ++;
+ }
+
+ /**
+ * This method is used to indicate the end of the execution of a function in debug mode.
+ *
+ * @param $res the result of the function
+ */
+ function traceEnd($res='')
+ {
+ global $PHPCAS_DEBUG;
+
+ $PHPCAS_DEBUG['indent'] --;
+ $dbg = phpCAS::backtrace();
+ $str = '';
+ $str .= '<= '.str_replace("\n","",var_export($res,TRUE));
+ phpCAS::log($str);
+ }
+
+ /**
+ * This method is used to indicate the end of the execution of the program
+ */
+ function traceExit()
+ {
+ global $PHPCAS_DEBUG;
+
+ phpCAS::log('exit()');
+ while ( $PHPCAS_DEBUG['indent'] > 0 ) {
+ phpCAS::log('-');
+ $PHPCAS_DEBUG['indent'] --;
+ }
+ }
+
+ /** @} */
+ // ########################################################################
+ // INTERNATIONALIZATION
+ // ########################################################################
+ /**
+ * @addtogroup publicLang
+ * @{
+ */
+
+ /**
+ * This method is used to set the language used by phpCAS.
+ * @note Can be called only once.
+ *
+ * @param $lang a string representing the language.
+ *
+ * @sa PHPCAS_LANG_FRENCH, PHPCAS_LANG_ENGLISH
+ */
+ function setLang($lang)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($lang) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $lang (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setLang($lang);
+ }
+
+ /** @} */
+ // ########################################################################
+ // VERSION
+ // ########################################################################
+ /**
+ * @addtogroup public
+ * @{
+ */
+
+ /**
+ * This method returns the phpCAS version.
+ *
+ * @return the phpCAS version.
+ */
+ function getVersion()
+ {
+ return PHPCAS_VERSION;
+ }
+
+ /** @} */
+ // ########################################################################
+ // HTML OUTPUT
+ // ########################################################################
+ /**
+ * @addtogroup publicOutput
+ * @{
+ */
+
+ /**
+ * This method sets the HTML header used for all outputs.
+ *
+ * @param $header the HTML header.
+ */
+ function setHTMLHeader($header)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($header) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $header (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setHTMLHeader($header);
+ }
+
+ /**
+ * This method sets the HTML footer used for all outputs.
+ *
+ * @param $footer the HTML footer.
+ */
+ function setHTMLFooter($footer)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($footer) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $footer (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setHTMLFooter($footer);
+ }
+
+ /** @} */
+ // ########################################################################
+ // PGT STORAGE
+ // ########################################################################
+ /**
+ * @addtogroup publicPGTStorage
+ * @{
+ */
+
+ /**
+ * This method is used to tell phpCAS to store the response of the
+ * CAS server to PGT requests onto the filesystem.
+ *
+ * @param $format the format used to store the PGT's (`plain' and `xml' allowed)
+ * @param $path the path where the PGT's should be stored
+ */
+ function setPGTStorageFile($format='',
+ $path='')
+ {
+ global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
+ }
+ if ( gettype($format) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $format (should be `string\')');
+ }
+ if ( gettype($path) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $format (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setPGTStorageFile($format,$path);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to tell phpCAS to store the response of the
+ * CAS server to PGT requests into a database.
+ * @note The connection to the database is done only when needed.
+ * As a consequence, bad parameters are detected only when
+ * initializing PGT storage, except in debug mode.
+ *
+ * @param $user the user to access the data with
+ * @param $password the user's password
+ * @param $database_type the type of the database hosting the data
+ * @param $hostname the server hosting the database
+ * @param $port the port the server is listening on
+ * @param $database the name of the database
+ * @param $table the name of the table storing the data
+ */
+ function setPGTStorageDB($user,
+ $password,
+ $database_type='',
+ $hostname='',
+ $port=0,
+ $database='',
+ $table='')
+ {
+ global $PHPCAS_CLIENT,$PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( $PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called before '.$PHPCAS_AUTH_CHECK_CALL['method'].'() (called at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].')');
+ }
+ if ( gettype($user) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $user (should be `string\')');
+ }
+ if ( gettype($password) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $password (should be `string\')');
+ }
+ if ( gettype($database_type) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $database_type (should be `string\')');
+ }
+ if ( gettype($hostname) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $hostname (should be `string\')');
+ }
+ if ( gettype($port) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $port (should be `integer\')');
+ }
+ if ( gettype($database) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $database (should be `string\')');
+ }
+ if ( gettype($table) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $table (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setPGTStorageDB($this,$user,$password,$hostname,$port,$database,$table);
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+ // ########################################################################
+ // ACCESS TO EXTERNAL SERVICES
+ // ########################################################################
+ /**
+ * @addtogroup publicServices
+ * @{
+ */
+
+ /**
+ * This method is used to access an HTTP[S] service.
+ *
+ * @param $url the service to access.
+ * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
+ * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
+ * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
+ * @param $output the output of the service (also used to give an error
+ * message on failure).
+ *
+ * @return TRUE on success, FALSE otherwise (in this later case, $err_code
+ * gives the reason why it failed and $output contains an error message).
+ */
+ function serviceWeb($url,&$err_code,&$output)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+
+ $res = $PHPCAS_CLIENT->serviceWeb($url,$err_code,$output);
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * This method is used to access an IMAP/POP3/NNTP service.
+ *
+ * @param $url a string giving the URL of the service, including the mailing box
+ * for IMAP URLs, as accepted by imap_open().
+ * @param $flags options given to imap_open().
+ * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
+ * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
+ * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
+ * @param $err_msg an error message on failure
+ * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL
+ * on success, FALSE on error).
+ *
+ * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code
+ * gives the reason why it failed and $err_msg contains an error message).
+ */
+ function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after the programmer is sure the user has been authenticated (by calling '.__CLASS__.'::checkAuthentication() or '.__CLASS__.'::forceAuthentication()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+
+ if ( gettype($flags) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $flags (should be `integer\')');
+ }
+
+ $res = $PHPCAS_CLIENT->serviceMail($url,$flags,$err_code,$err_msg,$pt);
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /** @} */
+ // ########################################################################
+ // AUTHENTICATION
+ // ########################################################################
+ /**
+ * @addtogroup publicAuth
+ * @{
+ */
+
+ /**
+ * Set the times authentication will be cached before really accessing the CAS server in gateway mode:
+ * - -1: check only once, and then never again (until you pree login)
+ * - 0: always check
+ * - n: check every "n" time
+ *
+ * @param $n an integer.
+ */
+ function setCacheTimesForAuthRecheck($n)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($n) != 'integer' ) {
+ phpCAS::error('type mismatched for parameter $header (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCacheTimesForAuthRecheck($n);
+ }
+
+ /**
+ * This method is called to check if the user is authenticated (use the gateway feature).
+ * @return TRUE when the user is authenticated; otherwise FALSE.
+ */
+ function checkAuthentication()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ $auth = $PHPCAS_CLIENT->checkAuthentication();
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__,
+ 'result' => $auth );
+ phpCAS::traceEnd($auth);
+ return $auth;
+ }
+
+ /**
+ * This method is called to force authentication if the user was not already
+ * authenticated. If the user is not authenticated, halt by redirecting to
+ * the CAS server.
+ */
+ function forceAuthentication()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ $auth = $PHPCAS_CLIENT->forceAuthentication();
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__,
+ 'result' => $auth );
+
+ if ( !$auth ) {
+ phpCAS::trace('user is not authenticated, redirecting to the CAS server');
+ $PHPCAS_CLIENT->forceAuthentication();
+ } else {
+ phpCAS::trace('no need to authenticate (user `'.phpCAS::getUser().'\' is already authenticated)');
+ }
+
+ phpCAS::traceEnd();
+ return $auth;
+ }
+
+ /**
+ * This method is called to renew the authentication.
+ **/
+ function renewAuthentication() {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before'.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE, 'file' => $dbg[0]['file'], 'line' => $dbg[0]['line'], 'method' => __CLASS__.'::'.__FUNCTION__, 'result' => $auth );
+
+ $PHPCAS_CLIENT->renewAuthentication();
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method has been left from version 0.4.1 for compatibility reasons.
+ */
+ function authenticate()
+ {
+ phpCAS::error('this method is deprecated. You should use '.__CLASS__.'::forceAuthentication() instead');
+ }
+
+ /**
+ * This method is called to check if the user is authenticated (previously or by
+ * tickets given in the URL).
+ *
+ * @return TRUE when the user is authenticated.
+ */
+ function isAuthenticated()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+
+ // call the isAuthenticated method of the global $PHPCAS_CLIENT object
+ $auth = $PHPCAS_CLIENT->isAuthenticated();
+
+ // store where the authentication has been checked and the result
+ $dbg = phpCAS::backtrace();
+ $PHPCAS_AUTH_CHECK_CALL = array('done' => TRUE,
+ 'file' => $dbg[0]['file'],
+ 'line' => $dbg[0]['line'],
+ 'method' => __CLASS__.'::'.__FUNCTION__,
+ 'result' => $auth );
+ phpCAS::traceEnd($auth);
+ return $auth;
+ }
+
+ /**
+ * Checks whether authenticated based on $_SESSION. Useful to avoid
+ * server calls.
+ * @return true if authenticated, false otherwise.
+ * @since 0.4.22 by Brendan Arnold
+ */
+ function isSessionAuthenticated ()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return($PHPCAS_CLIENT->isSessionAuthenticated());
+ }
+
+ /**
+ * This method returns the CAS user's login name.
+ * @warning should not be called only after phpCAS::forceAuthentication()
+ * or phpCAS::checkAuthentication().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getUser()
+ {
+ global $PHPCAS_CLIENT, $PHPCAS_AUTH_CHECK_CALL;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['done'] ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
+ }
+ if ( !$PHPCAS_AUTH_CHECK_CALL['result'] ) {
+ phpCAS::error('authentication was checked (by '.$PHPCAS_AUTH_CHECK_CALL['method'].'() at '.$PHPCAS_AUTH_CHECK_CALL['file'].':'.$PHPCAS_AUTH_CHECK_CALL['line'].') but the method returned FALSE');
+ }
+ return $PHPCAS_CLIENT->getUser();
+ }
+
+ /**
+ * Handle logout requests.
+ */
+ function handleLogoutRequests($check_client=true, $allowed_clients=false)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return($PHPCAS_CLIENT->handleLogoutRequests($check_client, $allowed_clients));
+ }
+
+ /**
+ * This method returns the URL to be used to login.
+ * or phpCAS::isAuthenticated().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getServerLoginURL()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return $PHPCAS_CLIENT->getServerLoginURL();
+ }
+
+ /**
+ * Set the login URL of the CAS server.
+ * @param $url the login URL
+ * @since 0.4.21 by Wyman Chan
+ */
+ function setServerLoginURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerLoginURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method returns the URL to be used to login.
+ * or phpCAS::isAuthenticated().
+ *
+ * @return the login name of the authenticated user
+ */
+ function getServerLogoutURL()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should not be called before '.__CLASS__.'::client() or '.__CLASS__.'::proxy()');
+ }
+ return $PHPCAS_CLIENT->getServerLogoutURL();
+ }
+
+ /**
+ * Set the logout URL of the CAS server.
+ * @param $url the logout URL
+ * @since 0.4.21 by Wyman Chan
+ */
+ function setServerLogoutURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after
+ '.__CLASS__.'::client()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be
+ `string\')');
+ }
+ $PHPCAS_CLIENT->setServerLogoutURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS.
+ * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server
+ * @public
+ */
+ function logout($params = "") {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if (!is_object($PHPCAS_CLIENT)) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ $parsedParams = array();
+ if ($params != "") {
+ if (is_string($params)) {
+ phpCAS::error('method `phpCAS::logout($url)\' is now deprecated, use `phpCAS::logoutWithUrl($url)\' instead');
+ }
+ if (!is_array($params)) {
+ phpCAS::error('type mismatched for parameter $params (should be `array\')');
+ }
+ foreach ($params as $key => $value) {
+ if ($key != "service" && $key != "url") {
+ phpCAS::error('only `url\' and `service\' parameters are allowed for method `phpCAS::logout($params)\'');
+ }
+ $parsedParams[$key] = $value;
+ }
+ }
+ $PHPCAS_CLIENT->logout($parsedParams);
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS. Halts by redirecting to the CAS server.
+ * @param $service a URL that will be transmitted to the CAS server
+ */
+ function logoutWithRedirectService($service) {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if (!is_string($service)) {
+ phpCAS::error('type mismatched for parameter $service (should be `string\')');
+ }
+ $PHPCAS_CLIENT->logout(array("service" => $service));
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS. Halts by redirecting to the CAS server.
+ * @param $url a URL that will be transmitted to the CAS server
+ */
+ function logoutWithUrl($url) {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if (!is_string($url)) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->logout(array("url" => $url));
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is used to logout from CAS. Halts by redirecting to the CAS server.
+ * @param $service a URL that will be transmitted to the CAS server
+ * @param $url a URL that will be transmitted to the CAS server
+ */
+ function logoutWithRedirectServiceAndUrl($service, $url) {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if (!is_string($service)) {
+ phpCAS::error('type mismatched for parameter $service (should be `string\')');
+ }
+ if (!is_string($url)) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->logout(array("service" => $service, "url" => $url));
+ // never reached
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the fixed URL that will be used by the CAS server to transmit the PGT.
+ * When this method is not called, a phpCAS script uses its own URL for the callback.
+ *
+ * @param $url the URL
+ */
+ function setFixedCallbackURL($url='')
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( !$PHPCAS_CLIENT->isProxy() ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCallbackURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the fixed URL that will be set as the CAS service parameter. When this
+ * method is not called, a phpCAS script uses its own URL.
+ *
+ * @param $url the URL
+ */
+ function setFixedServiceURL($url)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($url) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $url (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setURL($url);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Get the URL that is set as the CAS service parameter.
+ */
+ function getServiceURL()
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ return($PHPCAS_CLIENT->getURL());
+ }
+
+ /**
+ * Retrieve a Proxy Ticket from the CAS server.
+ */
+ function retrievePT($target_service,&$err_code,&$err_msg)
+ {
+ global $PHPCAS_CLIENT;
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::proxy()');
+ }
+ if ( gettype($target_service) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $target_service(should be `string\')');
+ }
+ return($PHPCAS_CLIENT->retrievePT($target_service,$err_code,$err_msg));
+ }
+
+ /**
+ * Set the certificate of the CAS server.
+ *
+ * @param $cert the PEM certificate
+ */
+ function setCasServerCert($cert)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if ( gettype($cert) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $cert (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCasServerCert($cert);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set the certificate of the CAS server CA.
+ *
+ * @param $cert the CA certificate
+ */
+ function setCasServerCACert($cert)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ if ( gettype($cert) != 'string' ) {
+ phpCAS::error('type mismatched for parameter $cert (should be `string\')');
+ }
+ $PHPCAS_CLIENT->setCasServerCACert($cert);
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * Set no SSL validation for the CAS server.
+ */
+ function setNoCasServerValidation()
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ $PHPCAS_CLIENT->setNoCasServerValidation();
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+
+ /**
+ * Change CURL options.
+ * CURL is used to connect through HTTPS to CAS server
+ * @param $key the option key
+ * @param $value the value to set
+ */
+ function setExtraCurlOption($key, $value)
+ {
+ global $PHPCAS_CLIENT;
+ phpCAS::traceBegin();
+ if ( !is_object($PHPCAS_CLIENT) ) {
+ phpCAS::error('this method should only be called after '.__CLASS__.'::client() or'.__CLASS__.'::proxy()');
+ }
+ $PHPCAS_CLIENT->setExtraCurlOption($key, $value);
+ phpCAS::traceEnd();
+ }
+
+}
+
+// ########################################################################
+// DOCUMENTATION
+// ########################################################################
+
+// ########################################################################
+// MAIN PAGE
+
+/**
+ * @mainpage
+ *
+ * The following pages only show the source documentation.
+ *
+ */
+
+// ########################################################################
+// MODULES DEFINITION
+
+/** @defgroup public User interface */
+
+/** @defgroup publicInit Initialization
+ * @ingroup public */
+
+/** @defgroup publicAuth Authentication
+ * @ingroup public */
+
+/** @defgroup publicServices Access to external services
+ * @ingroup public */
+
+/** @defgroup publicConfig Configuration
+ * @ingroup public */
+
+/** @defgroup publicLang Internationalization
+ * @ingroup publicConfig */
+
+/** @defgroup publicOutput HTML output
+ * @ingroup publicConfig */
+
+/** @defgroup publicPGTStorage PGT storage
+ * @ingroup publicConfig */
+
+/** @defgroup publicDebug Debugging
+ * @ingroup public */
+
+
+/** @defgroup internal Implementation */
+
+/** @defgroup internalAuthentication Authentication
+ * @ingroup internal */
+
+/** @defgroup internalBasic CAS Basic client features (CAS 1.0, Service Tickets)
+ * @ingroup internal */
+
+/** @defgroup internalProxy CAS Proxy features (CAS 2.0, Proxy Granting Tickets)
+ * @ingroup internal */
+
+/** @defgroup internalPGTStorage PGT storage
+ * @ingroup internalProxy */
+
+/** @defgroup internalPGTStorageDB PGT storage in a database
+ * @ingroup internalPGTStorage */
+
+/** @defgroup internalPGTStorageFile PGT storage on the filesystem
+ * @ingroup internalPGTStorage */
+
+/** @defgroup internalCallback Callback from the CAS server
+ * @ingroup internalProxy */
+
+/** @defgroup internalProxied CAS proxied client features (CAS 2.0, Proxy Tickets)
+ * @ingroup internal */
+
+/** @defgroup internalConfig Configuration
+ * @ingroup internal */
+
+/** @defgroup internalOutput HTML output
+ * @ingroup internalConfig */
+
+/** @defgroup internalLang Internationalization
+ * @ingroup internalConfig
+ *
+ * To add a new language:
+ * - 1. define a new constant PHPCAS_LANG_XXXXXX in CAS/CAS.php
+ * - 2. copy any file from CAS/languages to CAS/languages/XXXXXX.php
+ * - 3. Make the translations
+ */
+
+/** @defgroup internalDebug Debugging
+ * @ingroup internal */
+
+/** @defgroup internalMisc Miscellaneous
+ * @ingroup internal */
+
+// ########################################################################
+// EXAMPLES
+
+/**
+ * @example example_simple.php
+ */
+ /**
+ * @example example_proxy.php
+ */
+ /**
+ * @example example_proxy2.php
+ */
+ /**
+ * @example example_lang.php
+ */
+ /**
+ * @example example_html.php
+ */
+ /**
+ * @example example_file.php
+ */
+ /**
+ * @example example_db.php
+ */
+ /**
+ * @example example_service.php
+ */
+ /**
+ * @example example_session_proxy.php
+ */
+ /**
+ * @example example_session_service.php
+ */
+ /**
+ * @example example_gateway.php
+ */
+
+
+
+?>
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
index 5a589e4b2..00797b9c5 100644
--- a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
+++ b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-db.php
@@ -1,190 +1,190 @@
-<?php
-
-/**
- * @file CAS/PGTStorage/pgt-db.php
- * Basic class for PGT database storage
- */
-
-/**
- * @class PGTStorageDB
- * The PGTStorageDB class is a class for PGT database storage. An instance of
- * this class is returned by CASClient::SetPGTStorageDB().
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * @ingroup internalPGTStorageDB
- */
-
-class PGTStorageDB extends PGTStorage
-{
- /**
- * @addtogroup internalPGTStorageDB
- * @{
- */
-
- /**
- * a string representing a PEAR DB URL to connect to the database. Written by
- * PGTStorageDB::PGTStorageDB(), read by getURL().
- *
- * @hideinitializer
- * @private
- */
- var $_url='';
-
- /**
- * This method returns the PEAR DB URL to use to connect to the database.
- *
- * @return a PEAR DB URL
- *
- * @private
- */
- function getURL()
- {
- return $this->_url;
- }
-
- /**
- * The handle of the connection to the database where PGT's are stored. Written by
- * PGTStorageDB::init(), read by getLink().
- *
- * @hideinitializer
- * @private
- */
- var $_link = null;
-
- /**
- * This method returns the handle of the connection to the database where PGT's are
- * stored.
- *
- * @return a handle of connection.
- *
- * @private
- */
- function getLink()
- {
- return $this->_link;
- }
-
- /**
- * The name of the table where PGT's are stored. Written by
- * PGTStorageDB::PGTStorageDB(), read by getTable().
- *
- * @hideinitializer
- * @private
- */
- var $_table = '';
-
- /**
- * This method returns the name of the table where PGT's are stored.
- *
- * @return the name of a table.
- *
- * @private
- */
- function getTable()
- {
- return $this->_table;
- }
-
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * This method returns an informational string giving the type of storage
- * used by the object (used for debugging purposes).
- *
- * @return an informational string.
- * @public
- */
- function getStorageType()
- {
- return "database";
- }
-
- /**
- * This method returns an informational string giving informations on the
- * parameters of the storage.(used for debugging purposes).
- *
- * @public
- */
- function getStorageInfo()
- {
- return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
- }
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
-
- /**
- * The class constructor, called by CASClient::SetPGTStorageDB().
- *
- * @param $cas_parent the CASClient instance that creates the object.
- * @param $user the user to access the data with
- * @param $password the user's password
- * @param $database_type the type of the database hosting the data
- * @param $hostname the server hosting the database
- * @param $port the port the server is listening on
- * @param $database the name of the database
- * @param $table the name of the table storing the data
- *
- * @public
- */
- function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
- {
- phpCAS::traceBegin();
-
- // call the ancestor's constructor
- $this->PGTStorage($cas_parent);
-
- if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
- if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
- if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
- if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
- if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
-
- // build and store the PEAR DB URL
- $this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
-
- // XXX should use setURL and setTable
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * This method is used to initialize the storage. Halts on error.
- *
- * @public
- */
- function init()
- {
- phpCAS::traceBegin();
- // if the storage has already been initialized, return immediatly
- if ( $this->isInitialized() )
- return;
- // call the ancestor's method (mark as initialized)
- parent::init();
-
- //include phpDB library (the test was introduced in release 0.4.8 for
- //the integration into Tikiwiki).
- if (!class_exists('DB')) {
- include_once('DB.php');
- }
-
- // try to connect to the database
- $this->_link = DB::connect($this->getURL());
- if ( DB::isError($this->_link) ) {
- phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
- }
- var_dump($this->_link);
- phpCAS::traceBEnd();
- }
-
- /** @} */
-}
-
+<?php
+
+/**
+ * @file CAS/PGTStorage/pgt-db.php
+ * Basic class for PGT database storage
+ */
+
+/**
+ * @class PGTStorageDB
+ * The PGTStorageDB class is a class for PGT database storage. An instance of
+ * this class is returned by CASClient::SetPGTStorageDB().
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * @ingroup internalPGTStorageDB
+ */
+
+class PGTStorageDB extends PGTStorage
+{
+ /**
+ * @addtogroup internalPGTStorageDB
+ * @{
+ */
+
+ /**
+ * a string representing a PEAR DB URL to connect to the database. Written by
+ * PGTStorageDB::PGTStorageDB(), read by getURL().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_url='';
+
+ /**
+ * This method returns the PEAR DB URL to use to connect to the database.
+ *
+ * @return a PEAR DB URL
+ *
+ * @private
+ */
+ function getURL()
+ {
+ return $this->_url;
+ }
+
+ /**
+ * The handle of the connection to the database where PGT's are stored. Written by
+ * PGTStorageDB::init(), read by getLink().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_link = null;
+
+ /**
+ * This method returns the handle of the connection to the database where PGT's are
+ * stored.
+ *
+ * @return a handle of connection.
+ *
+ * @private
+ */
+ function getLink()
+ {
+ return $this->_link;
+ }
+
+ /**
+ * The name of the table where PGT's are stored. Written by
+ * PGTStorageDB::PGTStorageDB(), read by getTable().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_table = '';
+
+ /**
+ * This method returns the name of the table where PGT's are stored.
+ *
+ * @return the name of a table.
+ *
+ * @private
+ */
+ function getTable()
+ {
+ return $this->_table;
+ }
+
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * This method returns an informational string giving the type of storage
+ * used by the object (used for debugging purposes).
+ *
+ * @return an informational string.
+ * @public
+ */
+ function getStorageType()
+ {
+ return "database";
+ }
+
+ /**
+ * This method returns an informational string giving informations on the
+ * parameters of the storage.(used for debugging purposes).
+ *
+ * @public
+ */
+ function getStorageInfo()
+ {
+ return 'url=`'.$this->getURL().'\', table=`'.$this->getTable().'\'';
+ }
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+
+ /**
+ * The class constructor, called by CASClient::SetPGTStorageDB().
+ *
+ * @param $cas_parent the CASClient instance that creates the object.
+ * @param $user the user to access the data with
+ * @param $password the user's password
+ * @param $database_type the type of the database hosting the data
+ * @param $hostname the server hosting the database
+ * @param $port the port the server is listening on
+ * @param $database the name of the database
+ * @param $table the name of the table storing the data
+ *
+ * @public
+ */
+ function PGTStorageDB($cas_parent,$user,$password,$database_type,$hostname,$port,$database,$table)
+ {
+ phpCAS::traceBegin();
+
+ // call the ancestor's constructor
+ $this->PGTStorage($cas_parent);
+
+ if ( empty($database_type) ) $database_type = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE_TYPE;
+ if ( empty($hostname) ) $hostname = CAS_PGT_STORAGE_DB_DEFAULT_HOSTNAME;
+ if ( $port==0 ) $port = CAS_PGT_STORAGE_DB_DEFAULT_PORT;
+ if ( empty($database) ) $database = CAS_PGT_STORAGE_DB_DEFAULT_DATABASE;
+ if ( empty($table) ) $table = CAS_PGT_STORAGE_DB_DEFAULT_TABLE;
+
+ // build and store the PEAR DB URL
+ $this->_url = $database_type.':'.'//'.$user.':'.$password.'@'.$hostname.':'.$port.'/'.$database;
+
+ // XXX should use setURL and setTable
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * This method is used to initialize the storage. Halts on error.
+ *
+ * @public
+ */
+ function init()
+ {
+ phpCAS::traceBegin();
+ // if the storage has already been initialized, return immediatly
+ if ( $this->isInitialized() )
+ return;
+ // call the ancestor's method (mark as initialized)
+ parent::init();
+
+ //include phpDB library (the test was introduced in release 0.4.8 for
+ //the integration into Tikiwiki).
+ if (!class_exists('DB')) {
+ include_once('DB.php');
+ }
+
+ // try to connect to the database
+ $this->_link = DB::connect($this->getURL());
+ if ( DB::isError($this->_link) ) {
+ phpCAS::error('could not connect to database ('.DB::errorMessage($this->_link).')');
+ }
+ var_dump($this->_link);
+ phpCAS::traceBEnd();
+ }
+
+ /** @} */
+}
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
index bc07485b8..d48a60d67 100644
--- a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
+++ b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-file.php
@@ -1,249 +1,249 @@
-<?php
-
-/**
- * @file CAS/PGTStorage/pgt-file.php
- * Basic class for PGT file storage
- */
-
-/**
- * @class PGTStorageFile
- * The PGTStorageFile class is a class for PGT file storage. An instance of
- * this class is returned by CASClient::SetPGTStorageFile().
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * @ingroup internalPGTStorageFile
- */
-
-class PGTStorageFile extends PGTStorage
-{
- /**
- * @addtogroup internalPGTStorageFile
- * @{
- */
-
- /**
- * a string telling where PGT's should be stored on the filesystem. Written by
- * PGTStorageFile::PGTStorageFile(), read by getPath().
- *
- * @private
- */
- var $_path;
-
- /**
- * This method returns the name of the directory where PGT's should be stored
- * on the filesystem.
- *
- * @return the name of a directory (with leading and trailing '/')
- *
- * @private
- */
- function getPath()
- {
- return $this->_path;
- }
-
- /**
- * a string telling the format to use to store PGT's (plain or xml). Written by
- * PGTStorageFile::PGTStorageFile(), read by getFormat().
- *
- * @private
- */
- var $_format;
-
- /**
- * This method returns the format to use when storing PGT's on the filesystem.
- *
- * @return a string corresponding to the format used (plain or xml).
- *
- * @private
- */
- function getFormat()
- {
- return $this->_format;
- }
-
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * This method returns an informational string giving the type of storage
- * used by the object (used for debugging purposes).
- *
- * @return an informational string.
- * @public
- */
- function getStorageType()
- {
- return "file";
- }
-
- /**
- * This method returns an informational string giving informations on the
- * parameters of the storage.(used for debugging purposes).
- *
- * @return an informational string.
- * @public
- */
- function getStorageInfo()
- {
- return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
- }
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
-
- /**
- * The class constructor, called by CASClient::SetPGTStorageFile().
- *
- * @param $cas_parent the CASClient instance that creates the object.
- * @param $format the format used to store the PGT's (`plain' and `xml' allowed).
- * @param $path the path where the PGT's should be stored
- *
- * @public
- */
- function PGTStorageFile($cas_parent,$format,$path)
- {
- phpCAS::traceBegin();
- // call the ancestor's constructor
- $this->PGTStorage($cas_parent);
-
- if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
- if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
-
- // check that the path is an absolute path
- if (getenv("OS")=="Windows_NT"){
-
- if (!preg_match('`^[a-zA-Z]:`', $path)) {
- phpCAS::error('an absolute path is needed for PGT storage to file');
- }
-
- }
- else
- {
-
- if ( $path[0] != '/' ) {
- phpCAS::error('an absolute path is needed for PGT storage to file');
- }
-
- // store the path (with a leading and trailing '/')
- $path = preg_replace('|[/]*$|','/',$path);
- $path = preg_replace('|^[/]*|','/',$path);
- }
-
- $this->_path = $path;
- // check the format and store it
- switch ($format) {
- case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
- case CAS_PGT_STORAGE_FILE_FORMAT_XML:
- $this->_format = $format;
- break;
- default:
- phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
- }
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * This method is used to initialize the storage. Halts on error.
- *
- * @public
- */
- function init()
- {
- phpCAS::traceBegin();
- // if the storage has already been initialized, return immediatly
- if ( $this->isInitialized() )
- return;
- // call the ancestor's method (mark as initialized)
- parent::init();
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // PGT I/O
- // ########################################################################
-
- /**
- * This method returns the filename corresponding to a PGT Iou.
- *
- * @param $pgt_iou the PGT iou.
- *
- * @return a filename
- * @private
- */
- function getPGTIouFilename($pgt_iou)
- {
- phpCAS::traceBegin();
- $filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
- phpCAS::traceEnd($filename);
- return $filename;
- }
-
- /**
- * This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
- * warning on error.
- *
- * @param $pgt the PGT
- * @param $pgt_iou the PGT iou
- *
- * @public
- */
- function write($pgt,$pgt_iou)
- {
- phpCAS::traceBegin();
- $fname = $this->getPGTIouFilename($pgt_iou);
- if ( $f=fopen($fname,"w") ) {
- if ( fputs($f,$pgt) === FALSE ) {
- phpCAS::error('could not write PGT to `'.$fname.'\'');
- }
- fclose($f);
- } else {
- phpCAS::error('could not open `'.$fname.'\'');
- }
- phpCAS::traceEnd();
- }
-
- /**
- * This method reads a PGT corresponding to a PGT Iou and deletes the
- * corresponding file.
- *
- * @param $pgt_iou the PGT iou
- *
- * @return the corresponding PGT, or FALSE on error
- *
- * @public
- */
- function read($pgt_iou)
- {
- phpCAS::traceBegin();
- $pgt = FALSE;
- $fname = $this->getPGTIouFilename($pgt_iou);
- if ( !($f=fopen($fname,"r")) ) {
- phpCAS::trace('could not open `'.$fname.'\'');
- } else {
- if ( ($pgt=fgets($f)) === FALSE ) {
- phpCAS::trace('could not read PGT from `'.$fname.'\'');
- }
- fclose($f);
- }
-
- // delete the PGT file
- @unlink($fname);
-
- phpCAS::traceEnd($pgt);
- return $pgt;
- }
-
- /** @} */
-
-}
-
-
+<?php
+
+/**
+ * @file CAS/PGTStorage/pgt-file.php
+ * Basic class for PGT file storage
+ */
+
+/**
+ * @class PGTStorageFile
+ * The PGTStorageFile class is a class for PGT file storage. An instance of
+ * this class is returned by CASClient::SetPGTStorageFile().
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * @ingroup internalPGTStorageFile
+ */
+
+class PGTStorageFile extends PGTStorage
+{
+ /**
+ * @addtogroup internalPGTStorageFile
+ * @{
+ */
+
+ /**
+ * a string telling where PGT's should be stored on the filesystem. Written by
+ * PGTStorageFile::PGTStorageFile(), read by getPath().
+ *
+ * @private
+ */
+ var $_path;
+
+ /**
+ * This method returns the name of the directory where PGT's should be stored
+ * on the filesystem.
+ *
+ * @return the name of a directory (with leading and trailing '/')
+ *
+ * @private
+ */
+ function getPath()
+ {
+ return $this->_path;
+ }
+
+ /**
+ * a string telling the format to use to store PGT's (plain or xml). Written by
+ * PGTStorageFile::PGTStorageFile(), read by getFormat().
+ *
+ * @private
+ */
+ var $_format;
+
+ /**
+ * This method returns the format to use when storing PGT's on the filesystem.
+ *
+ * @return a string corresponding to the format used (plain or xml).
+ *
+ * @private
+ */
+ function getFormat()
+ {
+ return $this->_format;
+ }
+
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * This method returns an informational string giving the type of storage
+ * used by the object (used for debugging purposes).
+ *
+ * @return an informational string.
+ * @public
+ */
+ function getStorageType()
+ {
+ return "file";
+ }
+
+ /**
+ * This method returns an informational string giving informations on the
+ * parameters of the storage.(used for debugging purposes).
+ *
+ * @return an informational string.
+ * @public
+ */
+ function getStorageInfo()
+ {
+ return 'path=`'.$this->getPath().'\', format=`'.$this->getFormat().'\'';
+ }
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+
+ /**
+ * The class constructor, called by CASClient::SetPGTStorageFile().
+ *
+ * @param $cas_parent the CASClient instance that creates the object.
+ * @param $format the format used to store the PGT's (`plain' and `xml' allowed).
+ * @param $path the path where the PGT's should be stored
+ *
+ * @public
+ */
+ function PGTStorageFile($cas_parent,$format,$path)
+ {
+ phpCAS::traceBegin();
+ // call the ancestor's constructor
+ $this->PGTStorage($cas_parent);
+
+ if (empty($format) ) $format = CAS_PGT_STORAGE_FILE_DEFAULT_FORMAT;
+ if (empty($path) ) $path = CAS_PGT_STORAGE_FILE_DEFAULT_PATH;
+
+ // check that the path is an absolute path
+ if (getenv("OS")=="Windows_NT"){
+
+ if (!preg_match('`^[a-zA-Z]:`', $path)) {
+ phpCAS::error('an absolute path is needed for PGT storage to file');
+ }
+
+ }
+ else
+ {
+
+ if ( $path[0] != '/' ) {
+ phpCAS::error('an absolute path is needed for PGT storage to file');
+ }
+
+ // store the path (with a leading and trailing '/')
+ $path = preg_replace('|[/]*$|','/',$path);
+ $path = preg_replace('|^[/]*|','/',$path);
+ }
+
+ $this->_path = $path;
+ // check the format and store it
+ switch ($format) {
+ case CAS_PGT_STORAGE_FILE_FORMAT_PLAIN:
+ case CAS_PGT_STORAGE_FILE_FORMAT_XML:
+ $this->_format = $format;
+ break;
+ default:
+ phpCAS::error('unknown PGT file storage format (`'.CAS_PGT_STORAGE_FILE_FORMAT_PLAIN.'\' and `'.CAS_PGT_STORAGE_FILE_FORMAT_XML.'\' allowed)');
+ }
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * This method is used to initialize the storage. Halts on error.
+ *
+ * @public
+ */
+ function init()
+ {
+ phpCAS::traceBegin();
+ // if the storage has already been initialized, return immediatly
+ if ( $this->isInitialized() )
+ return;
+ // call the ancestor's method (mark as initialized)
+ parent::init();
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // PGT I/O
+ // ########################################################################
+
+ /**
+ * This method returns the filename corresponding to a PGT Iou.
+ *
+ * @param $pgt_iou the PGT iou.
+ *
+ * @return a filename
+ * @private
+ */
+ function getPGTIouFilename($pgt_iou)
+ {
+ phpCAS::traceBegin();
+ $filename = $this->getPath().$pgt_iou.'.'.$this->getFormat();
+ phpCAS::traceEnd($filename);
+ return $filename;
+ }
+
+ /**
+ * This method stores a PGT and its corresponding PGT Iou into a file. Echoes a
+ * warning on error.
+ *
+ * @param $pgt the PGT
+ * @param $pgt_iou the PGT iou
+ *
+ * @public
+ */
+ function write($pgt,$pgt_iou)
+ {
+ phpCAS::traceBegin();
+ $fname = $this->getPGTIouFilename($pgt_iou);
+ if ( $f=fopen($fname,"w") ) {
+ if ( fputs($f,$pgt) === FALSE ) {
+ phpCAS::error('could not write PGT to `'.$fname.'\'');
+ }
+ fclose($f);
+ } else {
+ phpCAS::error('could not open `'.$fname.'\'');
+ }
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method reads a PGT corresponding to a PGT Iou and deletes the
+ * corresponding file.
+ *
+ * @param $pgt_iou the PGT iou
+ *
+ * @return the corresponding PGT, or FALSE on error
+ *
+ * @public
+ */
+ function read($pgt_iou)
+ {
+ phpCAS::traceBegin();
+ $pgt = FALSE;
+ $fname = $this->getPGTIouFilename($pgt_iou);
+ if ( !($f=fopen($fname,"r")) ) {
+ phpCAS::trace('could not open `'.$fname.'\'');
+ } else {
+ if ( ($pgt=fgets($f)) === FALSE ) {
+ phpCAS::trace('could not read PGT from `'.$fname.'\'');
+ }
+ fclose($f);
+ }
+
+ // delete the PGT file
+ @unlink($fname);
+
+ phpCAS::traceEnd($pgt);
+ return $pgt;
+ }
+
+ /** @} */
+
+}
+
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
index cd9b49967..8fd3c9e12 100644
--- a/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
+++ b/plugins/CasAuthentication/extlib/CAS/PGTStorage/pgt-main.php
@@ -1,188 +1,188 @@
-<?php
-
-/**
- * @file CAS/PGTStorage/pgt-main.php
- * Basic class for PGT storage
- */
-
-/**
- * @class PGTStorage
- * The PGTStorage class is a generic class for PGT storage. This class should
- * not be instanciated itself but inherited by specific PGT storage classes.
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- *
- * @ingroup internalPGTStorage
- */
-
-class PGTStorage
-{
- /**
- * @addtogroup internalPGTStorage
- * @{
- */
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
-
- /**
- * The constructor of the class, should be called only by inherited classes.
- *
- * @param $cas_parent the CASclient instance that creates the current object.
- *
- * @protected
- */
- function PGTStorage($cas_parent)
- {
- phpCAS::traceBegin();
- if ( !$cas_parent->isProxy() ) {
- phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
- }
- phpCAS::traceEnd();
- }
-
- // ########################################################################
- // DEBUGGING
- // ########################################################################
-
- /**
- * This virtual method returns an informational string giving the type of storage
- * used by the object (used for debugging purposes).
- *
- * @public
- */
- function getStorageType()
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- /**
- * This virtual method returns an informational string giving informations on the
- * parameters of the storage.(used for debugging purposes).
- *
- * @public
- */
- function getStorageInfo()
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- // ########################################################################
- // ERROR HANDLING
- // ########################################################################
-
- /**
- * string used to store an error message. Written by PGTStorage::setErrorMessage(),
- * read by PGTStorage::getErrorMessage().
- *
- * @hideinitializer
- * @private
- * @deprecated not used.
- */
- var $_error_message=FALSE;
-
- /**
- * This method sets en error message, which can be read later by
- * PGTStorage::getErrorMessage().
- *
- * @param $error_message an error message
- *
- * @protected
- * @deprecated not used.
- */
- function setErrorMessage($error_message)
- {
- $this->_error_message = $error_message;
- }
-
- /**
- * This method returns an error message set by PGTStorage::setErrorMessage().
- *
- * @return an error message when set by PGTStorage::setErrorMessage(), FALSE
- * otherwise.
- *
- * @public
- * @deprecated not used.
- */
- function getErrorMessage()
- {
- return $this->_error_message;
- }
-
- // ########################################################################
- // INITIALIZATION
- // ########################################################################
-
- /**
- * a boolean telling if the storage has already been initialized. Written by
- * PGTStorage::init(), read by PGTStorage::isInitialized().
- *
- * @hideinitializer
- * @private
- */
- var $_initialized = FALSE;
-
- /**
- * This method tells if the storage has already been intialized.
- *
- * @return a boolean
- *
- * @protected
- */
- function isInitialized()
- {
- return $this->_initialized;
- }
-
- /**
- * This virtual method initializes the object.
- *
- * @protected
- */
- function init()
- {
- $this->_initialized = TRUE;
- }
-
- // ########################################################################
- // PGT I/O
- // ########################################################################
-
- /**
- * This virtual method stores a PGT and its corresponding PGT Iuo.
- * @note Should never be called.
- *
- * @param $pgt the PGT
- * @param $pgt_iou the PGT iou
- *
- * @protected
- */
- function write($pgt,$pgt_iou)
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- /**
- * This virtual method reads a PGT corresponding to a PGT Iou and deletes
- * the corresponding storage entry.
- * @note Should never be called.
- *
- * @param $pgt_iou the PGT iou
- *
- * @protected
- */
- function read($pgt_iou)
- {
- phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
- }
-
- /** @} */
-
-}
-
-// include specific PGT storage classes
-include_once(dirname(__FILE__).'/pgt-file.php');
-include_once(dirname(__FILE__).'/pgt-db.php');
-
+<?php
+
+/**
+ * @file CAS/PGTStorage/pgt-main.php
+ * Basic class for PGT storage
+ */
+
+/**
+ * @class PGTStorage
+ * The PGTStorage class is a generic class for PGT storage. This class should
+ * not be instanciated itself but inherited by specific PGT storage classes.
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ *
+ * @ingroup internalPGTStorage
+ */
+
+class PGTStorage
+{
+ /**
+ * @addtogroup internalPGTStorage
+ * @{
+ */
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+
+ /**
+ * The constructor of the class, should be called only by inherited classes.
+ *
+ * @param $cas_parent the CASclient instance that creates the current object.
+ *
+ * @protected
+ */
+ function PGTStorage($cas_parent)
+ {
+ phpCAS::traceBegin();
+ if ( !$cas_parent->isProxy() ) {
+ phpCAS::error('defining PGT storage makes no sense when not using a CAS proxy');
+ }
+ phpCAS::traceEnd();
+ }
+
+ // ########################################################################
+ // DEBUGGING
+ // ########################################################################
+
+ /**
+ * This virtual method returns an informational string giving the type of storage
+ * used by the object (used for debugging purposes).
+ *
+ * @public
+ */
+ function getStorageType()
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ /**
+ * This virtual method returns an informational string giving informations on the
+ * parameters of the storage.(used for debugging purposes).
+ *
+ * @public
+ */
+ function getStorageInfo()
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ // ########################################################################
+ // ERROR HANDLING
+ // ########################################################################
+
+ /**
+ * string used to store an error message. Written by PGTStorage::setErrorMessage(),
+ * read by PGTStorage::getErrorMessage().
+ *
+ * @hideinitializer
+ * @private
+ * @deprecated not used.
+ */
+ var $_error_message=FALSE;
+
+ /**
+ * This method sets en error message, which can be read later by
+ * PGTStorage::getErrorMessage().
+ *
+ * @param $error_message an error message
+ *
+ * @protected
+ * @deprecated not used.
+ */
+ function setErrorMessage($error_message)
+ {
+ $this->_error_message = $error_message;
+ }
+
+ /**
+ * This method returns an error message set by PGTStorage::setErrorMessage().
+ *
+ * @return an error message when set by PGTStorage::setErrorMessage(), FALSE
+ * otherwise.
+ *
+ * @public
+ * @deprecated not used.
+ */
+ function getErrorMessage()
+ {
+ return $this->_error_message;
+ }
+
+ // ########################################################################
+ // INITIALIZATION
+ // ########################################################################
+
+ /**
+ * a boolean telling if the storage has already been initialized. Written by
+ * PGTStorage::init(), read by PGTStorage::isInitialized().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_initialized = FALSE;
+
+ /**
+ * This method tells if the storage has already been intialized.
+ *
+ * @return a boolean
+ *
+ * @protected
+ */
+ function isInitialized()
+ {
+ return $this->_initialized;
+ }
+
+ /**
+ * This virtual method initializes the object.
+ *
+ * @protected
+ */
+ function init()
+ {
+ $this->_initialized = TRUE;
+ }
+
+ // ########################################################################
+ // PGT I/O
+ // ########################################################################
+
+ /**
+ * This virtual method stores a PGT and its corresponding PGT Iuo.
+ * @note Should never be called.
+ *
+ * @param $pgt the PGT
+ * @param $pgt_iou the PGT iou
+ *
+ * @protected
+ */
+ function write($pgt,$pgt_iou)
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ /**
+ * This virtual method reads a PGT corresponding to a PGT Iou and deletes
+ * the corresponding storage entry.
+ * @note Should never be called.
+ *
+ * @param $pgt_iou the PGT iou
+ *
+ * @protected
+ */
+ function read($pgt_iou)
+ {
+ phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
+ }
+
+ /** @} */
+
+}
+
+// include specific PGT storage classes
+include_once(dirname(__FILE__).'/pgt-file.php');
+include_once(dirname(__FILE__).'/pgt-db.php');
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/client.php b/plugins/CasAuthentication/extlib/CAS/client.php
index bfea59052..bbde55a28 100644
--- a/plugins/CasAuthentication/extlib/CAS/client.php
+++ b/plugins/CasAuthentication/extlib/CAS/client.php
@@ -1,2297 +1,2297 @@
-<?php
-
-/**
- * @file CAS/client.php
- * Main class of the phpCAS library
- */
-
-// include internationalization stuff
-include_once(dirname(__FILE__).'/languages/languages.php');
-
-// include PGT storage classes
-include_once(dirname(__FILE__).'/PGTStorage/pgt-main.php');
-
-/**
- * @class CASClient
- * The CASClient class is a client interface that provides CAS authentication
- * to PHP applications.
- *
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- */
-
-class CASClient
-{
-
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // XX XX
- // XX CONFIGURATION XX
- // XX XX
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- // ########################################################################
- // HTML OUTPUT
- // ########################################################################
- /**
- * @addtogroup internalOutput
- * @{
- */
-
- /**
- * This method filters a string by replacing special tokens by appropriate values
- * and prints it. The corresponding tokens are taken into account:
- * - __CAS_VERSION__
- * - __PHPCAS_VERSION__
- * - __SERVER_BASE_URL__
- *
- * Used by CASClient::PrintHTMLHeader() and CASClient::printHTMLFooter().
- *
- * @param $str the string to filter and output
- *
- * @private
- */
- function HTMLFilterOutput($str)
- {
- $str = str_replace('__CAS_VERSION__',$this->getServerVersion(),$str);
- $str = str_replace('__PHPCAS_VERSION__',phpCAS::getVersion(),$str);
- $str = str_replace('__SERVER_BASE_URL__',$this->getServerBaseURL(),$str);
- echo $str;
- }
-
- /**
- * A string used to print the header of HTML pages. Written by CASClient::setHTMLHeader(),
- * read by CASClient::printHTMLHeader().
- *
- * @hideinitializer
- * @private
- * @see CASClient::setHTMLHeader, CASClient::printHTMLHeader()
- */
- var $_output_header = '';
-
- /**
- * This method prints the header of the HTML output (after filtering). If
- * CASClient::setHTMLHeader() was not used, a default header is output.
- *
- * @param $title the title of the page
- *
- * @see HTMLFilterOutput()
- * @private
- */
- function printHTMLHeader($title)
- {
- $this->HTMLFilterOutput(str_replace('__TITLE__',
- $title,
- (empty($this->_output_header)
- ? '<html><head><title>__TITLE__</title></head><body><h1>__TITLE__</h1>'
- : $this->_output_header)
- )
- );
- }
-
- /**
- * A string used to print the footer of HTML pages. Written by CASClient::setHTMLFooter(),
- * read by printHTMLFooter().
- *
- * @hideinitializer
- * @private
- * @see CASClient::setHTMLFooter, CASClient::printHTMLFooter()
- */
- var $_output_footer = '';
-
- /**
- * This method prints the footer of the HTML output (after filtering). If
- * CASClient::setHTMLFooter() was not used, a default footer is output.
- *
- * @see HTMLFilterOutput()
- * @private
- */
- function printHTMLFooter()
- {
- $this->HTMLFilterOutput(empty($this->_output_footer)
- ?('<hr><address>phpCAS __PHPCAS_VERSION__ '.$this->getString(CAS_STR_USING_SERVER).' <a href="__SERVER_BASE_URL__">__SERVER_BASE_URL__</a> (CAS __CAS_VERSION__)</a></address></body></html>')
- :$this->_output_footer);
- }
-
- /**
- * This method set the HTML header used for all outputs.
- *
- * @param $header the HTML header.
- *
- * @public
- */
- function setHTMLHeader($header)
- {
- $this->_output_header = $header;
- }
-
- /**
- * This method set the HTML footer used for all outputs.
- *
- * @param $footer the HTML footer.
- *
- * @public
- */
- function setHTMLFooter($footer)
- {
- $this->_output_footer = $footer;
- }
-
- /** @} */
- // ########################################################################
- // INTERNATIONALIZATION
- // ########################################################################
- /**
- * @addtogroup internalLang
- * @{
- */
- /**
- * A string corresponding to the language used by phpCAS. Written by
- * CASClient::setLang(), read by CASClient::getLang().
-
- * @note debugging information is always in english (debug purposes only).
- *
- * @hideinitializer
- * @private
- * @sa CASClient::_strings, CASClient::getString()
- */
- var $_lang = '';
-
- /**
- * This method returns the language used by phpCAS.
- *
- * @return a string representing the language
- *
- * @private
- */
- function getLang()
- {
- if ( empty($this->_lang) )
- $this->setLang(PHPCAS_LANG_DEFAULT);
- return $this->_lang;
- }
-
- /**
- * array containing the strings used by phpCAS. Written by CASClient::setLang(), read by
- * CASClient::getString() and used by CASClient::setLang().
- *
- * @note This array is filled by instructions in CAS/languages/<$this->_lang>.php
- *
- * @private
- * @see CASClient::_lang, CASClient::getString(), CASClient::setLang(), CASClient::getLang()
- */
- var $_strings;
-
- /**
- * This method returns a string depending on the language.
- *
- * @param $str the index of the string in $_string.
- *
- * @return the string corresponding to $index in $string.
- *
- * @private
- */
- function getString($str)
- {
- // call CASclient::getLang() to be sure the language is initialized
- $this->getLang();
-
- if ( !isset($this->_strings[$str]) ) {
- trigger_error('string `'.$str.'\' not defined for language `'.$this->getLang().'\'',E_USER_ERROR);
- }
- return $this->_strings[$str];
- }
-
- /**
- * This method is used to set the language used by phpCAS.
- * @note Can be called only once.
- *
- * @param $lang a string representing the language.
- *
- * @public
- * @sa CAS_LANG_FRENCH, CAS_LANG_ENGLISH
- */
- function setLang($lang)
- {
- // include the corresponding language file
- include_once(dirname(__FILE__).'/languages/'.$lang.'.php');
-
- if ( !is_array($this->_strings) ) {
- trigger_error('language `'.$lang.'\' is not implemented',E_USER_ERROR);
- }
- $this->_lang = $lang;
- }
-
- /** @} */
- // ########################################################################
- // CAS SERVER CONFIG
- // ########################################################################
- /**
- * @addtogroup internalConfig
- * @{
- */
-
- /**
- * a record to store information about the CAS server.
- * - $_server["version"]: the version of the CAS server
- * - $_server["hostname"]: the hostname of the CAS server
- * - $_server["port"]: the port the CAS server is running on
- * - $_server["uri"]: the base URI the CAS server is responding on
- * - $_server["base_url"]: the base URL of the CAS server
- * - $_server["login_url"]: the login URL of the CAS server
- * - $_server["service_validate_url"]: the service validating URL of the CAS server
- * - $_server["proxy_url"]: the proxy URL of the CAS server
- * - $_server["proxy_validate_url"]: the proxy validating URL of the CAS server
- * - $_server["logout_url"]: the logout URL of the CAS server
- *
- * $_server["version"], $_server["hostname"], $_server["port"] and $_server["uri"]
- * are written by CASClient::CASClient(), read by CASClient::getServerVersion(),
- * CASClient::getServerHostname(), CASClient::getServerPort() and CASClient::getServerURI().
- *
- * The other fields are written and read by CASClient::getServerBaseURL(),
- * CASClient::getServerLoginURL(), CASClient::getServerServiceValidateURL(),
- * CASClient::getServerProxyValidateURL() and CASClient::getServerLogoutURL().
- *
- * @hideinitializer
- * @private
- */
- var $_server = array(
- 'version' => -1,
- 'hostname' => 'none',
- 'port' => -1,
- 'uri' => 'none'
- );
-
- /**
- * This method is used to retrieve the version of the CAS server.
- * @return the version of the CAS server.
- * @private
- */
- function getServerVersion()
- {
- return $this->_server['version'];
- }
-
- /**
- * This method is used to retrieve the hostname of the CAS server.
- * @return the hostname of the CAS server.
- * @private
- */
- function getServerHostname()
- { return $this->_server['hostname']; }
-
- /**
- * This method is used to retrieve the port of the CAS server.
- * @return the port of the CAS server.
- * @private
- */
- function getServerPort()
- { return $this->_server['port']; }
-
- /**
- * This method is used to retrieve the URI of the CAS server.
- * @return a URI.
- * @private
- */
- function getServerURI()
- { return $this->_server['uri']; }
-
- /**
- * This method is used to retrieve the base URL of the CAS server.
- * @return a URL.
- * @private
- */
- function getServerBaseURL()
- {
- // the URL is build only when needed
- if ( empty($this->_server['base_url']) ) {
- $this->_server['base_url'] = 'https://'
- .$this->getServerHostname()
- .':'
- .$this->getServerPort()
- .$this->getServerURI();
- }
- return $this->_server['base_url'];
- }
-
- /**
- * This method is used to retrieve the login URL of the CAS server.
- * @param $gateway true to check authentication, false to force it
- * @param $renew true to force the authentication with the CAS server
- * NOTE : It is recommended that CAS implementations ignore the
- "gateway" parameter if "renew" is set
- * @return a URL.
- * @private
- */
- function getServerLoginURL($gateway=false,$renew=false) {
- phpCAS::traceBegin();
- // the URL is build only when needed
- if ( empty($this->_server['login_url']) ) {
- $this->_server['login_url'] = $this->getServerBaseURL();
- $this->_server['login_url'] .= 'login?service=';
- // $this->_server['login_url'] .= preg_replace('/&/','%26',$this->getURL());
- $this->_server['login_url'] .= urlencode($this->getURL());
- if($renew) {
- // It is recommended that when the "renew" parameter is set, its value be "true"
- $this->_server['login_url'] .= '&renew=true';
- } elseif ($gateway) {
- // It is recommended that when the "gateway" parameter is set, its value be "true"
- $this->_server['login_url'] .= '&gateway=true';
- }
- }
- phpCAS::traceEnd($this->_server['login_url']);
- return $this->_server['login_url'];
- }
-
- /**
- * This method sets the login URL of the CAS server.
- * @param $url the login URL
- * @private
- * @since 0.4.21 by Wyman Chan
- */
- function setServerLoginURL($url)
- {
- return $this->_server['login_url'] = $url;
- }
-
- /**
- * This method is used to retrieve the service validating URL of the CAS server.
- * @return a URL.
- * @private
- */
- function getServerServiceValidateURL()
- {
- // the URL is build only when needed
- if ( empty($this->_server['service_validate_url']) ) {
- switch ($this->getServerVersion()) {
- case CAS_VERSION_1_0:
- $this->_server['service_validate_url'] = $this->getServerBaseURL().'validate';
- break;
- case CAS_VERSION_2_0:
- $this->_server['service_validate_url'] = $this->getServerBaseURL().'serviceValidate';
- break;
- }
- }
- // return $this->_server['service_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL());
- return $this->_server['service_validate_url'].'?service='.urlencode($this->getURL());
- }
-
- /**
- * This method is used to retrieve the proxy validating URL of the CAS server.
- * @return a URL.
- * @private
- */
- function getServerProxyValidateURL()
- {
- // the URL is build only when needed
- if ( empty($this->_server['proxy_validate_url']) ) {
- switch ($this->getServerVersion()) {
- case CAS_VERSION_1_0:
- $this->_server['proxy_validate_url'] = '';
- break;
- case CAS_VERSION_2_0:
- $this->_server['proxy_validate_url'] = $this->getServerBaseURL().'proxyValidate';
- break;
- }
- }
- // return $this->_server['proxy_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL());
- return $this->_server['proxy_validate_url'].'?service='.urlencode($this->getURL());
- }
-
- /**
- * This method is used to retrieve the proxy URL of the CAS server.
- * @return a URL.
- * @private
- */
- function getServerProxyURL()
- {
- // the URL is build only when needed
- if ( empty($this->_server['proxy_url']) ) {
- switch ($this->getServerVersion()) {
- case CAS_VERSION_1_0:
- $this->_server['proxy_url'] = '';
- break;
- case CAS_VERSION_2_0:
- $this->_server['proxy_url'] = $this->getServerBaseURL().'proxy';
- break;
- }
- }
- return $this->_server['proxy_url'];
- }
-
- /**
- * This method is used to retrieve the logout URL of the CAS server.
- * @return a URL.
- * @private
- */
- function getServerLogoutURL()
- {
- // the URL is build only when needed
- if ( empty($this->_server['logout_url']) ) {
- $this->_server['logout_url'] = $this->getServerBaseURL().'logout';
- }
- return $this->_server['logout_url'];
- }
-
- /**
- * This method sets the logout URL of the CAS server.
- * @param $url the logout URL
- * @private
- * @since 0.4.21 by Wyman Chan
- */
- function setServerLogoutURL($url)
- {
- return $this->_server['logout_url'] = $url;
- }
-
- /**
- * An array to store extra curl options.
- */
- var $_curl_options = array();
-
- /**
- * This method is used to set additional user curl options.
- */
- function setExtraCurlOption($key, $value)
- {
- $this->_curl_options[$key] = $value;
- }
-
- /**
- * This method checks to see if the request is secured via HTTPS
- * @return true if https, false otherwise
- * @private
- */
- function isHttps() {
- //if ( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ) {
- //0.4.24 by Hinnack
- if ( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
- return true;
- } else {
- return false;
- }
- }
-
- // ########################################################################
- // CONSTRUCTOR
- // ########################################################################
- /**
- * CASClient constructor.
- *
- * @param $server_version the version of the CAS server
- * @param $proxy TRUE if the CAS client is a CAS proxy, FALSE otherwise
- * @param $server_hostname the hostname of the CAS server
- * @param $server_port the port the CAS server is running on
- * @param $server_uri the URI the CAS server is responding on
- * @param $start_session Have phpCAS start PHP sessions (default true)
- *
- * @return a newly created CASClient object
- *
- * @public
- */
- function CASClient(
- $server_version,
- $proxy,
- $server_hostname,
- $server_port,
- $server_uri,
- $start_session = true) {
-
- phpCAS::traceBegin();
-
- if (!$this->isLogoutRequest() && !empty($_GET['ticket']) && $start_session) {
- // copy old session vars and destroy the current session
- if (!isset($_SESSION)) {
- session_start();
- }
- $old_session = $_SESSION;
- session_destroy();
- // set up a new session, of name based on the ticket
- $session_id = preg_replace('/[^\w]/','',$_GET['ticket']);
- phpCAS::LOG("Session ID: " . $session_id);
- session_id($session_id);
- if (!isset($_SESSION)) {
- session_start();
- }
- // restore old session vars
+<?php
+
+/**
+ * @file CAS/client.php
+ * Main class of the phpCAS library
+ */
+
+// include internationalization stuff
+include_once(dirname(__FILE__).'/languages/languages.php');
+
+// include PGT storage classes
+include_once(dirname(__FILE__).'/PGTStorage/pgt-main.php');
+
+/**
+ * @class CASClient
+ * The CASClient class is a client interface that provides CAS authentication
+ * to PHP applications.
+ *
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ */
+
+class CASClient
+{
+
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ // XX XX
+ // XX CONFIGURATION XX
+ // XX XX
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ // ########################################################################
+ // HTML OUTPUT
+ // ########################################################################
+ /**
+ * @addtogroup internalOutput
+ * @{
+ */
+
+ /**
+ * This method filters a string by replacing special tokens by appropriate values
+ * and prints it. The corresponding tokens are taken into account:
+ * - __CAS_VERSION__
+ * - __PHPCAS_VERSION__
+ * - __SERVER_BASE_URL__
+ *
+ * Used by CASClient::PrintHTMLHeader() and CASClient::printHTMLFooter().
+ *
+ * @param $str the string to filter and output
+ *
+ * @private
+ */
+ function HTMLFilterOutput($str)
+ {
+ $str = str_replace('__CAS_VERSION__',$this->getServerVersion(),$str);
+ $str = str_replace('__PHPCAS_VERSION__',phpCAS::getVersion(),$str);
+ $str = str_replace('__SERVER_BASE_URL__',$this->getServerBaseURL(),$str);
+ echo $str;
+ }
+
+ /**
+ * A string used to print the header of HTML pages. Written by CASClient::setHTMLHeader(),
+ * read by CASClient::printHTMLHeader().
+ *
+ * @hideinitializer
+ * @private
+ * @see CASClient::setHTMLHeader, CASClient::printHTMLHeader()
+ */
+ var $_output_header = '';
+
+ /**
+ * This method prints the header of the HTML output (after filtering). If
+ * CASClient::setHTMLHeader() was not used, a default header is output.
+ *
+ * @param $title the title of the page
+ *
+ * @see HTMLFilterOutput()
+ * @private
+ */
+ function printHTMLHeader($title)
+ {
+ $this->HTMLFilterOutput(str_replace('__TITLE__',
+ $title,
+ (empty($this->_output_header)
+ ? '<html><head><title>__TITLE__</title></head><body><h1>__TITLE__</h1>'
+ : $this->_output_header)
+ )
+ );
+ }
+
+ /**
+ * A string used to print the footer of HTML pages. Written by CASClient::setHTMLFooter(),
+ * read by printHTMLFooter().
+ *
+ * @hideinitializer
+ * @private
+ * @see CASClient::setHTMLFooter, CASClient::printHTMLFooter()
+ */
+ var $_output_footer = '';
+
+ /**
+ * This method prints the footer of the HTML output (after filtering). If
+ * CASClient::setHTMLFooter() was not used, a default footer is output.
+ *
+ * @see HTMLFilterOutput()
+ * @private
+ */
+ function printHTMLFooter()
+ {
+ $this->HTMLFilterOutput(empty($this->_output_footer)
+ ?('<hr><address>phpCAS __PHPCAS_VERSION__ '.$this->getString(CAS_STR_USING_SERVER).' <a href="__SERVER_BASE_URL__">__SERVER_BASE_URL__</a> (CAS __CAS_VERSION__)</a></address></body></html>')
+ :$this->_output_footer);
+ }
+
+ /**
+ * This method set the HTML header used for all outputs.
+ *
+ * @param $header the HTML header.
+ *
+ * @public
+ */
+ function setHTMLHeader($header)
+ {
+ $this->_output_header = $header;
+ }
+
+ /**
+ * This method set the HTML footer used for all outputs.
+ *
+ * @param $footer the HTML footer.
+ *
+ * @public
+ */
+ function setHTMLFooter($footer)
+ {
+ $this->_output_footer = $footer;
+ }
+
+ /** @} */
+ // ########################################################################
+ // INTERNATIONALIZATION
+ // ########################################################################
+ /**
+ * @addtogroup internalLang
+ * @{
+ */
+ /**
+ * A string corresponding to the language used by phpCAS. Written by
+ * CASClient::setLang(), read by CASClient::getLang().
+
+ * @note debugging information is always in english (debug purposes only).
+ *
+ * @hideinitializer
+ * @private
+ * @sa CASClient::_strings, CASClient::getString()
+ */
+ var $_lang = '';
+
+ /**
+ * This method returns the language used by phpCAS.
+ *
+ * @return a string representing the language
+ *
+ * @private
+ */
+ function getLang()
+ {
+ if ( empty($this->_lang) )
+ $this->setLang(PHPCAS_LANG_DEFAULT);
+ return $this->_lang;
+ }
+
+ /**
+ * array containing the strings used by phpCAS. Written by CASClient::setLang(), read by
+ * CASClient::getString() and used by CASClient::setLang().
+ *
+ * @note This array is filled by instructions in CAS/languages/<$this->_lang>.php
+ *
+ * @private
+ * @see CASClient::_lang, CASClient::getString(), CASClient::setLang(), CASClient::getLang()
+ */
+ var $_strings;
+
+ /**
+ * This method returns a string depending on the language.
+ *
+ * @param $str the index of the string in $_string.
+ *
+ * @return the string corresponding to $index in $string.
+ *
+ * @private
+ */
+ function getString($str)
+ {
+ // call CASclient::getLang() to be sure the language is initialized
+ $this->getLang();
+
+ if ( !isset($this->_strings[$str]) ) {
+ trigger_error('string `'.$str.'\' not defined for language `'.$this->getLang().'\'',E_USER_ERROR);
+ }
+ return $this->_strings[$str];
+ }
+
+ /**
+ * This method is used to set the language used by phpCAS.
+ * @note Can be called only once.
+ *
+ * @param $lang a string representing the language.
+ *
+ * @public
+ * @sa CAS_LANG_FRENCH, CAS_LANG_ENGLISH
+ */
+ function setLang($lang)
+ {
+ // include the corresponding language file
+ include_once(dirname(__FILE__).'/languages/'.$lang.'.php');
+
+ if ( !is_array($this->_strings) ) {
+ trigger_error('language `'.$lang.'\' is not implemented',E_USER_ERROR);
+ }
+ $this->_lang = $lang;
+ }
+
+ /** @} */
+ // ########################################################################
+ // CAS SERVER CONFIG
+ // ########################################################################
+ /**
+ * @addtogroup internalConfig
+ * @{
+ */
+
+ /**
+ * a record to store information about the CAS server.
+ * - $_server["version"]: the version of the CAS server
+ * - $_server["hostname"]: the hostname of the CAS server
+ * - $_server["port"]: the port the CAS server is running on
+ * - $_server["uri"]: the base URI the CAS server is responding on
+ * - $_server["base_url"]: the base URL of the CAS server
+ * - $_server["login_url"]: the login URL of the CAS server
+ * - $_server["service_validate_url"]: the service validating URL of the CAS server
+ * - $_server["proxy_url"]: the proxy URL of the CAS server
+ * - $_server["proxy_validate_url"]: the proxy validating URL of the CAS server
+ * - $_server["logout_url"]: the logout URL of the CAS server
+ *
+ * $_server["version"], $_server["hostname"], $_server["port"] and $_server["uri"]
+ * are written by CASClient::CASClient(), read by CASClient::getServerVersion(),
+ * CASClient::getServerHostname(), CASClient::getServerPort() and CASClient::getServerURI().
+ *
+ * The other fields are written and read by CASClient::getServerBaseURL(),
+ * CASClient::getServerLoginURL(), CASClient::getServerServiceValidateURL(),
+ * CASClient::getServerProxyValidateURL() and CASClient::getServerLogoutURL().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_server = array(
+ 'version' => -1,
+ 'hostname' => 'none',
+ 'port' => -1,
+ 'uri' => 'none'
+ );
+
+ /**
+ * This method is used to retrieve the version of the CAS server.
+ * @return the version of the CAS server.
+ * @private
+ */
+ function getServerVersion()
+ {
+ return $this->_server['version'];
+ }
+
+ /**
+ * This method is used to retrieve the hostname of the CAS server.
+ * @return the hostname of the CAS server.
+ * @private
+ */
+ function getServerHostname()
+ { return $this->_server['hostname']; }
+
+ /**
+ * This method is used to retrieve the port of the CAS server.
+ * @return the port of the CAS server.
+ * @private
+ */
+ function getServerPort()
+ { return $this->_server['port']; }
+
+ /**
+ * This method is used to retrieve the URI of the CAS server.
+ * @return a URI.
+ * @private
+ */
+ function getServerURI()
+ { return $this->_server['uri']; }
+
+ /**
+ * This method is used to retrieve the base URL of the CAS server.
+ * @return a URL.
+ * @private
+ */
+ function getServerBaseURL()
+ {
+ // the URL is build only when needed
+ if ( empty($this->_server['base_url']) ) {
+ $this->_server['base_url'] = 'https://'
+ .$this->getServerHostname()
+ .':'
+ .$this->getServerPort()
+ .$this->getServerURI();
+ }
+ return $this->_server['base_url'];
+ }
+
+ /**
+ * This method is used to retrieve the login URL of the CAS server.
+ * @param $gateway true to check authentication, false to force it
+ * @param $renew true to force the authentication with the CAS server
+ * NOTE : It is recommended that CAS implementations ignore the
+ "gateway" parameter if "renew" is set
+ * @return a URL.
+ * @private
+ */
+ function getServerLoginURL($gateway=false,$renew=false) {
+ phpCAS::traceBegin();
+ // the URL is build only when needed
+ if ( empty($this->_server['login_url']) ) {
+ $this->_server['login_url'] = $this->getServerBaseURL();
+ $this->_server['login_url'] .= 'login?service=';
+ // $this->_server['login_url'] .= preg_replace('/&/','%26',$this->getURL());
+ $this->_server['login_url'] .= urlencode($this->getURL());
+ if($renew) {
+ // It is recommended that when the "renew" parameter is set, its value be "true"
+ $this->_server['login_url'] .= '&renew=true';
+ } elseif ($gateway) {
+ // It is recommended that when the "gateway" parameter is set, its value be "true"
+ $this->_server['login_url'] .= '&gateway=true';
+ }
+ }
+ phpCAS::traceEnd($this->_server['login_url']);
+ return $this->_server['login_url'];
+ }
+
+ /**
+ * This method sets the login URL of the CAS server.
+ * @param $url the login URL
+ * @private
+ * @since 0.4.21 by Wyman Chan
+ */
+ function setServerLoginURL($url)
+ {
+ return $this->_server['login_url'] = $url;
+ }
+
+ /**
+ * This method is used to retrieve the service validating URL of the CAS server.
+ * @return a URL.
+ * @private
+ */
+ function getServerServiceValidateURL()
+ {
+ // the URL is build only when needed
+ if ( empty($this->_server['service_validate_url']) ) {
+ switch ($this->getServerVersion()) {
+ case CAS_VERSION_1_0:
+ $this->_server['service_validate_url'] = $this->getServerBaseURL().'validate';
+ break;
+ case CAS_VERSION_2_0:
+ $this->_server['service_validate_url'] = $this->getServerBaseURL().'serviceValidate';
+ break;
+ }
+ }
+ // return $this->_server['service_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL());
+ return $this->_server['service_validate_url'].'?service='.urlencode($this->getURL());
+ }
+
+ /**
+ * This method is used to retrieve the proxy validating URL of the CAS server.
+ * @return a URL.
+ * @private
+ */
+ function getServerProxyValidateURL()
+ {
+ // the URL is build only when needed
+ if ( empty($this->_server['proxy_validate_url']) ) {
+ switch ($this->getServerVersion()) {
+ case CAS_VERSION_1_0:
+ $this->_server['proxy_validate_url'] = '';
+ break;
+ case CAS_VERSION_2_0:
+ $this->_server['proxy_validate_url'] = $this->getServerBaseURL().'proxyValidate';
+ break;
+ }
+ }
+ // return $this->_server['proxy_validate_url'].'?service='.preg_replace('/&/','%26',$this->getURL());
+ return $this->_server['proxy_validate_url'].'?service='.urlencode($this->getURL());
+ }
+
+ /**
+ * This method is used to retrieve the proxy URL of the CAS server.
+ * @return a URL.
+ * @private
+ */
+ function getServerProxyURL()
+ {
+ // the URL is build only when needed
+ if ( empty($this->_server['proxy_url']) ) {
+ switch ($this->getServerVersion()) {
+ case CAS_VERSION_1_0:
+ $this->_server['proxy_url'] = '';
+ break;
+ case CAS_VERSION_2_0:
+ $this->_server['proxy_url'] = $this->getServerBaseURL().'proxy';
+ break;
+ }
+ }
+ return $this->_server['proxy_url'];
+ }
+
+ /**
+ * This method is used to retrieve the logout URL of the CAS server.
+ * @return a URL.
+ * @private
+ */
+ function getServerLogoutURL()
+ {
+ // the URL is build only when needed
+ if ( empty($this->_server['logout_url']) ) {
+ $this->_server['logout_url'] = $this->getServerBaseURL().'logout';
+ }
+ return $this->_server['logout_url'];
+ }
+
+ /**
+ * This method sets the logout URL of the CAS server.
+ * @param $url the logout URL
+ * @private
+ * @since 0.4.21 by Wyman Chan
+ */
+ function setServerLogoutURL($url)
+ {
+ return $this->_server['logout_url'] = $url;
+ }
+
+ /**
+ * An array to store extra curl options.
+ */
+ var $_curl_options = array();
+
+ /**
+ * This method is used to set additional user curl options.
+ */
+ function setExtraCurlOption($key, $value)
+ {
+ $this->_curl_options[$key] = $value;
+ }
+
+ /**
+ * This method checks to see if the request is secured via HTTPS
+ * @return true if https, false otherwise
+ * @private
+ */
+ function isHttps() {
+ //if ( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ) {
+ //0.4.24 by Hinnack
+ if ( isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ // ########################################################################
+ // CONSTRUCTOR
+ // ########################################################################
+ /**
+ * CASClient constructor.
+ *
+ * @param $server_version the version of the CAS server
+ * @param $proxy TRUE if the CAS client is a CAS proxy, FALSE otherwise
+ * @param $server_hostname the hostname of the CAS server
+ * @param $server_port the port the CAS server is running on
+ * @param $server_uri the URI the CAS server is responding on
+ * @param $start_session Have phpCAS start PHP sessions (default true)
+ *
+ * @return a newly created CASClient object
+ *
+ * @public
+ */
+ function CASClient(
+ $server_version,
+ $proxy,
+ $server_hostname,
+ $server_port,
+ $server_uri,
+ $start_session = true) {
+
+ phpCAS::traceBegin();
+
+ if (!$this->isLogoutRequest() && !empty($_GET['ticket']) && $start_session) {
+ // copy old session vars and destroy the current session
+ if (!isset($_SESSION)) {
+ session_start();
+ }
+ $old_session = $_SESSION;
+ session_destroy();
+ // set up a new session, of name based on the ticket
+ $session_id = preg_replace('/[^\w]/','',$_GET['ticket']);
+ phpCAS::LOG("Session ID: " . $session_id);
+ session_id($session_id);
+ if (!isset($_SESSION)) {
+ session_start();
+ }
+ // restore old session vars
$_SESSION = $old_session;
// Redirect to location without ticket.
- header('Location: '.$this->getURL());
- }
-
- //activate session mechanism if desired
- if (!$this->isLogoutRequest() && $start_session) {
- session_start();
- }
-
- $this->_proxy = $proxy;
-
- //check version
- switch ($server_version) {
- case CAS_VERSION_1_0:
- if ( $this->isProxy() )
- phpCAS::error('CAS proxies are not supported in CAS '
- .$server_version);
- break;
- case CAS_VERSION_2_0:
- break;
- default:
- phpCAS::error('this version of CAS (`'
- .$server_version
- .'\') is not supported by phpCAS '
- .phpCAS::getVersion());
- }
- $this->_server['version'] = $server_version;
-
- //check hostname
- if ( empty($server_hostname)
- || !preg_match('/[\.\d\-abcdefghijklmnopqrstuvwxyz]*/',$server_hostname) ) {
- phpCAS::error('bad CAS server hostname (`'.$server_hostname.'\')');
- }
- $this->_server['hostname'] = $server_hostname;
-
- //check port
- if ( $server_port == 0
- || !is_int($server_port) ) {
- phpCAS::error('bad CAS server port (`'.$server_hostname.'\')');
- }
- $this->_server['port'] = $server_port;
-
- //check URI
- if ( !preg_match('/[\.\d\-_abcdefghijklmnopqrstuvwxyz\/]*/',$server_uri) ) {
- phpCAS::error('bad CAS server URI (`'.$server_uri.'\')');
- }
- //add leading and trailing `/' and remove doubles
- $server_uri = preg_replace('/\/\//','/','/'.$server_uri.'/');
- $this->_server['uri'] = $server_uri;
-
- //set to callback mode if PgtIou and PgtId CGI GET parameters are provided
- if ( $this->isProxy() ) {
- $this->setCallbackMode(!empty($_GET['pgtIou'])&&!empty($_GET['pgtId']));
- }
-
- if ( $this->isCallbackMode() ) {
- //callback mode: check that phpCAS is secured
- if ( !$this->isHttps() ) {
- phpCAS::error('CAS proxies must be secured to use phpCAS; PGT\'s will not be received from the CAS server');
- }
- } else {
- //normal mode: get ticket and remove it from CGI parameters for developpers
- $ticket = (isset($_GET['ticket']) ? $_GET['ticket'] : null);
- switch ($this->getServerVersion()) {
- case CAS_VERSION_1_0: // check for a Service Ticket
- if( preg_match('/^ST-/',$ticket) ) {
- phpCAS::trace('ST \''.$ticket.'\' found');
- //ST present
- $this->setST($ticket);
- //ticket has been taken into account, unset it to hide it to applications
- unset($_GET['ticket']);
- } else if ( !empty($ticket) ) {
- //ill-formed ticket, halt
- phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');
- }
- break;
- case CAS_VERSION_2_0: // check for a Service or Proxy Ticket
- if( preg_match('/^[SP]T-/',$ticket) ) {
- phpCAS::trace('ST or PT \''.$ticket.'\' found');
- $this->setPT($ticket);
- unset($_GET['ticket']);
- } else if ( !empty($ticket) ) {
- //ill-formed ticket, halt
- phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');
- }
- break;
- }
- }
- phpCAS::traceEnd();
- }
-
- /** @} */
-
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // XX XX
- // XX AUTHENTICATION XX
- // XX XX
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- /**
- * @addtogroup internalAuthentication
- * @{
- */
-
- /**
- * The Authenticated user. Written by CASClient::setUser(), read by CASClient::getUser().
- * @attention client applications should use phpCAS::getUser().
- *
- * @hideinitializer
- * @private
- */
- var $_user = '';
-
- /**
- * This method sets the CAS user's login name.
- *
- * @param $user the login name of the authenticated user.
- *
- * @private
- */
- function setUser($user)
- {
- $this->_user = $user;
- }
-
- /**
- * This method returns the CAS user's login name.
- * @warning should be called only after CASClient::forceAuthentication() or
- * CASClient::isAuthenticated(), otherwise halt with an error.
- *
- * @return the login name of the authenticated user
- */
- function getUser()
- {
- if ( empty($this->_user) ) {
- phpCAS::error('this method should be used only after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
- }
- return $this->_user;
- }
-
- /**
- * This method is called to renew the authentication of the user
- * If the user is authenticated, renew the connection
- * If not, redirect to CAS
- * @public
- */
- function renewAuthentication(){
- phpCAS::traceBegin();
- // Either way, the user is authenticated by CAS
- if( isset( $_SESSION['phpCAS']['auth_checked'] ) )
- unset($_SESSION['phpCAS']['auth_checked']);
- if ( $this->isAuthenticated() ) {
- phpCAS::trace('user already authenticated; renew');
- $this->redirectToCas(false,true);
- } else {
- $this->redirectToCas();
- }
- phpCAS::traceEnd();
- }
-
- /**
- * This method is called to be sure that the user is authenticated. When not
- * authenticated, halt by redirecting to the CAS server; otherwise return TRUE.
- * @return TRUE when the user is authenticated; otherwise halt.
- * @public
- */
- function forceAuthentication()
- {
- phpCAS::traceBegin();
-
- if ( $this->isAuthenticated() ) {
- // the user is authenticated, nothing to be done.
- phpCAS::trace('no need to authenticate');
- $res = TRUE;
- } else {
- // the user is not authenticated, redirect to the CAS server
- if (isset($_SESSION['phpCAS']['auth_checked'])) {
- unset($_SESSION['phpCAS']['auth_checked']);
- }
- $this->redirectToCas(FALSE/* no gateway */);
- // never reached
- $res = FALSE;
- }
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * An integer that gives the number of times authentication will be cached before rechecked.
- *
- * @hideinitializer
- * @private
- */
- var $_cache_times_for_auth_recheck = 0;
-
- /**
- * Set the number of times authentication will be cached before rechecked.
- *
- * @param $n an integer.
- *
- * @public
- */
- function setCacheTimesForAuthRecheck($n)
- {
- $this->_cache_times_for_auth_recheck = $n;
- }
-
- /**
- * This method is called to check whether the user is authenticated or not.
- * @return TRUE when the user is authenticated, FALSE otherwise.
- * @public
- */
- function checkAuthentication()
- {
- phpCAS::traceBegin();
-
- if ( $this->isAuthenticated() ) {
- phpCAS::trace('user is authenticated');
- $res = TRUE;
- } else if (isset($_SESSION['phpCAS']['auth_checked'])) {
- // the previous request has redirected the client to the CAS server with gateway=true
- unset($_SESSION['phpCAS']['auth_checked']);
- $res = FALSE;
- } else {
- // $_SESSION['phpCAS']['auth_checked'] = true;
- // $this->redirectToCas(TRUE/* gateway */);
- // // never reached
- // $res = FALSE;
- // avoid a check against CAS on every request
- if (! isset($_SESSION['phpCAS']['unauth_count']) )
- $_SESSION['phpCAS']['unauth_count'] = -2; // uninitialized
-
- if (($_SESSION['phpCAS']['unauth_count'] != -2 && $this->_cache_times_for_auth_recheck == -1)
- || ($_SESSION['phpCAS']['unauth_count'] >= 0 && $_SESSION['phpCAS']['unauth_count'] < $this->_cache_times_for_auth_recheck))
- {
- $res = FALSE;
-
- if ($this->_cache_times_for_auth_recheck != -1)
- {
- $_SESSION['phpCAS']['unauth_count']++;
- phpCAS::trace('user is not authenticated (cached for '.$_SESSION['phpCAS']['unauth_count'].' times of '.$this->_cache_times_for_auth_recheck.')');
- }
- else
- {
- phpCAS::trace('user is not authenticated (cached for until login pressed)');
- }
- }
- else
- {
- $_SESSION['phpCAS']['unauth_count'] = 0;
- $_SESSION['phpCAS']['auth_checked'] = true;
- phpCAS::trace('user is not authenticated (cache reset)');
- $this->redirectToCas(TRUE/* gateway */);
- // never reached
- $res = FALSE;
- }
- }
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * This method is called to check if the user is authenticated (previously or by
- * tickets given in the URL).
- *
- * @return TRUE when the user is authenticated.
- *
- * @public
- */
- function isAuthenticated()
- {
- phpCAS::traceBegin();
- $res = FALSE;
- $validate_url = '';
-
- if ( $this->wasPreviouslyAuthenticated() ) {
- // the user has already (previously during the session) been
- // authenticated, nothing to be done.
- phpCAS::trace('user was already authenticated, no need to look for tickets');
- $res = TRUE;
- }
- elseif ( $this->hasST() ) {
- // if a Service Ticket was given, validate it
- phpCAS::trace('ST `'.$this->getST().'\' is present');
- $this->validateST($validate_url,$text_response,$tree_response); // if it fails, it halts
- phpCAS::trace('ST `'.$this->getST().'\' was validated');
- if ( $this->isProxy() ) {
- $this->validatePGT($validate_url,$text_response,$tree_response); // idem
- phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
- $_SESSION['phpCAS']['pgt'] = $this->getPGT();
- }
- $_SESSION['phpCAS']['user'] = $this->getUser();
- $res = TRUE;
- }
- elseif ( $this->hasPT() ) {
- // if a Proxy Ticket was given, validate it
- phpCAS::trace('PT `'.$this->getPT().'\' is present');
- $this->validatePT($validate_url,$text_response,$tree_response); // note: if it fails, it halts
- phpCAS::trace('PT `'.$this->getPT().'\' was validated');
- if ( $this->isProxy() ) {
- $this->validatePGT($validate_url,$text_response,$tree_response); // idem
- phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
- $_SESSION['phpCAS']['pgt'] = $this->getPGT();
- }
- $_SESSION['phpCAS']['user'] = $this->getUser();
- $res = TRUE;
- }
- else {
- // no ticket given, not authenticated
- phpCAS::trace('no ticket found');
- }
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * This method tells if the current session is authenticated.
- * @return true if authenticated based soley on $_SESSION variable
- * @since 0.4.22 by Brendan Arnold
- */
- function isSessionAuthenticated ()
- {
- return !empty($_SESSION['phpCAS']['user']);
- }
-
- /**
- * This method tells if the user has already been (previously) authenticated
- * by looking into the session variables.
- *
- * @note This function switches to callback mode when needed.
- *
- * @return TRUE when the user has already been authenticated; FALSE otherwise.
- *
- * @private
- */
- function wasPreviouslyAuthenticated()
- {
- phpCAS::traceBegin();
-
- if ( $this->isCallbackMode() ) {
- $this->callback();
- }
-
- $auth = FALSE;
-
- if ( $this->isProxy() ) {
- // CAS proxy: username and PGT must be present
- if ( $this->isSessionAuthenticated() && !empty($_SESSION['phpCAS']['pgt']) ) {
- // authentication already done
- $this->setUser($_SESSION['phpCAS']['user']);
- $this->setPGT($_SESSION['phpCAS']['pgt']);
- phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\', PGT = `'.$_SESSION['phpCAS']['pgt'].'\'');
- $auth = TRUE;
- } elseif ( $this->isSessionAuthenticated() && empty($_SESSION['phpCAS']['pgt']) ) {
- // these two variables should be empty or not empty at the same time
- phpCAS::trace('username found (`'.$_SESSION['phpCAS']['user'].'\') but PGT is empty');
- // unset all tickets to enforce authentication
- unset($_SESSION['phpCAS']);
- $this->setST('');
- $this->setPT('');
- } elseif ( !$this->isSessionAuthenticated() && !empty($_SESSION['phpCAS']['pgt']) ) {
- // these two variables should be empty or not empty at the same time
- phpCAS::trace('PGT found (`'.$_SESSION['phpCAS']['pgt'].'\') but username is empty');
- // unset all tickets to enforce authentication
- unset($_SESSION['phpCAS']);
- $this->setST('');
- $this->setPT('');
- } else {
- phpCAS::trace('neither user not PGT found');
- }
- } else {
- // `simple' CAS client (not a proxy): username must be present
- if ( $this->isSessionAuthenticated() ) {
- // authentication already done
- $this->setUser($_SESSION['phpCAS']['user']);
- phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\'');
- $auth = TRUE;
- } else {
- phpCAS::trace('no user found');
- }
- }
-
- phpCAS::traceEnd($auth);
- return $auth;
- }
-
- /**
- * This method is used to redirect the client to the CAS server.
- * It is used by CASClient::forceAuthentication() and CASClient::checkAuthentication().
- * @param $gateway true to check authentication, false to force it
- * @param $renew true to force the authentication with the CAS server
- * @public
- */
- function redirectToCas($gateway=false,$renew=false){
- phpCAS::traceBegin();
- $cas_url = $this->getServerLoginURL($gateway,$renew);
- header('Location: '.$cas_url);
- phpCAS::log( "Redirect to : ".$cas_url );
-
- $this->printHTMLHeader($this->getString(CAS_STR_AUTHENTICATION_WANTED));
-
- printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
- $this->printHTMLFooter();
- phpCAS::traceExit();
- exit();
- }
-
-// /**
-// * This method is used to logout from CAS.
-// * @param $url a URL that will be transmitted to the CAS server (to come back to when logged out)
-// * @public
-// */
-// function logout($url = "") {
-// phpCAS::traceBegin();
-// $cas_url = $this->getServerLogoutURL();
-// // v0.4.14 sebastien.gougeon at univ-rennes1.fr
-// // header('Location: '.$cas_url);
-// if ( $url != "" ) {
-// // Adam Moore 1.0.0RC2
-// $url = '?service=' . $url . '&url=' . $url;
-// }
-// header('Location: '.$cas_url . $url);
-// session_unset();
-// session_destroy();
-// $this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));
-// printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
-// $this->printHTMLFooter();
-// phpCAS::traceExit();
-// exit();
-// }
-
- /**
- * This method is used to logout from CAS.
- * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server
- * @public
- */
- function logout($params) {
- phpCAS::traceBegin();
- $cas_url = $this->getServerLogoutURL();
- $paramSeparator = '?';
- if (isset($params['url'])) {
- $cas_url = $cas_url . $paramSeparator . "url=" . urlencode($params['url']);
- $paramSeparator = '&';
- }
- if (isset($params['service'])) {
- $cas_url = $cas_url . $paramSeparator . "service=" . urlencode($params['service']);
- }
- header('Location: '.$cas_url);
- session_unset();
- session_destroy();
- $this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));
- printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
- $this->printHTMLFooter();
- phpCAS::traceExit();
- exit();
- }
-
- /**
- * @return true if the current request is a logout request.
- * @private
- */
- function isLogoutRequest() {
- return !empty($_POST['logoutRequest']);
- }
-
- /**
- * @return true if a logout request is allowed.
- * @private
- */
- function isLogoutRequestAllowed() {
- }
-
- /**
- * This method handles logout requests.
- * @param $check_client true to check the client bofore handling the request,
- * false not to perform any access control. True by default.
- * @param $allowed_clients an array of host names allowed to send logout requests.
- * By default, only the CAs server (declared in the constructor) will be allowed.
- * @public
- */
- function handleLogoutRequests($check_client=true, $allowed_clients=false) {
- phpCAS::traceBegin();
- if (!$this->isLogoutRequest()) {
- phpCAS::log("Not a logout request");
- phpCAS::traceEnd();
- return;
- }
- phpCAS::log("Logout requested");
- phpCAS::log("SAML REQUEST: ".$_POST['logoutRequest']);
- if ($check_client) {
- if (!$allowed_clients) {
- $allowed_clients = array( $this->getServerHostname() );
- }
- $client_ip = $_SERVER['REMOTE_ADDR'];
- $client = gethostbyaddr($client_ip);
- phpCAS::log("Client: ".$client);
- $allowed = false;
- foreach ($allowed_clients as $allowed_client) {
- if ($client == $allowed_client) {
- phpCAS::log("Allowed client '".$allowed_client."' matches, logout request is allowed");
- $allowed = true;
- break;
- } else {
- phpCAS::log("Allowed client '".$allowed_client."' does not match");
- }
- }
- if (!$allowed) {
- phpCAS::error("Unauthorized logout request from client '".$client."'");
- printf("Unauthorized!");
- phpCAS::traceExit();
- exit();
- }
- } else {
- phpCAS::log("No access control set");
- }
- // Extract the ticket from the SAML Request
- preg_match("|<samlp:SessionIndex>(.*)</samlp:SessionIndex>|", $_POST['logoutRequest'], $tick, PREG_OFFSET_CAPTURE, 3);
- $wrappedSamlSessionIndex = preg_replace('|<samlp:SessionIndex>|','',$tick[0][0]);
- $ticket2logout = preg_replace('|</samlp:SessionIndex>|','',$wrappedSamlSessionIndex);
- phpCAS::log("Ticket to logout: ".$ticket2logout);
- $session_id = preg_replace('/[^\w]/','',$ticket2logout);
- phpCAS::log("Session id: ".$session_id);
-
- // fix New session ID
- session_id($session_id);
- $_COOKIE[session_name()]=$session_id;
- $_GET[session_name()]=$session_id;
-
- // Overwrite session
- session_start();
- session_unset();
- session_destroy();
- printf("Disconnected!");
- phpCAS::traceExit();
- exit();
- }
-
- /** @} */
-
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // XX XX
- // XX BASIC CLIENT FEATURES (CAS 1.0) XX
- // XX XX
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- // ########################################################################
- // ST
- // ########################################################################
- /**
- * @addtogroup internalBasic
- * @{
- */
-
- /**
- * the Service Ticket provided in the URL of the request if present
- * (empty otherwise). Written by CASClient::CASClient(), read by
- * CASClient::getST() and CASClient::hasPGT().
- *
- * @hideinitializer
- * @private
- */
- var $_st = '';
-
- /**
- * This method returns the Service Ticket provided in the URL of the request.
- * @return The service ticket.
- * @private
- */
- function getST()
- { return $this->_st; }
-
- /**
- * This method stores the Service Ticket.
- * @param $st The Service Ticket.
- * @private
- */
- function setST($st)
- { $this->_st = $st; }
-
- /**
- * This method tells if a Service Ticket was stored.
- * @return TRUE if a Service Ticket has been stored.
- * @private
- */
- function hasST()
- { return !empty($this->_st); }
-
- /** @} */
-
- // ########################################################################
- // ST VALIDATION
- // ########################################################################
- /**
- * @addtogroup internalBasic
- * @{
- */
-
- /**
- * the certificate of the CAS server.
- *
- * @hideinitializer
- * @private
- */
- var $_cas_server_cert = '';
-
- /**
- * the certificate of the CAS server CA.
- *
- * @hideinitializer
- * @private
- */
- var $_cas_server_ca_cert = '';
-
- /**
- * Set to true not to validate the CAS server.
- *
- * @hideinitializer
- * @private
- */
- var $_no_cas_server_validation = false;
-
- /**
- * Set the certificate of the CAS server.
- *
- * @param $cert the PEM certificate
- */
- function setCasServerCert($cert)
- {
- $this->_cas_server_cert = $cert;
- }
-
- /**
- * Set the CA certificate of the CAS server.
- *
- * @param $cert the PEM certificate of the CA that emited the cert of the server
- */
- function setCasServerCACert($cert)
- {
- $this->_cas_server_ca_cert = $cert;
- }
-
- /**
- * Set no SSL validation for the CAS server.
- */
- function setNoCasServerValidation()
- {
- $this->_no_cas_server_validation = true;
- }
-
- /**
- * This method is used to validate a ST; halt on failure, and sets $validate_url,
- * $text_reponse and $tree_response on success. These parameters are used later
- * by CASClient::validatePGT() for CAS proxies.
- *
- * @param $validate_url the URL of the request to the CAS server.
- * @param $text_response the response of the CAS server, as is (XML text).
- * @param $tree_response the response of the CAS server, as a DOM XML tree.
- *
- * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
- *
- * @private
- */
- function validateST($validate_url,&$text_response,&$tree_response)
- {
- phpCAS::traceBegin();
- // build the URL to validate the ticket
- $validate_url = $this->getServerServiceValidateURL().'&ticket='.$this->getST();
- if ( $this->isProxy() ) {
- // pass the callback url for CAS proxies
- $validate_url .= '&pgtUrl='.$this->getCallbackURL();
- }
-
- // open and read the URL
- if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {
- phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');
- $this->authError('ST not validated',
- $validate_url,
- TRUE/*$no_response*/);
- }
-
- // analyze the result depending on the version
- switch ($this->getServerVersion()) {
- case CAS_VERSION_1_0:
- if (preg_match('/^no\n/',$text_response)) {
- phpCAS::trace('ST has not been validated');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- FALSE/*$bad_response*/,
- $text_response);
- }
- if (!preg_match('/^yes\n/',$text_response)) {
- phpCAS::trace('ill-formed response');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- // ST has been validated, extract the user name
- $arr = preg_split('/\n/',$text_response);
- $this->setUser(trim($arr[1]));
- break;
- case CAS_VERSION_2_0:
- // read the response of the CAS server into a DOM object
- if ( !($dom = domxml_open_mem($text_response))) {
- phpCAS::trace('domxml_open_mem() failed');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- // read the root node of the XML tree
- if ( !($tree_response = $dom->document_element()) ) {
- phpCAS::trace('document_element() failed');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- // insure that tag name is 'serviceResponse'
- if ( $tree_response->node_name() != 'serviceResponse' ) {
- phpCAS::trace('bad XML root node (should be `serviceResponse\' instead of `'.$tree_response->node_name().'\'');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- if ( sizeof($success_elements = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) {
- // authentication succeded, extract the user name
- if ( sizeof($user_elements = $success_elements[0]->get_elements_by_tagname("user")) == 0) {
- phpCAS::trace('<authenticationSuccess> found, but no <user>');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- $user = trim($user_elements[0]->get_content());
- phpCAS::trace('user = `'.$user);
- $this->setUser($user);
-
- } else if ( sizeof($failure_elements = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) {
- phpCAS::trace('<authenticationFailure> found');
- // authentication failed, extract the error code and message
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- FALSE/*$bad_response*/,
- $text_response,
- $failure_elements[0]->get_attribute('code')/*$err_code*/,
- trim($failure_elements[0]->get_content())/*$err_msg*/);
- } else {
- phpCAS::trace('neither <authenticationSuccess> nor <authenticationFailure> found');
- $this->authError('ST not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- break;
- }
-
- // at this step, ST has been validated and $this->_user has been set,
- phpCAS::traceEnd(TRUE);
- return TRUE;
- }
-
- /** @} */
-
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // XX XX
- // XX PROXY FEATURES (CAS 2.0) XX
- // XX XX
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- // ########################################################################
- // PROXYING
- // ########################################################################
- /**
- * @addtogroup internalProxy
- * @{
- */
-
- /**
- * A boolean telling if the client is a CAS proxy or not. Written by CASClient::CASClient(),
- * read by CASClient::isProxy().
- *
- * @private
- */
- var $_proxy;
-
- /**
- * Tells if a CAS client is a CAS proxy or not
- *
- * @return TRUE when the CAS client is a CAs proxy, FALSE otherwise
- *
- * @private
- */
- function isProxy()
- {
- return $this->_proxy;
- }
-
- /** @} */
- // ########################################################################
- // PGT
- // ########################################################################
- /**
- * @addtogroup internalProxy
- * @{
- */
-
- /**
- * the Proxy Grnting Ticket given by the CAS server (empty otherwise).
- * Written by CASClient::setPGT(), read by CASClient::getPGT() and CASClient::hasPGT().
- *
- * @hideinitializer
- * @private
- */
- var $_pgt = '';
-
- /**
- * This method returns the Proxy Granting Ticket given by the CAS server.
- * @return The Proxy Granting Ticket.
- * @private
- */
- function getPGT()
- { return $this->_pgt; }
-
- /**
- * This method stores the Proxy Granting Ticket.
- * @param $pgt The Proxy Granting Ticket.
- * @private
- */
- function setPGT($pgt)
- { $this->_pgt = $pgt; }
-
- /**
- * This method tells if a Proxy Granting Ticket was stored.
- * @return TRUE if a Proxy Granting Ticket has been stored.
- * @private
- */
- function hasPGT()
- { return !empty($this->_pgt); }
-
- /** @} */
-
- // ########################################################################
- // CALLBACK MODE
- // ########################################################################
- /**
- * @addtogroup internalCallback
- * @{
- */
- /**
- * each PHP script using phpCAS in proxy mode is its own callback to get the
- * PGT back from the CAS server. callback_mode is detected by the constructor
- * thanks to the GET parameters.
- */
-
- /**
- * a boolean to know if the CAS client is running in callback mode. Written by
- * CASClient::setCallBackMode(), read by CASClient::isCallbackMode().
- *
- * @hideinitializer
- * @private
- */
- var $_callback_mode = FALSE;
-
- /**
- * This method sets/unsets callback mode.
- *
- * @param $callback_mode TRUE to set callback mode, FALSE otherwise.
- *
- * @private
- */
- function setCallbackMode($callback_mode)
- {
- $this->_callback_mode = $callback_mode;
- }
-
- /**
- * This method returns TRUE when the CAs client is running i callback mode,
- * FALSE otherwise.
- *
- * @return A boolean.
- *
- * @private
- */
- function isCallbackMode()
- {
- return $this->_callback_mode;
- }
-
- /**
- * the URL that should be used for the PGT callback (in fact the URL of the
- * current request without any CGI parameter). Written and read by
- * CASClient::getCallbackURL().
- *
- * @hideinitializer
- * @private
- */
- var $_callback_url = '';
-
- /**
- * This method returns the URL that should be used for the PGT callback (in
- * fact the URL of the current request without any CGI parameter, except if
- * phpCAS::setFixedCallbackURL() was used).
- *
- * @return The callback URL
- *
- * @private
- */
- function getCallbackURL()
- {
- // the URL is built when needed only
- if ( empty($this->_callback_url) ) {
- $final_uri = '';
- // remove the ticket if present in the URL
- $final_uri = 'https://';
- /* replaced by Julien Marchal - v0.4.6
- * $this->uri .= $_SERVER['SERVER_NAME'];
- */
- if(empty($_SERVER['HTTP_X_FORWARDED_SERVER'])){
- /* replaced by teedog - v0.4.12
- * $final_uri .= $_SERVER['SERVER_NAME'];
- */
- if (empty($_SERVER['SERVER_NAME'])) {
- $final_uri .= $_SERVER['HTTP_HOST'];
- } else {
- $final_uri .= $_SERVER['SERVER_NAME'];
- }
- } else {
- $final_uri .= $_SERVER['HTTP_X_FORWARDED_SERVER'];
- }
- if ( ($this->isHttps() && $_SERVER['SERVER_PORT']!=443)
- || (!$this->isHttps() && $_SERVER['SERVER_PORT']!=80) ) {
- $final_uri .= ':';
- $final_uri .= $_SERVER['SERVER_PORT'];
- }
- $request_uri = $_SERVER['REQUEST_URI'];
- $request_uri = preg_replace('/\?.*$/','',$request_uri);
- $final_uri .= $request_uri;
- $this->setCallbackURL($final_uri);
- }
- return $this->_callback_url;
- }
-
- /**
- * This method sets the callback url.
- *
- * @param $callback_url url to set callback
- *
- * @private
- */
- function setCallbackURL($url)
- {
- return $this->_callback_url = $url;
- }
-
- /**
- * This method is called by CASClient::CASClient() when running in callback
- * mode. It stores the PGT and its PGT Iou, prints its output and halts.
- *
- * @private
- */
- function callback()
- {
- phpCAS::traceBegin();
- $this->printHTMLHeader('phpCAS callback');
- $pgt_iou = $_GET['pgtIou'];
- $pgt = $_GET['pgtId'];
- phpCAS::trace('Storing PGT `'.$pgt.'\' (id=`'.$pgt_iou.'\')');
- echo '<p>Storing PGT `'.$pgt.'\' (id=`'.$pgt_iou.'\').</p>';
- $this->storePGT($pgt,$pgt_iou);
- $this->printHTMLFooter();
- phpCAS::traceExit();
- }
-
- /** @} */
-
- // ########################################################################
- // PGT STORAGE
- // ########################################################################
- /**
- * @addtogroup internalPGTStorage
- * @{
- */
-
- /**
- * an instance of a class inheriting of PGTStorage, used to deal with PGT
- * storage. Created by CASClient::setPGTStorageFile() or CASClient::setPGTStorageDB(), used
- * by CASClient::setPGTStorageFile(), CASClient::setPGTStorageDB() and CASClient::initPGTStorage().
- *
- * @hideinitializer
- * @private
- */
- var $_pgt_storage = null;
-
- /**
- * This method is used to initialize the storage of PGT's.
- * Halts on error.
- *
- * @private
- */
- function initPGTStorage()
- {
- // if no SetPGTStorageXxx() has been used, default to file
- if ( !is_object($this->_pgt_storage) ) {
- $this->setPGTStorageFile();
- }
-
- // initializes the storage
- $this->_pgt_storage->init();
- }
-
- /**
- * This method stores a PGT. Halts on error.
- *
- * @param $pgt the PGT to store
- * @param $pgt_iou its corresponding Iou
- *
- * @private
- */
- function storePGT($pgt,$pgt_iou)
- {
- // ensure that storage is initialized
- $this->initPGTStorage();
- // writes the PGT
- $this->_pgt_storage->write($pgt,$pgt_iou);
- }
-
- /**
- * This method reads a PGT from its Iou and deletes the corresponding storage entry.
- *
- * @param $pgt_iou the PGT Iou
- *
- * @return The PGT corresponding to the Iou, FALSE when not found.
- *
- * @private
- */
- function loadPGT($pgt_iou)
- {
- // ensure that storage is initialized
- $this->initPGTStorage();
- // read the PGT
- return $this->_pgt_storage->read($pgt_iou);
- }
-
- /**
- * This method is used to tell phpCAS to store the response of the
- * CAS server to PGT requests onto the filesystem.
- *
- * @param $format the format used to store the PGT's (`plain' and `xml' allowed)
- * @param $path the path where the PGT's should be stored
- *
- * @public
- */
- function setPGTStorageFile($format='',
- $path='')
- {
- // check that the storage has not already been set
- if ( is_object($this->_pgt_storage) ) {
- phpCAS::error('PGT storage already defined');
- }
-
- // create the storage object
- $this->_pgt_storage = &new PGTStorageFile($this,$format,$path);
- }
-
- /**
- * This method is used to tell phpCAS to store the response of the
- * CAS server to PGT requests into a database.
- * @note The connection to the database is done only when needed.
- * As a consequence, bad parameters are detected only when
- * initializing PGT storage.
- *
- * @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 setPGTStorageDB($user,
- $password,
- $database_type,
- $hostname,
- $port,
- $database,
- $table)
- {
- // check that the storage has not already been set
- if ( is_object($this->_pgt_storage) ) {
- phpCAS::error('PGT storage already defined');
- }
-
- // warn the user that he should use file storage...
- trigger_error('PGT storage into database is an experimental feature, use at your own risk',E_USER_WARNING);
-
- // create the storage object
- $this->_pgt_storage = & new PGTStorageDB($this,$user,$password,$database_type,$hostname,$port,$database,$table);
- }
-
- // ########################################################################
- // PGT VALIDATION
- // ########################################################################
- /**
- * This method is used to validate a PGT; halt on failure.
- *
- * @param $validate_url the URL of the request to the CAS server.
- * @param $text_response the response of the CAS server, as is (XML text); result
- * of CASClient::validateST() or CASClient::validatePT().
- * @param $tree_response the response of the CAS server, as a DOM XML tree; result
- * of CASClient::validateST() or CASClient::validatePT().
- *
- * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
- *
- * @private
- */
- function validatePGT(&$validate_url,$text_response,$tree_response)
- {
- phpCAS::traceBegin();
- if ( sizeof($arr = $tree_response->get_elements_by_tagname("proxyGrantingTicket")) == 0) {
- phpCAS::trace('<proxyGrantingTicket> not found');
- // authentication succeded, but no PGT Iou was transmitted
- $this->authError('Ticket validated but no PGT Iou transmitted',
- $validate_url,
- FALSE/*$no_response*/,
- FALSE/*$bad_response*/,
- $text_response);
- } else {
- // PGT Iou transmitted, extract it
- $pgt_iou = trim($arr[0]->get_content());
- $pgt = $this->loadPGT($pgt_iou);
- if ( $pgt == FALSE ) {
- phpCAS::trace('could not load PGT');
- $this->authError('PGT Iou was transmitted but PGT could not be retrieved',
- $validate_url,
- FALSE/*$no_response*/,
- FALSE/*$bad_response*/,
- $text_response);
- }
- $this->setPGT($pgt);
- }
- phpCAS::traceEnd(TRUE);
- return TRUE;
- }
-
- // ########################################################################
- // PGT VALIDATION
- // ########################################################################
-
- /**
- * This method is used to retrieve PT's from the CAS server thanks to a PGT.
- *
- * @param $target_service the service to ask for with the PT.
- * @param $err_code an error code (PHPCAS_SERVICE_OK on success).
- * @param $err_msg an error message (empty on success).
- *
- * @return a Proxy Ticket, or FALSE on error.
- *
- * @private
- */
- function retrievePT($target_service,&$err_code,&$err_msg)
- {
- phpCAS::traceBegin();
-
- // by default, $err_msg is set empty and $pt to TRUE. On error, $pt is
- // set to false and $err_msg to an error message. At the end, if $pt is FALSE
- // and $error_msg is still empty, it is set to 'invalid response' (the most
- // commonly encountered error).
- $err_msg = '';
-
- // build the URL to retrieve the PT
- // $cas_url = $this->getServerProxyURL().'?targetService='.preg_replace('/&/','%26',$target_service).'&pgt='.$this->getPGT();
- $cas_url = $this->getServerProxyURL().'?targetService='.urlencode($target_service).'&pgt='.$this->getPGT();
-
- // open and read the URL
- if ( !$this->readURL($cas_url,''/*cookies*/,$headers,$cas_response,$err_msg) ) {
- phpCAS::trace('could not open URL \''.$cas_url.'\' to validate ('.$err_msg.')');
- $err_code = PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE;
- $err_msg = 'could not retrieve PT (no response from the CAS server)';
- phpCAS::traceEnd(FALSE);
- return FALSE;
- }
-
- $bad_response = FALSE;
-
- if ( !$bad_response ) {
- // read the response of the CAS server into a DOM object
- if ( !($dom = @domxml_open_mem($cas_response))) {
- phpCAS::trace('domxml_open_mem() failed');
- // read failed
- $bad_response = TRUE;
- }
- }
-
- if ( !$bad_response ) {
- // read the root node of the XML tree
- if ( !($root = $dom->document_element()) ) {
- phpCAS::trace('document_element() failed');
- // read failed
- $bad_response = TRUE;
- }
- }
-
- if ( !$bad_response ) {
- // insure that tag name is 'serviceResponse'
- if ( $root->node_name() != 'serviceResponse' ) {
- phpCAS::trace('node_name() failed');
- // bad root node
- $bad_response = TRUE;
- }
- }
-
- if ( !$bad_response ) {
- // look for a proxySuccess tag
- if ( sizeof($arr = $root->get_elements_by_tagname("proxySuccess")) != 0) {
- // authentication succeded, look for a proxyTicket tag
- if ( sizeof($arr = $root->get_elements_by_tagname("proxyTicket")) != 0) {
- $err_code = PHPCAS_SERVICE_OK;
- $err_msg = '';
- phpCAS::trace('original PT: '.trim($arr[0]->get_content()));
- $pt = trim($arr[0]->get_content());
- phpCAS::traceEnd($pt);
- return $pt;
- } else {
- phpCAS::trace('<proxySuccess> was found, but not <proxyTicket>');
- }
- }
- // look for a proxyFailure tag
- else if ( sizeof($arr = $root->get_elements_by_tagname("proxyFailure")) != 0) {
- // authentication failed, extract the error
- $err_code = PHPCAS_SERVICE_PT_FAILURE;
- $err_msg = 'PT retrieving failed (code=`'
- .$arr[0]->get_attribute('code')
- .'\', message=`'
- .trim($arr[0]->get_content())
- .'\')';
- phpCAS::traceEnd(FALSE);
- return FALSE;
- } else {
- phpCAS::trace('neither <proxySuccess> nor <proxyFailure> found');
- }
- }
-
- // at this step, we are sure that the response of the CAS server was ill-formed
- $err_code = PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE;
- $err_msg = 'Invalid response from the CAS server (response=`'.$cas_response.'\')';
-
- phpCAS::traceEnd(FALSE);
- return FALSE;
- }
-
- // ########################################################################
- // ACCESS TO EXTERNAL SERVICES
- // ########################################################################
-
- /**
- * This method is used to acces a remote URL.
- *
- * @param $url the URL to access.
- * @param $cookies an array containing cookies strings such as 'name=val'
- * @param $headers an array containing the HTTP header lines of the response
- * (an empty array on failure).
- * @param $body the body of the response, as a string (empty on failure).
- * @param $err_msg an error message, filled on failure.
- *
- * @return TRUE on success, FALSE otherwise (in this later case, $err_msg
- * contains an error message).
- *
- * @private
- */
- function readURL($url,$cookies,&$headers,&$body,&$err_msg)
- {
- phpCAS::traceBegin();
- $headers = '';
- $body = '';
- $err_msg = '';
-
- $res = TRUE;
-
- // initialize the CURL session
- $ch = curl_init($url);
-
- if (version_compare(PHP_VERSION,'5.1.3','>=')) {
- //only avaible in php5
- curl_setopt_array($ch, $this->_curl_options);
- } else {
- foreach ($this->_curl_options as $key => $value) {
- curl_setopt($ch, $key, $value);
- }
- }
-
- if ($this->_cas_server_cert == '' && $this->_cas_server_ca_cert == '' && !$this->_no_cas_server_validation) {
- phpCAS::error('one of the methods phpCAS::setCasServerCert(), phpCAS::setCasServerCACert() or phpCAS::setNoCasServerValidation() must be called.');
- }
- if ($this->_cas_server_cert != '' ) {
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
- curl_setopt($ch, CURLOPT_SSLCERT, $this->_cas_server_cert);
- } else if ($this->_cas_server_ca_cert != '') {
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
- curl_setopt($ch, CURLOPT_CAINFO, $this->_cas_server_ca_cert);
- } else {
- curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- }
-
- // return the CURL output into a variable
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- // get the HTTP header with a callback
- $this->_curl_headers = array(); // empty the headers array
- curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, '_curl_read_headers'));
- // add cookies headers
- if ( is_array($cookies) ) {
- curl_setopt($ch,CURLOPT_COOKIE,implode(';',$cookies));
- }
- // perform the query
- $buf = curl_exec ($ch);
- if ( $buf === FALSE ) {
- phpCAS::trace('curl_exec() failed');
- $err_msg = 'CURL error #'.curl_errno($ch).': '.curl_error($ch);
- // close the CURL session
- curl_close ($ch);
- $res = FALSE;
- } else {
- // close the CURL session
- curl_close ($ch);
-
- $headers = $this->_curl_headers;
- $body = $buf;
- }
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * This method is the callback used by readURL method to request HTTP headers.
- */
- var $_curl_headers = array();
- function _curl_read_headers($ch, $header)
- {
- $this->_curl_headers[] = $header;
- return strlen($header);
- }
-
- /**
- * This method is used to access an HTTP[S] service.
- *
- * @param $url the service to access.
- * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
- * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
- * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
- * @param $output the output of the service (also used to give an error
- * message on failure).
- *
- * @return TRUE on success, FALSE otherwise (in this later case, $err_code
- * gives the reason why it failed and $output contains an error message).
- *
- * @public
- */
- function serviceWeb($url,&$err_code,&$output)
- {
- phpCAS::traceBegin();
- // at first retrieve a PT
- $pt = $this->retrievePT($url,$err_code,$output);
-
- $res = TRUE;
-
- // test if PT was retrieved correctly
- if ( !$pt ) {
- // note: $err_code and $err_msg are filled by CASClient::retrievePT()
- phpCAS::trace('PT was not retrieved correctly');
- $res = FALSE;
- } else {
- // add cookies if necessary
- if ( is_array($_SESSION['phpCAS']['services'][$url]['cookies']) ) {
- foreach ( $_SESSION['phpCAS']['services'][$url]['cookies'] as $name => $val ) {
- $cookies[] = $name.'='.$val;
- }
- }
-
- // build the URL including the PT
- if ( strstr($url,'?') === FALSE ) {
- $service_url = $url.'?ticket='.$pt;
- } else {
- $service_url = $url.'&ticket='.$pt;
- }
-
- phpCAS::trace('reading URL`'.$service_url.'\'');
- if ( !$this->readURL($service_url,$cookies,$headers,$output,$err_msg) ) {
- phpCAS::trace('could not read URL`'.$service_url.'\'');
- $err_code = PHPCAS_SERVICE_NOT_AVAILABLE;
- // give an error message
- $output = sprintf($this->getString(CAS_STR_SERVICE_UNAVAILABLE),
- $service_url,
- $err_msg);
- $res = FALSE;
- } else {
- // URL has been fetched, extract the cookies
- phpCAS::trace('URL`'.$service_url.'\' has been read, storing cookies:');
- foreach ( $headers as $header ) {
- // test if the header is a cookie
- if ( preg_match('/^Set-Cookie:/',$header) ) {
- // the header is a cookie, remove the beginning
- $header_val = preg_replace('/^Set-Cookie: */','',$header);
- // extract interesting information
- $name_val = strtok($header_val,'; ');
- // extract the name and the value of the cookie
- $cookie_name = strtok($name_val,'=');
- $cookie_val = strtok('=');
- // store the cookie
- $_SESSION['phpCAS']['services'][$url]['cookies'][$cookie_name] = $cookie_val;
- phpCAS::trace($cookie_name.' -> '.$cookie_val);
- }
- }
- }
- }
-
- phpCAS::traceEnd($res);
- return $res;
- }
-
- /**
- * This method is used to access an IMAP/POP3/NNTP service.
- *
- * @param $url a string giving the URL of the service, including the mailing box
- * for IMAP URLs, as accepted by imap_open().
- * @param $flags options given to imap_open().
- * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
- * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
- * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
- * @param $err_msg an error message on failure
- * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL
- * on success, FALSE on error).
- *
- * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code
- * gives the reason why it failed and $err_msg contains an error message).
- *
- * @public
- */
- function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)
- {
- phpCAS::traceBegin();
- // at first retrieve a PT
- $pt = $this->retrievePT($target_service,$err_code,$output);
-
- $stream = FALSE;
-
- // test if PT was retrieved correctly
- if ( !$pt ) {
- // note: $err_code and $err_msg are filled by CASClient::retrievePT()
- phpCAS::trace('PT was not retrieved correctly');
- } else {
- phpCAS::trace('opening IMAP URL `'.$url.'\'...');
- $stream = @imap_open($url,$this->getUser(),$pt,$flags);
- if ( !$stream ) {
- phpCAS::trace('could not open URL');
- $err_code = PHPCAS_SERVICE_NOT_AVAILABLE;
- // give an error message
- $err_msg = sprintf($this->getString(CAS_STR_SERVICE_UNAVAILABLE),
- $service_url,
- var_export(imap_errors(),TRUE));
- $pt = FALSE;
- $stream = FALSE;
- } else {
- phpCAS::trace('ok');
- }
- }
-
- phpCAS::traceEnd($stream);
- return $stream;
- }
-
- /** @} */
-
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // XX XX
- // XX PROXIED CLIENT FEATURES (CAS 2.0) XX
- // XX XX
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- // ########################################################################
- // PT
- // ########################################################################
- /**
- * @addtogroup internalProxied
- * @{
- */
-
- /**
- * the Proxy Ticket provided in the URL of the request if present
- * (empty otherwise). Written by CASClient::CASClient(), read by
- * CASClient::getPT() and CASClient::hasPGT().
- *
- * @hideinitializer
- * @private
- */
- var $_pt = '';
-
- /**
- * This method returns the Proxy Ticket provided in the URL of the request.
- * @return The proxy ticket.
- * @private
- */
- function getPT()
- {
- // return 'ST'.substr($this->_pt, 2);
- return $this->_pt;
- }
-
- /**
- * This method stores the Proxy Ticket.
- * @param $pt The Proxy Ticket.
- * @private
- */
- function setPT($pt)
- { $this->_pt = $pt; }
-
- /**
- * This method tells if a Proxy Ticket was stored.
- * @return TRUE if a Proxy Ticket has been stored.
- * @private
- */
- function hasPT()
- { return !empty($this->_pt); }
-
- /** @} */
- // ########################################################################
- // PT VALIDATION
- // ########################################################################
- /**
- * @addtogroup internalProxied
- * @{
- */
-
- /**
- * This method is used to validate a PT; halt on failure
- *
- * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
- *
- * @private
- */
- function validatePT(&$validate_url,&$text_response,&$tree_response)
- {
- phpCAS::traceBegin();
- // build the URL to validate the ticket
- $validate_url = $this->getServerProxyValidateURL().'&ticket='.$this->getPT();
-
- if ( $this->isProxy() ) {
- // pass the callback url for CAS proxies
- $validate_url .= '&pgtUrl='.$this->getCallbackURL();
- }
-
- // open and read the URL
- if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {
- phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');
- $this->authError('PT not validated',
- $validate_url,
- TRUE/*$no_response*/);
- }
-
- // read the response of the CAS server into a DOM object
- if ( !($dom = domxml_open_mem($text_response))) {
- // read failed
- $this->authError('PT not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- // read the root node of the XML tree
- if ( !($tree_response = $dom->document_element()) ) {
- // read failed
- $this->authError('PT not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- // insure that tag name is 'serviceResponse'
- if ( $tree_response->node_name() != 'serviceResponse' ) {
- // bad root node
- $this->authError('PT not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) {
- // authentication succeded, extract the user name
- if ( sizeof($arr = $tree_response->get_elements_by_tagname("user")) == 0) {
- // no user specified => error
- $this->authError('PT not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
- $this->setUser(trim($arr[0]->get_content()));
-
- } else if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) {
- // authentication succeded, extract the error code and message
- $this->authError('PT not validated',
- $validate_url,
- FALSE/*$no_response*/,
- FALSE/*$bad_response*/,
- $text_response,
- $arr[0]->get_attribute('code')/*$err_code*/,
- trim($arr[0]->get_content())/*$err_msg*/);
- } else {
- $this->authError('PT not validated',
- $validate_url,
- FALSE/*$no_response*/,
- TRUE/*$bad_response*/,
- $text_response);
- }
-
- // at this step, PT has been validated and $this->_user has been set,
-
- phpCAS::traceEnd(TRUE);
- return TRUE;
- }
-
- /** @} */
-
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- // XX XX
- // XX MISC XX
- // XX XX
- // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-
- /**
- * @addtogroup internalMisc
- * @{
- */
-
- // ########################################################################
- // URL
- // ########################################################################
- /**
- * the URL of the current request (without any ticket CGI parameter). Written
- * and read by CASClient::getURL().
- *
- * @hideinitializer
- * @private
- */
- var $_url = '';
-
- /**
- * This method returns the URL of the current request (without any ticket
- * CGI parameter).
- *
- * @return The URL
- *
- * @private
- */
- function getURL()
- {
- phpCAS::traceBegin();
- // the URL is built when needed only
- if ( empty($this->_url) ) {
- $final_uri = '';
- // remove the ticket if present in the URL
- $final_uri = ($this->isHttps()) ? 'https' : 'http';
- $final_uri .= '://';
- /* replaced by Julien Marchal - v0.4.6
- * $this->_url .= $_SERVER['SERVER_NAME'];
- */
- if(empty($_SERVER['HTTP_X_FORWARDED_SERVER'])){
- /* replaced by teedog - v0.4.12
- * $this->_url .= $_SERVER['SERVER_NAME'];
- */
- if (empty($_SERVER['SERVER_NAME'])) {
- $server_name = $_SERVER['HTTP_HOST'];
- } else {
- $server_name = $_SERVER['SERVER_NAME'];
- }
- } else {
- $server_name = $_SERVER['HTTP_X_FORWARDED_SERVER'];
- }
- $final_uri .= $server_name;
- if (!strpos($server_name, ':')) {
- if ( ($this->isHttps() && $_SERVER['SERVER_PORT']!=443)
- || (!$this->isHttps() && $_SERVER['SERVER_PORT']!=80) ) {
- $final_uri .= ':';
- $final_uri .= $_SERVER['SERVER_PORT'];
- }
- }
-
- $final_uri .= strtok($_SERVER['REQUEST_URI'],"?");
- $cgi_params = '?'.strtok("?");
- // remove the ticket if present in the CGI parameters
- $cgi_params = preg_replace('/&ticket=[^&]*/','',$cgi_params);
- $cgi_params = preg_replace('/\?ticket=[^&;]*/','?',$cgi_params);
- $cgi_params = preg_replace('/\?%26/','?',$cgi_params);
- $cgi_params = preg_replace('/\?&/','?',$cgi_params);
- $cgi_params = preg_replace('/\?$/','',$cgi_params);
- $final_uri .= $cgi_params;
- $this->setURL($final_uri);
- }
- phpCAS::traceEnd($this->_url);
- return $this->_url;
- }
-
- /**
- * This method sets the URL of the current request
- *
- * @param $url url to set for service
- *
- * @private
- */
- function setURL($url)
- {
- $this->_url = $url;
- }
-
- // ########################################################################
- // AUTHENTICATION ERROR HANDLING
- // ########################################################################
- /**
- * This method is used to print the HTML output when the user was not authenticated.
- *
- * @param $failure the failure that occured
- * @param $cas_url the URL the CAS server was asked for
- * @param $no_response the response from the CAS server (other
- * parameters are ignored if TRUE)
- * @param $bad_response bad response from the CAS server ($err_code
- * and $err_msg ignored if TRUE)
- * @param $cas_response the response of the CAS server
- * @param $err_code the error code given by the CAS server
- * @param $err_msg the error message given by the CAS server
- *
- * @private
- */
- function authError($failure,$cas_url,$no_response,$bad_response='',$cas_response='',$err_code='',$err_msg='')
- {
- phpCAS::traceBegin();
-
- $this->printHTMLHeader($this->getString(CAS_STR_AUTHENTICATION_FAILED));
- printf($this->getString(CAS_STR_YOU_WERE_NOT_AUTHENTICATED),$this->getURL(),$_SERVER['SERVER_ADMIN']);
- phpCAS::trace('CAS URL: '.$cas_url);
- phpCAS::trace('Authentication failure: '.$failure);
- if ( $no_response ) {
- phpCAS::trace('Reason: no response from the CAS server');
- } else {
- if ( $bad_response ) {
- phpCAS::trace('Reason: bad response from the CAS server');
- } else {
- switch ($this->getServerVersion()) {
- case CAS_VERSION_1_0:
- phpCAS::trace('Reason: CAS error');
- break;
- case CAS_VERSION_2_0:
- if ( empty($err_code) )
- phpCAS::trace('Reason: no CAS error');
- else
- phpCAS::trace('Reason: ['.$err_code.'] CAS error: '.$err_msg);
- break;
- }
- }
- phpCAS::trace('CAS response: '.$cas_response);
- }
- $this->printHTMLFooter();
- phpCAS::traceExit();
- exit();
- }
-
- /** @} */
-}
-
+ header('Location: '.$this->getURL());
+ }
+
+ //activate session mechanism if desired
+ if (!$this->isLogoutRequest() && $start_session) {
+ session_start();
+ }
+
+ $this->_proxy = $proxy;
+
+ //check version
+ switch ($server_version) {
+ case CAS_VERSION_1_0:
+ if ( $this->isProxy() )
+ phpCAS::error('CAS proxies are not supported in CAS '
+ .$server_version);
+ break;
+ case CAS_VERSION_2_0:
+ break;
+ default:
+ phpCAS::error('this version of CAS (`'
+ .$server_version
+ .'\') is not supported by phpCAS '
+ .phpCAS::getVersion());
+ }
+ $this->_server['version'] = $server_version;
+
+ //check hostname
+ if ( empty($server_hostname)
+ || !preg_match('/[\.\d\-abcdefghijklmnopqrstuvwxyz]*/',$server_hostname) ) {
+ phpCAS::error('bad CAS server hostname (`'.$server_hostname.'\')');
+ }
+ $this->_server['hostname'] = $server_hostname;
+
+ //check port
+ if ( $server_port == 0
+ || !is_int($server_port) ) {
+ phpCAS::error('bad CAS server port (`'.$server_hostname.'\')');
+ }
+ $this->_server['port'] = $server_port;
+
+ //check URI
+ if ( !preg_match('/[\.\d\-_abcdefghijklmnopqrstuvwxyz\/]*/',$server_uri) ) {
+ phpCAS::error('bad CAS server URI (`'.$server_uri.'\')');
+ }
+ //add leading and trailing `/' and remove doubles
+ $server_uri = preg_replace('/\/\//','/','/'.$server_uri.'/');
+ $this->_server['uri'] = $server_uri;
+
+ //set to callback mode if PgtIou and PgtId CGI GET parameters are provided
+ if ( $this->isProxy() ) {
+ $this->setCallbackMode(!empty($_GET['pgtIou'])&&!empty($_GET['pgtId']));
+ }
+
+ if ( $this->isCallbackMode() ) {
+ //callback mode: check that phpCAS is secured
+ if ( !$this->isHttps() ) {
+ phpCAS::error('CAS proxies must be secured to use phpCAS; PGT\'s will not be received from the CAS server');
+ }
+ } else {
+ //normal mode: get ticket and remove it from CGI parameters for developpers
+ $ticket = (isset($_GET['ticket']) ? $_GET['ticket'] : null);
+ switch ($this->getServerVersion()) {
+ case CAS_VERSION_1_0: // check for a Service Ticket
+ if( preg_match('/^ST-/',$ticket) ) {
+ phpCAS::trace('ST \''.$ticket.'\' found');
+ //ST present
+ $this->setST($ticket);
+ //ticket has been taken into account, unset it to hide it to applications
+ unset($_GET['ticket']);
+ } else if ( !empty($ticket) ) {
+ //ill-formed ticket, halt
+ phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');
+ }
+ break;
+ case CAS_VERSION_2_0: // check for a Service or Proxy Ticket
+ if( preg_match('/^[SP]T-/',$ticket) ) {
+ phpCAS::trace('ST or PT \''.$ticket.'\' found');
+ $this->setPT($ticket);
+ unset($_GET['ticket']);
+ } else if ( !empty($ticket) ) {
+ //ill-formed ticket, halt
+ phpCAS::error('ill-formed ticket found in the URL (ticket=`'.htmlentities($ticket).'\')');
+ }
+ break;
+ }
+ }
+ phpCAS::traceEnd();
+ }
+
+ /** @} */
+
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ // XX XX
+ // XX AUTHENTICATION XX
+ // XX XX
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ /**
+ * @addtogroup internalAuthentication
+ * @{
+ */
+
+ /**
+ * The Authenticated user. Written by CASClient::setUser(), read by CASClient::getUser().
+ * @attention client applications should use phpCAS::getUser().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_user = '';
+
+ /**
+ * This method sets the CAS user's login name.
+ *
+ * @param $user the login name of the authenticated user.
+ *
+ * @private
+ */
+ function setUser($user)
+ {
+ $this->_user = $user;
+ }
+
+ /**
+ * This method returns the CAS user's login name.
+ * @warning should be called only after CASClient::forceAuthentication() or
+ * CASClient::isAuthenticated(), otherwise halt with an error.
+ *
+ * @return the login name of the authenticated user
+ */
+ function getUser()
+ {
+ if ( empty($this->_user) ) {
+ phpCAS::error('this method should be used only after '.__CLASS__.'::forceAuthentication() or '.__CLASS__.'::isAuthenticated()');
+ }
+ return $this->_user;
+ }
+
+ /**
+ * This method is called to renew the authentication of the user
+ * If the user is authenticated, renew the connection
+ * If not, redirect to CAS
+ * @public
+ */
+ function renewAuthentication(){
+ phpCAS::traceBegin();
+ // Either way, the user is authenticated by CAS
+ if( isset( $_SESSION['phpCAS']['auth_checked'] ) )
+ unset($_SESSION['phpCAS']['auth_checked']);
+ if ( $this->isAuthenticated() ) {
+ phpCAS::trace('user already authenticated; renew');
+ $this->redirectToCas(false,true);
+ } else {
+ $this->redirectToCas();
+ }
+ phpCAS::traceEnd();
+ }
+
+ /**
+ * This method is called to be sure that the user is authenticated. When not
+ * authenticated, halt by redirecting to the CAS server; otherwise return TRUE.
+ * @return TRUE when the user is authenticated; otherwise halt.
+ * @public
+ */
+ function forceAuthentication()
+ {
+ phpCAS::traceBegin();
+
+ if ( $this->isAuthenticated() ) {
+ // the user is authenticated, nothing to be done.
+ phpCAS::trace('no need to authenticate');
+ $res = TRUE;
+ } else {
+ // the user is not authenticated, redirect to the CAS server
+ if (isset($_SESSION['phpCAS']['auth_checked'])) {
+ unset($_SESSION['phpCAS']['auth_checked']);
+ }
+ $this->redirectToCas(FALSE/* no gateway */);
+ // never reached
+ $res = FALSE;
+ }
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * An integer that gives the number of times authentication will be cached before rechecked.
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_cache_times_for_auth_recheck = 0;
+
+ /**
+ * Set the number of times authentication will be cached before rechecked.
+ *
+ * @param $n an integer.
+ *
+ * @public
+ */
+ function setCacheTimesForAuthRecheck($n)
+ {
+ $this->_cache_times_for_auth_recheck = $n;
+ }
+
+ /**
+ * This method is called to check whether the user is authenticated or not.
+ * @return TRUE when the user is authenticated, FALSE otherwise.
+ * @public
+ */
+ function checkAuthentication()
+ {
+ phpCAS::traceBegin();
+
+ if ( $this->isAuthenticated() ) {
+ phpCAS::trace('user is authenticated');
+ $res = TRUE;
+ } else if (isset($_SESSION['phpCAS']['auth_checked'])) {
+ // the previous request has redirected the client to the CAS server with gateway=true
+ unset($_SESSION['phpCAS']['auth_checked']);
+ $res = FALSE;
+ } else {
+ // $_SESSION['phpCAS']['auth_checked'] = true;
+ // $this->redirectToCas(TRUE/* gateway */);
+ // // never reached
+ // $res = FALSE;
+ // avoid a check against CAS on every request
+ if (! isset($_SESSION['phpCAS']['unauth_count']) )
+ $_SESSION['phpCAS']['unauth_count'] = -2; // uninitialized
+
+ if (($_SESSION['phpCAS']['unauth_count'] != -2 && $this->_cache_times_for_auth_recheck == -1)
+ || ($_SESSION['phpCAS']['unauth_count'] >= 0 && $_SESSION['phpCAS']['unauth_count'] < $this->_cache_times_for_auth_recheck))
+ {
+ $res = FALSE;
+
+ if ($this->_cache_times_for_auth_recheck != -1)
+ {
+ $_SESSION['phpCAS']['unauth_count']++;
+ phpCAS::trace('user is not authenticated (cached for '.$_SESSION['phpCAS']['unauth_count'].' times of '.$this->_cache_times_for_auth_recheck.')');
+ }
+ else
+ {
+ phpCAS::trace('user is not authenticated (cached for until login pressed)');
+ }
+ }
+ else
+ {
+ $_SESSION['phpCAS']['unauth_count'] = 0;
+ $_SESSION['phpCAS']['auth_checked'] = true;
+ phpCAS::trace('user is not authenticated (cache reset)');
+ $this->redirectToCas(TRUE/* gateway */);
+ // never reached
+ $res = FALSE;
+ }
+ }
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * This method is called to check if the user is authenticated (previously or by
+ * tickets given in the URL).
+ *
+ * @return TRUE when the user is authenticated.
+ *
+ * @public
+ */
+ function isAuthenticated()
+ {
+ phpCAS::traceBegin();
+ $res = FALSE;
+ $validate_url = '';
+
+ if ( $this->wasPreviouslyAuthenticated() ) {
+ // the user has already (previously during the session) been
+ // authenticated, nothing to be done.
+ phpCAS::trace('user was already authenticated, no need to look for tickets');
+ $res = TRUE;
+ }
+ elseif ( $this->hasST() ) {
+ // if a Service Ticket was given, validate it
+ phpCAS::trace('ST `'.$this->getST().'\' is present');
+ $this->validateST($validate_url,$text_response,$tree_response); // if it fails, it halts
+ phpCAS::trace('ST `'.$this->getST().'\' was validated');
+ if ( $this->isProxy() ) {
+ $this->validatePGT($validate_url,$text_response,$tree_response); // idem
+ phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
+ $_SESSION['phpCAS']['pgt'] = $this->getPGT();
+ }
+ $_SESSION['phpCAS']['user'] = $this->getUser();
+ $res = TRUE;
+ }
+ elseif ( $this->hasPT() ) {
+ // if a Proxy Ticket was given, validate it
+ phpCAS::trace('PT `'.$this->getPT().'\' is present');
+ $this->validatePT($validate_url,$text_response,$tree_response); // note: if it fails, it halts
+ phpCAS::trace('PT `'.$this->getPT().'\' was validated');
+ if ( $this->isProxy() ) {
+ $this->validatePGT($validate_url,$text_response,$tree_response); // idem
+ phpCAS::trace('PGT `'.$this->getPGT().'\' was validated');
+ $_SESSION['phpCAS']['pgt'] = $this->getPGT();
+ }
+ $_SESSION['phpCAS']['user'] = $this->getUser();
+ $res = TRUE;
+ }
+ else {
+ // no ticket given, not authenticated
+ phpCAS::trace('no ticket found');
+ }
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * This method tells if the current session is authenticated.
+ * @return true if authenticated based soley on $_SESSION variable
+ * @since 0.4.22 by Brendan Arnold
+ */
+ function isSessionAuthenticated ()
+ {
+ return !empty($_SESSION['phpCAS']['user']);
+ }
+
+ /**
+ * This method tells if the user has already been (previously) authenticated
+ * by looking into the session variables.
+ *
+ * @note This function switches to callback mode when needed.
+ *
+ * @return TRUE when the user has already been authenticated; FALSE otherwise.
+ *
+ * @private
+ */
+ function wasPreviouslyAuthenticated()
+ {
+ phpCAS::traceBegin();
+
+ if ( $this->isCallbackMode() ) {
+ $this->callback();
+ }
+
+ $auth = FALSE;
+
+ if ( $this->isProxy() ) {
+ // CAS proxy: username and PGT must be present
+ if ( $this->isSessionAuthenticated() && !empty($_SESSION['phpCAS']['pgt']) ) {
+ // authentication already done
+ $this->setUser($_SESSION['phpCAS']['user']);
+ $this->setPGT($_SESSION['phpCAS']['pgt']);
+ phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\', PGT = `'.$_SESSION['phpCAS']['pgt'].'\'');
+ $auth = TRUE;
+ } elseif ( $this->isSessionAuthenticated() && empty($_SESSION['phpCAS']['pgt']) ) {
+ // these two variables should be empty or not empty at the same time
+ phpCAS::trace('username found (`'.$_SESSION['phpCAS']['user'].'\') but PGT is empty');
+ // unset all tickets to enforce authentication
+ unset($_SESSION['phpCAS']);
+ $this->setST('');
+ $this->setPT('');
+ } elseif ( !$this->isSessionAuthenticated() && !empty($_SESSION['phpCAS']['pgt']) ) {
+ // these two variables should be empty or not empty at the same time
+ phpCAS::trace('PGT found (`'.$_SESSION['phpCAS']['pgt'].'\') but username is empty');
+ // unset all tickets to enforce authentication
+ unset($_SESSION['phpCAS']);
+ $this->setST('');
+ $this->setPT('');
+ } else {
+ phpCAS::trace('neither user not PGT found');
+ }
+ } else {
+ // `simple' CAS client (not a proxy): username must be present
+ if ( $this->isSessionAuthenticated() ) {
+ // authentication already done
+ $this->setUser($_SESSION['phpCAS']['user']);
+ phpCAS::trace('user = `'.$_SESSION['phpCAS']['user'].'\'');
+ $auth = TRUE;
+ } else {
+ phpCAS::trace('no user found');
+ }
+ }
+
+ phpCAS::traceEnd($auth);
+ return $auth;
+ }
+
+ /**
+ * This method is used to redirect the client to the CAS server.
+ * It is used by CASClient::forceAuthentication() and CASClient::checkAuthentication().
+ * @param $gateway true to check authentication, false to force it
+ * @param $renew true to force the authentication with the CAS server
+ * @public
+ */
+ function redirectToCas($gateway=false,$renew=false){
+ phpCAS::traceBegin();
+ $cas_url = $this->getServerLoginURL($gateway,$renew);
+ header('Location: '.$cas_url);
+ phpCAS::log( "Redirect to : ".$cas_url );
+
+ $this->printHTMLHeader($this->getString(CAS_STR_AUTHENTICATION_WANTED));
+
+ printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
+ $this->printHTMLFooter();
+ phpCAS::traceExit();
+ exit();
+ }
+
+// /**
+// * This method is used to logout from CAS.
+// * @param $url a URL that will be transmitted to the CAS server (to come back to when logged out)
+// * @public
+// */
+// function logout($url = "") {
+// phpCAS::traceBegin();
+// $cas_url = $this->getServerLogoutURL();
+// // v0.4.14 sebastien.gougeon at univ-rennes1.fr
+// // header('Location: '.$cas_url);
+// if ( $url != "" ) {
+// // Adam Moore 1.0.0RC2
+// $url = '?service=' . $url . '&url=' . $url;
+// }
+// header('Location: '.$cas_url . $url);
+// session_unset();
+// session_destroy();
+// $this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));
+// printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
+// $this->printHTMLFooter();
+// phpCAS::traceExit();
+// exit();
+// }
+
+ /**
+ * This method is used to logout from CAS.
+ * @params $params an array that contains the optional url and service parameters that will be passed to the CAS server
+ * @public
+ */
+ function logout($params) {
+ phpCAS::traceBegin();
+ $cas_url = $this->getServerLogoutURL();
+ $paramSeparator = '?';
+ if (isset($params['url'])) {
+ $cas_url = $cas_url . $paramSeparator . "url=" . urlencode($params['url']);
+ $paramSeparator = '&';
+ }
+ if (isset($params['service'])) {
+ $cas_url = $cas_url . $paramSeparator . "service=" . urlencode($params['service']);
+ }
+ header('Location: '.$cas_url);
+ session_unset();
+ session_destroy();
+ $this->printHTMLHeader($this->getString(CAS_STR_LOGOUT));
+ printf('<p>'.$this->getString(CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED).'</p>',$cas_url);
+ $this->printHTMLFooter();
+ phpCAS::traceExit();
+ exit();
+ }
+
+ /**
+ * @return true if the current request is a logout request.
+ * @private
+ */
+ function isLogoutRequest() {
+ return !empty($_POST['logoutRequest']);
+ }
+
+ /**
+ * @return true if a logout request is allowed.
+ * @private
+ */
+ function isLogoutRequestAllowed() {
+ }
+
+ /**
+ * This method handles logout requests.
+ * @param $check_client true to check the client bofore handling the request,
+ * false not to perform any access control. True by default.
+ * @param $allowed_clients an array of host names allowed to send logout requests.
+ * By default, only the CAs server (declared in the constructor) will be allowed.
+ * @public
+ */
+ function handleLogoutRequests($check_client=true, $allowed_clients=false) {
+ phpCAS::traceBegin();
+ if (!$this->isLogoutRequest()) {
+ phpCAS::log("Not a logout request");
+ phpCAS::traceEnd();
+ return;
+ }
+ phpCAS::log("Logout requested");
+ phpCAS::log("SAML REQUEST: ".$_POST['logoutRequest']);
+ if ($check_client) {
+ if (!$allowed_clients) {
+ $allowed_clients = array( $this->getServerHostname() );
+ }
+ $client_ip = $_SERVER['REMOTE_ADDR'];
+ $client = gethostbyaddr($client_ip);
+ phpCAS::log("Client: ".$client);
+ $allowed = false;
+ foreach ($allowed_clients as $allowed_client) {
+ if ($client == $allowed_client) {
+ phpCAS::log("Allowed client '".$allowed_client."' matches, logout request is allowed");
+ $allowed = true;
+ break;
+ } else {
+ phpCAS::log("Allowed client '".$allowed_client."' does not match");
+ }
+ }
+ if (!$allowed) {
+ phpCAS::error("Unauthorized logout request from client '".$client."'");
+ printf("Unauthorized!");
+ phpCAS::traceExit();
+ exit();
+ }
+ } else {
+ phpCAS::log("No access control set");
+ }
+ // Extract the ticket from the SAML Request
+ preg_match("|<samlp:SessionIndex>(.*)</samlp:SessionIndex>|", $_POST['logoutRequest'], $tick, PREG_OFFSET_CAPTURE, 3);
+ $wrappedSamlSessionIndex = preg_replace('|<samlp:SessionIndex>|','',$tick[0][0]);
+ $ticket2logout = preg_replace('|</samlp:SessionIndex>|','',$wrappedSamlSessionIndex);
+ phpCAS::log("Ticket to logout: ".$ticket2logout);
+ $session_id = preg_replace('/[^\w]/','',$ticket2logout);
+ phpCAS::log("Session id: ".$session_id);
+
+ // fix New session ID
+ session_id($session_id);
+ $_COOKIE[session_name()]=$session_id;
+ $_GET[session_name()]=$session_id;
+
+ // Overwrite session
+ session_start();
+ session_unset();
+ session_destroy();
+ printf("Disconnected!");
+ phpCAS::traceExit();
+ exit();
+ }
+
+ /** @} */
+
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ // XX XX
+ // XX BASIC CLIENT FEATURES (CAS 1.0) XX
+ // XX XX
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ // ########################################################################
+ // ST
+ // ########################################################################
+ /**
+ * @addtogroup internalBasic
+ * @{
+ */
+
+ /**
+ * the Service Ticket provided in the URL of the request if present
+ * (empty otherwise). Written by CASClient::CASClient(), read by
+ * CASClient::getST() and CASClient::hasPGT().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_st = '';
+
+ /**
+ * This method returns the Service Ticket provided in the URL of the request.
+ * @return The service ticket.
+ * @private
+ */
+ function getST()
+ { return $this->_st; }
+
+ /**
+ * This method stores the Service Ticket.
+ * @param $st The Service Ticket.
+ * @private
+ */
+ function setST($st)
+ { $this->_st = $st; }
+
+ /**
+ * This method tells if a Service Ticket was stored.
+ * @return TRUE if a Service Ticket has been stored.
+ * @private
+ */
+ function hasST()
+ { return !empty($this->_st); }
+
+ /** @} */
+
+ // ########################################################################
+ // ST VALIDATION
+ // ########################################################################
+ /**
+ * @addtogroup internalBasic
+ * @{
+ */
+
+ /**
+ * the certificate of the CAS server.
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_cas_server_cert = '';
+
+ /**
+ * the certificate of the CAS server CA.
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_cas_server_ca_cert = '';
+
+ /**
+ * Set to true not to validate the CAS server.
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_no_cas_server_validation = false;
+
+ /**
+ * Set the certificate of the CAS server.
+ *
+ * @param $cert the PEM certificate
+ */
+ function setCasServerCert($cert)
+ {
+ $this->_cas_server_cert = $cert;
+ }
+
+ /**
+ * Set the CA certificate of the CAS server.
+ *
+ * @param $cert the PEM certificate of the CA that emited the cert of the server
+ */
+ function setCasServerCACert($cert)
+ {
+ $this->_cas_server_ca_cert = $cert;
+ }
+
+ /**
+ * Set no SSL validation for the CAS server.
+ */
+ function setNoCasServerValidation()
+ {
+ $this->_no_cas_server_validation = true;
+ }
+
+ /**
+ * This method is used to validate a ST; halt on failure, and sets $validate_url,
+ * $text_reponse and $tree_response on success. These parameters are used later
+ * by CASClient::validatePGT() for CAS proxies.
+ *
+ * @param $validate_url the URL of the request to the CAS server.
+ * @param $text_response the response of the CAS server, as is (XML text).
+ * @param $tree_response the response of the CAS server, as a DOM XML tree.
+ *
+ * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
+ *
+ * @private
+ */
+ function validateST($validate_url,&$text_response,&$tree_response)
+ {
+ phpCAS::traceBegin();
+ // build the URL to validate the ticket
+ $validate_url = $this->getServerServiceValidateURL().'&ticket='.$this->getST();
+ if ( $this->isProxy() ) {
+ // pass the callback url for CAS proxies
+ $validate_url .= '&pgtUrl='.$this->getCallbackURL();
+ }
+
+ // open and read the URL
+ if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {
+ phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');
+ $this->authError('ST not validated',
+ $validate_url,
+ TRUE/*$no_response*/);
+ }
+
+ // analyze the result depending on the version
+ switch ($this->getServerVersion()) {
+ case CAS_VERSION_1_0:
+ if (preg_match('/^no\n/',$text_response)) {
+ phpCAS::trace('ST has not been validated');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ FALSE/*$bad_response*/,
+ $text_response);
+ }
+ if (!preg_match('/^yes\n/',$text_response)) {
+ phpCAS::trace('ill-formed response');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // ST has been validated, extract the user name
+ $arr = preg_split('/\n/',$text_response);
+ $this->setUser(trim($arr[1]));
+ break;
+ case CAS_VERSION_2_0:
+ // read the response of the CAS server into a DOM object
+ if ( !($dom = domxml_open_mem($text_response))) {
+ phpCAS::trace('domxml_open_mem() failed');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // read the root node of the XML tree
+ if ( !($tree_response = $dom->document_element()) ) {
+ phpCAS::trace('document_element() failed');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // insure that tag name is 'serviceResponse'
+ if ( $tree_response->node_name() != 'serviceResponse' ) {
+ phpCAS::trace('bad XML root node (should be `serviceResponse\' instead of `'.$tree_response->node_name().'\'');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ if ( sizeof($success_elements = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) {
+ // authentication succeded, extract the user name
+ if ( sizeof($user_elements = $success_elements[0]->get_elements_by_tagname("user")) == 0) {
+ phpCAS::trace('<authenticationSuccess> found, but no <user>');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ $user = trim($user_elements[0]->get_content());
+ phpCAS::trace('user = `'.$user);
+ $this->setUser($user);
+
+ } else if ( sizeof($failure_elements = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) {
+ phpCAS::trace('<authenticationFailure> found');
+ // authentication failed, extract the error code and message
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ FALSE/*$bad_response*/,
+ $text_response,
+ $failure_elements[0]->get_attribute('code')/*$err_code*/,
+ trim($failure_elements[0]->get_content())/*$err_msg*/);
+ } else {
+ phpCAS::trace('neither <authenticationSuccess> nor <authenticationFailure> found');
+ $this->authError('ST not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ break;
+ }
+
+ // at this step, ST has been validated and $this->_user has been set,
+ phpCAS::traceEnd(TRUE);
+ return TRUE;
+ }
+
+ /** @} */
+
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ // XX XX
+ // XX PROXY FEATURES (CAS 2.0) XX
+ // XX XX
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ // ########################################################################
+ // PROXYING
+ // ########################################################################
+ /**
+ * @addtogroup internalProxy
+ * @{
+ */
+
+ /**
+ * A boolean telling if the client is a CAS proxy or not. Written by CASClient::CASClient(),
+ * read by CASClient::isProxy().
+ *
+ * @private
+ */
+ var $_proxy;
+
+ /**
+ * Tells if a CAS client is a CAS proxy or not
+ *
+ * @return TRUE when the CAS client is a CAs proxy, FALSE otherwise
+ *
+ * @private
+ */
+ function isProxy()
+ {
+ return $this->_proxy;
+ }
+
+ /** @} */
+ // ########################################################################
+ // PGT
+ // ########################################################################
+ /**
+ * @addtogroup internalProxy
+ * @{
+ */
+
+ /**
+ * the Proxy Grnting Ticket given by the CAS server (empty otherwise).
+ * Written by CASClient::setPGT(), read by CASClient::getPGT() and CASClient::hasPGT().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_pgt = '';
+
+ /**
+ * This method returns the Proxy Granting Ticket given by the CAS server.
+ * @return The Proxy Granting Ticket.
+ * @private
+ */
+ function getPGT()
+ { return $this->_pgt; }
+
+ /**
+ * This method stores the Proxy Granting Ticket.
+ * @param $pgt The Proxy Granting Ticket.
+ * @private
+ */
+ function setPGT($pgt)
+ { $this->_pgt = $pgt; }
+
+ /**
+ * This method tells if a Proxy Granting Ticket was stored.
+ * @return TRUE if a Proxy Granting Ticket has been stored.
+ * @private
+ */
+ function hasPGT()
+ { return !empty($this->_pgt); }
+
+ /** @} */
+
+ // ########################################################################
+ // CALLBACK MODE
+ // ########################################################################
+ /**
+ * @addtogroup internalCallback
+ * @{
+ */
+ /**
+ * each PHP script using phpCAS in proxy mode is its own callback to get the
+ * PGT back from the CAS server. callback_mode is detected by the constructor
+ * thanks to the GET parameters.
+ */
+
+ /**
+ * a boolean to know if the CAS client is running in callback mode. Written by
+ * CASClient::setCallBackMode(), read by CASClient::isCallbackMode().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_callback_mode = FALSE;
+
+ /**
+ * This method sets/unsets callback mode.
+ *
+ * @param $callback_mode TRUE to set callback mode, FALSE otherwise.
+ *
+ * @private
+ */
+ function setCallbackMode($callback_mode)
+ {
+ $this->_callback_mode = $callback_mode;
+ }
+
+ /**
+ * This method returns TRUE when the CAs client is running i callback mode,
+ * FALSE otherwise.
+ *
+ * @return A boolean.
+ *
+ * @private
+ */
+ function isCallbackMode()
+ {
+ return $this->_callback_mode;
+ }
+
+ /**
+ * the URL that should be used for the PGT callback (in fact the URL of the
+ * current request without any CGI parameter). Written and read by
+ * CASClient::getCallbackURL().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_callback_url = '';
+
+ /**
+ * This method returns the URL that should be used for the PGT callback (in
+ * fact the URL of the current request without any CGI parameter, except if
+ * phpCAS::setFixedCallbackURL() was used).
+ *
+ * @return The callback URL
+ *
+ * @private
+ */
+ function getCallbackURL()
+ {
+ // the URL is built when needed only
+ if ( empty($this->_callback_url) ) {
+ $final_uri = '';
+ // remove the ticket if present in the URL
+ $final_uri = 'https://';
+ /* replaced by Julien Marchal - v0.4.6
+ * $this->uri .= $_SERVER['SERVER_NAME'];
+ */
+ if(empty($_SERVER['HTTP_X_FORWARDED_SERVER'])){
+ /* replaced by teedog - v0.4.12
+ * $final_uri .= $_SERVER['SERVER_NAME'];
+ */
+ if (empty($_SERVER['SERVER_NAME'])) {
+ $final_uri .= $_SERVER['HTTP_HOST'];
+ } else {
+ $final_uri .= $_SERVER['SERVER_NAME'];
+ }
+ } else {
+ $final_uri .= $_SERVER['HTTP_X_FORWARDED_SERVER'];
+ }
+ if ( ($this->isHttps() && $_SERVER['SERVER_PORT']!=443)
+ || (!$this->isHttps() && $_SERVER['SERVER_PORT']!=80) ) {
+ $final_uri .= ':';
+ $final_uri .= $_SERVER['SERVER_PORT'];
+ }
+ $request_uri = $_SERVER['REQUEST_URI'];
+ $request_uri = preg_replace('/\?.*$/','',$request_uri);
+ $final_uri .= $request_uri;
+ $this->setCallbackURL($final_uri);
+ }
+ return $this->_callback_url;
+ }
+
+ /**
+ * This method sets the callback url.
+ *
+ * @param $callback_url url to set callback
+ *
+ * @private
+ */
+ function setCallbackURL($url)
+ {
+ return $this->_callback_url = $url;
+ }
+
+ /**
+ * This method is called by CASClient::CASClient() when running in callback
+ * mode. It stores the PGT and its PGT Iou, prints its output and halts.
+ *
+ * @private
+ */
+ function callback()
+ {
+ phpCAS::traceBegin();
+ $this->printHTMLHeader('phpCAS callback');
+ $pgt_iou = $_GET['pgtIou'];
+ $pgt = $_GET['pgtId'];
+ phpCAS::trace('Storing PGT `'.$pgt.'\' (id=`'.$pgt_iou.'\')');
+ echo '<p>Storing PGT `'.$pgt.'\' (id=`'.$pgt_iou.'\').</p>';
+ $this->storePGT($pgt,$pgt_iou);
+ $this->printHTMLFooter();
+ phpCAS::traceExit();
+ }
+
+ /** @} */
+
+ // ########################################################################
+ // PGT STORAGE
+ // ########################################################################
+ /**
+ * @addtogroup internalPGTStorage
+ * @{
+ */
+
+ /**
+ * an instance of a class inheriting of PGTStorage, used to deal with PGT
+ * storage. Created by CASClient::setPGTStorageFile() or CASClient::setPGTStorageDB(), used
+ * by CASClient::setPGTStorageFile(), CASClient::setPGTStorageDB() and CASClient::initPGTStorage().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_pgt_storage = null;
+
+ /**
+ * This method is used to initialize the storage of PGT's.
+ * Halts on error.
+ *
+ * @private
+ */
+ function initPGTStorage()
+ {
+ // if no SetPGTStorageXxx() has been used, default to file
+ if ( !is_object($this->_pgt_storage) ) {
+ $this->setPGTStorageFile();
+ }
+
+ // initializes the storage
+ $this->_pgt_storage->init();
+ }
+
+ /**
+ * This method stores a PGT. Halts on error.
+ *
+ * @param $pgt the PGT to store
+ * @param $pgt_iou its corresponding Iou
+ *
+ * @private
+ */
+ function storePGT($pgt,$pgt_iou)
+ {
+ // ensure that storage is initialized
+ $this->initPGTStorage();
+ // writes the PGT
+ $this->_pgt_storage->write($pgt,$pgt_iou);
+ }
+
+ /**
+ * This method reads a PGT from its Iou and deletes the corresponding storage entry.
+ *
+ * @param $pgt_iou the PGT Iou
+ *
+ * @return The PGT corresponding to the Iou, FALSE when not found.
+ *
+ * @private
+ */
+ function loadPGT($pgt_iou)
+ {
+ // ensure that storage is initialized
+ $this->initPGTStorage();
+ // read the PGT
+ return $this->_pgt_storage->read($pgt_iou);
+ }
+
+ /**
+ * This method is used to tell phpCAS to store the response of the
+ * CAS server to PGT requests onto the filesystem.
+ *
+ * @param $format the format used to store the PGT's (`plain' and `xml' allowed)
+ * @param $path the path where the PGT's should be stored
+ *
+ * @public
+ */
+ function setPGTStorageFile($format='',
+ $path='')
+ {
+ // check that the storage has not already been set
+ if ( is_object($this->_pgt_storage) ) {
+ phpCAS::error('PGT storage already defined');
+ }
+
+ // create the storage object
+ $this->_pgt_storage = &new PGTStorageFile($this,$format,$path);
+ }
+
+ /**
+ * This method is used to tell phpCAS to store the response of the
+ * CAS server to PGT requests into a database.
+ * @note The connection to the database is done only when needed.
+ * As a consequence, bad parameters are detected only when
+ * initializing PGT storage.
+ *
+ * @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 setPGTStorageDB($user,
+ $password,
+ $database_type,
+ $hostname,
+ $port,
+ $database,
+ $table)
+ {
+ // check that the storage has not already been set
+ if ( is_object($this->_pgt_storage) ) {
+ phpCAS::error('PGT storage already defined');
+ }
+
+ // warn the user that he should use file storage...
+ trigger_error('PGT storage into database is an experimental feature, use at your own risk',E_USER_WARNING);
+
+ // create the storage object
+ $this->_pgt_storage = & new PGTStorageDB($this,$user,$password,$database_type,$hostname,$port,$database,$table);
+ }
+
+ // ########################################################################
+ // PGT VALIDATION
+ // ########################################################################
+ /**
+ * This method is used to validate a PGT; halt on failure.
+ *
+ * @param $validate_url the URL of the request to the CAS server.
+ * @param $text_response the response of the CAS server, as is (XML text); result
+ * of CASClient::validateST() or CASClient::validatePT().
+ * @param $tree_response the response of the CAS server, as a DOM XML tree; result
+ * of CASClient::validateST() or CASClient::validatePT().
+ *
+ * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
+ *
+ * @private
+ */
+ function validatePGT(&$validate_url,$text_response,$tree_response)
+ {
+ phpCAS::traceBegin();
+ if ( sizeof($arr = $tree_response->get_elements_by_tagname("proxyGrantingTicket")) == 0) {
+ phpCAS::trace('<proxyGrantingTicket> not found');
+ // authentication succeded, but no PGT Iou was transmitted
+ $this->authError('Ticket validated but no PGT Iou transmitted',
+ $validate_url,
+ FALSE/*$no_response*/,
+ FALSE/*$bad_response*/,
+ $text_response);
+ } else {
+ // PGT Iou transmitted, extract it
+ $pgt_iou = trim($arr[0]->get_content());
+ $pgt = $this->loadPGT($pgt_iou);
+ if ( $pgt == FALSE ) {
+ phpCAS::trace('could not load PGT');
+ $this->authError('PGT Iou was transmitted but PGT could not be retrieved',
+ $validate_url,
+ FALSE/*$no_response*/,
+ FALSE/*$bad_response*/,
+ $text_response);
+ }
+ $this->setPGT($pgt);
+ }
+ phpCAS::traceEnd(TRUE);
+ return TRUE;
+ }
+
+ // ########################################################################
+ // PGT VALIDATION
+ // ########################################################################
+
+ /**
+ * This method is used to retrieve PT's from the CAS server thanks to a PGT.
+ *
+ * @param $target_service the service to ask for with the PT.
+ * @param $err_code an error code (PHPCAS_SERVICE_OK on success).
+ * @param $err_msg an error message (empty on success).
+ *
+ * @return a Proxy Ticket, or FALSE on error.
+ *
+ * @private
+ */
+ function retrievePT($target_service,&$err_code,&$err_msg)
+ {
+ phpCAS::traceBegin();
+
+ // by default, $err_msg is set empty and $pt to TRUE. On error, $pt is
+ // set to false and $err_msg to an error message. At the end, if $pt is FALSE
+ // and $error_msg is still empty, it is set to 'invalid response' (the most
+ // commonly encountered error).
+ $err_msg = '';
+
+ // build the URL to retrieve the PT
+ // $cas_url = $this->getServerProxyURL().'?targetService='.preg_replace('/&/','%26',$target_service).'&pgt='.$this->getPGT();
+ $cas_url = $this->getServerProxyURL().'?targetService='.urlencode($target_service).'&pgt='.$this->getPGT();
+
+ // open and read the URL
+ if ( !$this->readURL($cas_url,''/*cookies*/,$headers,$cas_response,$err_msg) ) {
+ phpCAS::trace('could not open URL \''.$cas_url.'\' to validate ('.$err_msg.')');
+ $err_code = PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE;
+ $err_msg = 'could not retrieve PT (no response from the CAS server)';
+ phpCAS::traceEnd(FALSE);
+ return FALSE;
+ }
+
+ $bad_response = FALSE;
+
+ if ( !$bad_response ) {
+ // read the response of the CAS server into a DOM object
+ if ( !($dom = @domxml_open_mem($cas_response))) {
+ phpCAS::trace('domxml_open_mem() failed');
+ // read failed
+ $bad_response = TRUE;
+ }
+ }
+
+ if ( !$bad_response ) {
+ // read the root node of the XML tree
+ if ( !($root = $dom->document_element()) ) {
+ phpCAS::trace('document_element() failed');
+ // read failed
+ $bad_response = TRUE;
+ }
+ }
+
+ if ( !$bad_response ) {
+ // insure that tag name is 'serviceResponse'
+ if ( $root->node_name() != 'serviceResponse' ) {
+ phpCAS::trace('node_name() failed');
+ // bad root node
+ $bad_response = TRUE;
+ }
+ }
+
+ if ( !$bad_response ) {
+ // look for a proxySuccess tag
+ if ( sizeof($arr = $root->get_elements_by_tagname("proxySuccess")) != 0) {
+ // authentication succeded, look for a proxyTicket tag
+ if ( sizeof($arr = $root->get_elements_by_tagname("proxyTicket")) != 0) {
+ $err_code = PHPCAS_SERVICE_OK;
+ $err_msg = '';
+ phpCAS::trace('original PT: '.trim($arr[0]->get_content()));
+ $pt = trim($arr[0]->get_content());
+ phpCAS::traceEnd($pt);
+ return $pt;
+ } else {
+ phpCAS::trace('<proxySuccess> was found, but not <proxyTicket>');
+ }
+ }
+ // look for a proxyFailure tag
+ else if ( sizeof($arr = $root->get_elements_by_tagname("proxyFailure")) != 0) {
+ // authentication failed, extract the error
+ $err_code = PHPCAS_SERVICE_PT_FAILURE;
+ $err_msg = 'PT retrieving failed (code=`'
+ .$arr[0]->get_attribute('code')
+ .'\', message=`'
+ .trim($arr[0]->get_content())
+ .'\')';
+ phpCAS::traceEnd(FALSE);
+ return FALSE;
+ } else {
+ phpCAS::trace('neither <proxySuccess> nor <proxyFailure> found');
+ }
+ }
+
+ // at this step, we are sure that the response of the CAS server was ill-formed
+ $err_code = PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE;
+ $err_msg = 'Invalid response from the CAS server (response=`'.$cas_response.'\')';
+
+ phpCAS::traceEnd(FALSE);
+ return FALSE;
+ }
+
+ // ########################################################################
+ // ACCESS TO EXTERNAL SERVICES
+ // ########################################################################
+
+ /**
+ * This method is used to acces a remote URL.
+ *
+ * @param $url the URL to access.
+ * @param $cookies an array containing cookies strings such as 'name=val'
+ * @param $headers an array containing the HTTP header lines of the response
+ * (an empty array on failure).
+ * @param $body the body of the response, as a string (empty on failure).
+ * @param $err_msg an error message, filled on failure.
+ *
+ * @return TRUE on success, FALSE otherwise (in this later case, $err_msg
+ * contains an error message).
+ *
+ * @private
+ */
+ function readURL($url,$cookies,&$headers,&$body,&$err_msg)
+ {
+ phpCAS::traceBegin();
+ $headers = '';
+ $body = '';
+ $err_msg = '';
+
+ $res = TRUE;
+
+ // initialize the CURL session
+ $ch = curl_init($url);
+
+ if (version_compare(PHP_VERSION,'5.1.3','>=')) {
+ //only avaible in php5
+ curl_setopt_array($ch, $this->_curl_options);
+ } else {
+ foreach ($this->_curl_options as $key => $value) {
+ curl_setopt($ch, $key, $value);
+ }
+ }
+
+ if ($this->_cas_server_cert == '' && $this->_cas_server_ca_cert == '' && !$this->_no_cas_server_validation) {
+ phpCAS::error('one of the methods phpCAS::setCasServerCert(), phpCAS::setCasServerCACert() or phpCAS::setNoCasServerValidation() must be called.');
+ }
+ if ($this->_cas_server_cert != '' ) {
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
+ curl_setopt($ch, CURLOPT_SSLCERT, $this->_cas_server_cert);
+ } else if ($this->_cas_server_ca_cert != '') {
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
+ curl_setopt($ch, CURLOPT_CAINFO, $this->_cas_server_ca_cert);
+ } else {
+ curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
+ }
+
+ // return the CURL output into a variable
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ // get the HTTP header with a callback
+ $this->_curl_headers = array(); // empty the headers array
+ curl_setopt($ch, CURLOPT_HEADERFUNCTION, array($this, '_curl_read_headers'));
+ // add cookies headers
+ if ( is_array($cookies) ) {
+ curl_setopt($ch,CURLOPT_COOKIE,implode(';',$cookies));
+ }
+ // perform the query
+ $buf = curl_exec ($ch);
+ if ( $buf === FALSE ) {
+ phpCAS::trace('curl_exec() failed');
+ $err_msg = 'CURL error #'.curl_errno($ch).': '.curl_error($ch);
+ // close the CURL session
+ curl_close ($ch);
+ $res = FALSE;
+ } else {
+ // close the CURL session
+ curl_close ($ch);
+
+ $headers = $this->_curl_headers;
+ $body = $buf;
+ }
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * This method is the callback used by readURL method to request HTTP headers.
+ */
+ var $_curl_headers = array();
+ function _curl_read_headers($ch, $header)
+ {
+ $this->_curl_headers[] = $header;
+ return strlen($header);
+ }
+
+ /**
+ * This method is used to access an HTTP[S] service.
+ *
+ * @param $url the service to access.
+ * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
+ * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
+ * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
+ * @param $output the output of the service (also used to give an error
+ * message on failure).
+ *
+ * @return TRUE on success, FALSE otherwise (in this later case, $err_code
+ * gives the reason why it failed and $output contains an error message).
+ *
+ * @public
+ */
+ function serviceWeb($url,&$err_code,&$output)
+ {
+ phpCAS::traceBegin();
+ // at first retrieve a PT
+ $pt = $this->retrievePT($url,$err_code,$output);
+
+ $res = TRUE;
+
+ // test if PT was retrieved correctly
+ if ( !$pt ) {
+ // note: $err_code and $err_msg are filled by CASClient::retrievePT()
+ phpCAS::trace('PT was not retrieved correctly');
+ $res = FALSE;
+ } else {
+ // add cookies if necessary
+ if ( is_array($_SESSION['phpCAS']['services'][$url]['cookies']) ) {
+ foreach ( $_SESSION['phpCAS']['services'][$url]['cookies'] as $name => $val ) {
+ $cookies[] = $name.'='.$val;
+ }
+ }
+
+ // build the URL including the PT
+ if ( strstr($url,'?') === FALSE ) {
+ $service_url = $url.'?ticket='.$pt;
+ } else {
+ $service_url = $url.'&ticket='.$pt;
+ }
+
+ phpCAS::trace('reading URL`'.$service_url.'\'');
+ if ( !$this->readURL($service_url,$cookies,$headers,$output,$err_msg) ) {
+ phpCAS::trace('could not read URL`'.$service_url.'\'');
+ $err_code = PHPCAS_SERVICE_NOT_AVAILABLE;
+ // give an error message
+ $output = sprintf($this->getString(CAS_STR_SERVICE_UNAVAILABLE),
+ $service_url,
+ $err_msg);
+ $res = FALSE;
+ } else {
+ // URL has been fetched, extract the cookies
+ phpCAS::trace('URL`'.$service_url.'\' has been read, storing cookies:');
+ foreach ( $headers as $header ) {
+ // test if the header is a cookie
+ if ( preg_match('/^Set-Cookie:/',$header) ) {
+ // the header is a cookie, remove the beginning
+ $header_val = preg_replace('/^Set-Cookie: */','',$header);
+ // extract interesting information
+ $name_val = strtok($header_val,'; ');
+ // extract the name and the value of the cookie
+ $cookie_name = strtok($name_val,'=');
+ $cookie_val = strtok('=');
+ // store the cookie
+ $_SESSION['phpCAS']['services'][$url]['cookies'][$cookie_name] = $cookie_val;
+ phpCAS::trace($cookie_name.' -> '.$cookie_val);
+ }
+ }
+ }
+ }
+
+ phpCAS::traceEnd($res);
+ return $res;
+ }
+
+ /**
+ * This method is used to access an IMAP/POP3/NNTP service.
+ *
+ * @param $url a string giving the URL of the service, including the mailing box
+ * for IMAP URLs, as accepted by imap_open().
+ * @param $flags options given to imap_open().
+ * @param $err_code an error code Possible values are PHPCAS_SERVICE_OK (on
+ * success), PHPCAS_SERVICE_PT_NO_SERVER_RESPONSE, PHPCAS_SERVICE_PT_BAD_SERVER_RESPONSE,
+ * PHPCAS_SERVICE_PT_FAILURE, PHPCAS_SERVICE_NOT AVAILABLE.
+ * @param $err_msg an error message on failure
+ * @param $pt the Proxy Ticket (PT) retrieved from the CAS server to access the URL
+ * on success, FALSE on error).
+ *
+ * @return an IMAP stream on success, FALSE otherwise (in this later case, $err_code
+ * gives the reason why it failed and $err_msg contains an error message).
+ *
+ * @public
+ */
+ function serviceMail($url,$flags,&$err_code,&$err_msg,&$pt)
+ {
+ phpCAS::traceBegin();
+ // at first retrieve a PT
+ $pt = $this->retrievePT($target_service,$err_code,$output);
+
+ $stream = FALSE;
+
+ // test if PT was retrieved correctly
+ if ( !$pt ) {
+ // note: $err_code and $err_msg are filled by CASClient::retrievePT()
+ phpCAS::trace('PT was not retrieved correctly');
+ } else {
+ phpCAS::trace('opening IMAP URL `'.$url.'\'...');
+ $stream = @imap_open($url,$this->getUser(),$pt,$flags);
+ if ( !$stream ) {
+ phpCAS::trace('could not open URL');
+ $err_code = PHPCAS_SERVICE_NOT_AVAILABLE;
+ // give an error message
+ $err_msg = sprintf($this->getString(CAS_STR_SERVICE_UNAVAILABLE),
+ $service_url,
+ var_export(imap_errors(),TRUE));
+ $pt = FALSE;
+ $stream = FALSE;
+ } else {
+ phpCAS::trace('ok');
+ }
+ }
+
+ phpCAS::traceEnd($stream);
+ return $stream;
+ }
+
+ /** @} */
+
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ // XX XX
+ // XX PROXIED CLIENT FEATURES (CAS 2.0) XX
+ // XX XX
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ // ########################################################################
+ // PT
+ // ########################################################################
+ /**
+ * @addtogroup internalProxied
+ * @{
+ */
+
+ /**
+ * the Proxy Ticket provided in the URL of the request if present
+ * (empty otherwise). Written by CASClient::CASClient(), read by
+ * CASClient::getPT() and CASClient::hasPGT().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_pt = '';
+
+ /**
+ * This method returns the Proxy Ticket provided in the URL of the request.
+ * @return The proxy ticket.
+ * @private
+ */
+ function getPT()
+ {
+ // return 'ST'.substr($this->_pt, 2);
+ return $this->_pt;
+ }
+
+ /**
+ * This method stores the Proxy Ticket.
+ * @param $pt The Proxy Ticket.
+ * @private
+ */
+ function setPT($pt)
+ { $this->_pt = $pt; }
+
+ /**
+ * This method tells if a Proxy Ticket was stored.
+ * @return TRUE if a Proxy Ticket has been stored.
+ * @private
+ */
+ function hasPT()
+ { return !empty($this->_pt); }
+
+ /** @} */
+ // ########################################################################
+ // PT VALIDATION
+ // ########################################################################
+ /**
+ * @addtogroup internalProxied
+ * @{
+ */
+
+ /**
+ * This method is used to validate a PT; halt on failure
+ *
+ * @return bool TRUE when successfull, halt otherwise by calling CASClient::authError().
+ *
+ * @private
+ */
+ function validatePT(&$validate_url,&$text_response,&$tree_response)
+ {
+ phpCAS::traceBegin();
+ // build the URL to validate the ticket
+ $validate_url = $this->getServerProxyValidateURL().'&ticket='.$this->getPT();
+
+ if ( $this->isProxy() ) {
+ // pass the callback url for CAS proxies
+ $validate_url .= '&pgtUrl='.$this->getCallbackURL();
+ }
+
+ // open and read the URL
+ if ( !$this->readURL($validate_url,''/*cookies*/,$headers,$text_response,$err_msg) ) {
+ phpCAS::trace('could not open URL \''.$validate_url.'\' to validate ('.$err_msg.')');
+ $this->authError('PT not validated',
+ $validate_url,
+ TRUE/*$no_response*/);
+ }
+
+ // read the response of the CAS server into a DOM object
+ if ( !($dom = domxml_open_mem($text_response))) {
+ // read failed
+ $this->authError('PT not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // read the root node of the XML tree
+ if ( !($tree_response = $dom->document_element()) ) {
+ // read failed
+ $this->authError('PT not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ // insure that tag name is 'serviceResponse'
+ if ( $tree_response->node_name() != 'serviceResponse' ) {
+ // bad root node
+ $this->authError('PT not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationSuccess")) != 0) {
+ // authentication succeded, extract the user name
+ if ( sizeof($arr = $tree_response->get_elements_by_tagname("user")) == 0) {
+ // no user specified => error
+ $this->authError('PT not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+ $this->setUser(trim($arr[0]->get_content()));
+
+ } else if ( sizeof($arr = $tree_response->get_elements_by_tagname("authenticationFailure")) != 0) {
+ // authentication succeded, extract the error code and message
+ $this->authError('PT not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ FALSE/*$bad_response*/,
+ $text_response,
+ $arr[0]->get_attribute('code')/*$err_code*/,
+ trim($arr[0]->get_content())/*$err_msg*/);
+ } else {
+ $this->authError('PT not validated',
+ $validate_url,
+ FALSE/*$no_response*/,
+ TRUE/*$bad_response*/,
+ $text_response);
+ }
+
+ // at this step, PT has been validated and $this->_user has been set,
+
+ phpCAS::traceEnd(TRUE);
+ return TRUE;
+ }
+
+ /** @} */
+
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ // XX XX
+ // XX MISC XX
+ // XX XX
+ // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
+ /**
+ * @addtogroup internalMisc
+ * @{
+ */
+
+ // ########################################################################
+ // URL
+ // ########################################################################
+ /**
+ * the URL of the current request (without any ticket CGI parameter). Written
+ * and read by CASClient::getURL().
+ *
+ * @hideinitializer
+ * @private
+ */
+ var $_url = '';
+
+ /**
+ * This method returns the URL of the current request (without any ticket
+ * CGI parameter).
+ *
+ * @return The URL
+ *
+ * @private
+ */
+ function getURL()
+ {
+ phpCAS::traceBegin();
+ // the URL is built when needed only
+ if ( empty($this->_url) ) {
+ $final_uri = '';
+ // remove the ticket if present in the URL
+ $final_uri = ($this->isHttps()) ? 'https' : 'http';
+ $final_uri .= '://';
+ /* replaced by Julien Marchal - v0.4.6
+ * $this->_url .= $_SERVER['SERVER_NAME'];
+ */
+ if(empty($_SERVER['HTTP_X_FORWARDED_SERVER'])){
+ /* replaced by teedog - v0.4.12
+ * $this->_url .= $_SERVER['SERVER_NAME'];
+ */
+ if (empty($_SERVER['SERVER_NAME'])) {
+ $server_name = $_SERVER['HTTP_HOST'];
+ } else {
+ $server_name = $_SERVER['SERVER_NAME'];
+ }
+ } else {
+ $server_name = $_SERVER['HTTP_X_FORWARDED_SERVER'];
+ }
+ $final_uri .= $server_name;
+ if (!strpos($server_name, ':')) {
+ if ( ($this->isHttps() && $_SERVER['SERVER_PORT']!=443)
+ || (!$this->isHttps() && $_SERVER['SERVER_PORT']!=80) ) {
+ $final_uri .= ':';
+ $final_uri .= $_SERVER['SERVER_PORT'];
+ }
+ }
+
+ $final_uri .= strtok($_SERVER['REQUEST_URI'],"?");
+ $cgi_params = '?'.strtok("?");
+ // remove the ticket if present in the CGI parameters
+ $cgi_params = preg_replace('/&ticket=[^&]*/','',$cgi_params);
+ $cgi_params = preg_replace('/\?ticket=[^&;]*/','?',$cgi_params);
+ $cgi_params = preg_replace('/\?%26/','?',$cgi_params);
+ $cgi_params = preg_replace('/\?&/','?',$cgi_params);
+ $cgi_params = preg_replace('/\?$/','',$cgi_params);
+ $final_uri .= $cgi_params;
+ $this->setURL($final_uri);
+ }
+ phpCAS::traceEnd($this->_url);
+ return $this->_url;
+ }
+
+ /**
+ * This method sets the URL of the current request
+ *
+ * @param $url url to set for service
+ *
+ * @private
+ */
+ function setURL($url)
+ {
+ $this->_url = $url;
+ }
+
+ // ########################################################################
+ // AUTHENTICATION ERROR HANDLING
+ // ########################################################################
+ /**
+ * This method is used to print the HTML output when the user was not authenticated.
+ *
+ * @param $failure the failure that occured
+ * @param $cas_url the URL the CAS server was asked for
+ * @param $no_response the response from the CAS server (other
+ * parameters are ignored if TRUE)
+ * @param $bad_response bad response from the CAS server ($err_code
+ * and $err_msg ignored if TRUE)
+ * @param $cas_response the response of the CAS server
+ * @param $err_code the error code given by the CAS server
+ * @param $err_msg the error message given by the CAS server
+ *
+ * @private
+ */
+ function authError($failure,$cas_url,$no_response,$bad_response='',$cas_response='',$err_code='',$err_msg='')
+ {
+ phpCAS::traceBegin();
+
+ $this->printHTMLHeader($this->getString(CAS_STR_AUTHENTICATION_FAILED));
+ printf($this->getString(CAS_STR_YOU_WERE_NOT_AUTHENTICATED),$this->getURL(),$_SERVER['SERVER_ADMIN']);
+ phpCAS::trace('CAS URL: '.$cas_url);
+ phpCAS::trace('Authentication failure: '.$failure);
+ if ( $no_response ) {
+ phpCAS::trace('Reason: no response from the CAS server');
+ } else {
+ if ( $bad_response ) {
+ phpCAS::trace('Reason: bad response from the CAS server');
+ } else {
+ switch ($this->getServerVersion()) {
+ case CAS_VERSION_1_0:
+ phpCAS::trace('Reason: CAS error');
+ break;
+ case CAS_VERSION_2_0:
+ if ( empty($err_code) )
+ phpCAS::trace('Reason: no CAS error');
+ else
+ phpCAS::trace('Reason: ['.$err_code.'] CAS error: '.$err_msg);
+ break;
+ }
+ }
+ phpCAS::trace('CAS response: '.$cas_response);
+ }
+ $this->printHTMLFooter();
+ phpCAS::traceExit();
+ exit();
+ }
+
+ /** @} */
+}
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php b/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
index d64747514..a0dfb99c7 100644
--- a/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
+++ b/plugins/CasAuthentication/extlib/CAS/domxml-php4-php5.php
@@ -1,277 +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();}
- }
-}
+<?php
+/**
+ * @file domxml-php4-php5.php
+ * Require PHP5, uses built-in DOM extension.
+ * To be used in PHP4 scripts using DOMXML extension.
+ * Allows PHP4/DOMXML scripts to run on PHP5/DOM.
+ * (Requires PHP5/XSL extension for domxml_xslt functions)
+ *
+ * Typical use:
+ * <pre>
+ * {
+ * if (version_compare(PHP_VERSION,'5','>='))
+ * require_once('domxml-php4-to-php5.php');
+ * }
+ * </pre>
+ *
+ * Version 1.5.5, 2005-01-18, http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
+ *
+ * ------------------------------------------------------------------<br>
+ * Written by Alexandre Alapetite, http://alexandre.alapetite.net/cv/
+ *
+ * Copyright 2004, Licence: Creative Commons "Attribution-ShareAlike 2.0 France" BY-SA (FR),
+ * http://creativecommons.org/licenses/by-sa/2.0/fr/
+ * http://alexandre.alapetite.net/divers/apropos/#by-sa
+ * - Attribution. You must give the original author credit
+ * - Share Alike. If you alter, transform, or build upon this work,
+ * you may distribute the resulting work only under a license identical to this one
+ * - The French law is authoritative
+ * - Any of these conditions can be waived if you get permission from Alexandre Alapetite
+ * - Please send to Alexandre Alapetite the modifications you make,
+ * in order to improve this file for the benefit of everybody
+ *
+ * If you want to distribute this code, please do it as a link to:
+ * http://alexandre.alapetite.net/doc-alex/domxml-php4-php5/
+ */
+
+function domxml_new_doc($version) {return new php4DOMDocument('');}
+function domxml_open_file($filename) {return new php4DOMDocument($filename);}
+function domxml_open_mem($str)
+{
+ $dom=new php4DOMDocument('');
+ $dom->myDOMNode->loadXML($str);
+ return $dom;
+}
+function xpath_eval($xpath_context,$eval_str,$contextnode=null) {return $xpath_context->query($eval_str,$contextnode);}
+function xpath_new_context($dom_document) {return new php4DOMXPath($dom_document);}
+
+class php4DOMAttr extends php4DOMNode
+{
+ function php4DOMAttr($aDOMAttr) {$this->myDOMNode=$aDOMAttr;}
+ function Name() {return $this->myDOMNode->name;}
+ function Specified() {return $this->myDOMNode->specified;}
+ function Value() {return $this->myDOMNode->value;}
+}
+
+class php4DOMDocument extends php4DOMNode
+{
+ function php4DOMDocument($filename='')
+ {
+ $this->myDOMNode=new DOMDocument();
+ if ($filename!='') $this->myDOMNode->load($filename);
+ }
+ function create_attribute($name,$value)
+ {
+ $myAttr=$this->myDOMNode->createAttribute($name);
+ $myAttr->value=$value;
+ return new php4DOMAttr($myAttr,$this);
+ }
+ function create_cdata_section($content) {return new php4DOMNode($this->myDOMNode->createCDATASection($content),$this);}
+ function create_comment($data) {return new php4DOMNode($this->myDOMNode->createComment($data),$this);}
+ function create_element($name) {return new php4DOMElement($this->myDOMNode->createElement($name),$this);}
+ function create_text_node($content) {return new php4DOMNode($this->myDOMNode->createTextNode($content),$this);}
+ function document_element() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
+ function dump_file($filename,$compressionmode=false,$format=false) {return $this->myDOMNode->save($filename);}
+ function dump_mem($format=false,$encoding=false) {return $this->myDOMNode->saveXML();}
+ function get_element_by_id($id) {return new php4DOMElement($this->myDOMNode->getElementById($id),$this);}
+ function get_elements_by_tagname($name)
+ {
+ $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i))
+ {
+ $nodeSet[]=new php4DOMElement($node,$this);
+ $i++;
+ }
+ return $nodeSet;
+ }
+ function html_dump_mem() {return $this->myDOMNode->saveHTML();}
+ function root() {return new php4DOMElement($this->myDOMNode->documentElement,$this);}
+}
+
+class php4DOMElement extends php4DOMNode
+{
+ function get_attribute($name) {return $this->myDOMNode->getAttribute($name);}
+ function get_elements_by_tagname($name)
+ {
+ $myDOMNodeList=$this->myDOMNode->getElementsByTagName($name);
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i))
+ {
+ $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
+ $i++;
+ }
+ return $nodeSet;
+ }
+ function has_attribute($name) {return $this->myDOMNode->hasAttribute($name);}
+ function remove_attribute($name) {return $this->myDOMNode->removeAttribute($name);}
+ function set_attribute($name,$value) {return $this->myDOMNode->setAttribute($name,$value);}
+ function tagname() {return $this->myDOMNode->tagName;}
+}
+
+class php4DOMNode
+{
+ var $myDOMNode;
+ var $myOwnerDocument;
+ function php4DOMNode($aDomNode,$aOwnerDocument)
+ {
+ $this->myDOMNode=$aDomNode;
+ $this->myOwnerDocument=$aOwnerDocument;
+ }
+ function __get($name)
+ {
+ if ($name=='type') return $this->myDOMNode->nodeType;
+ elseif ($name=='tagname') return $this->myDOMNode->tagName;
+ elseif ($name=='content') return $this->myDOMNode->textContent;
+ else
+ {
+ $myErrors=debug_backtrace();
+ trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);
+ return false;
+ }
+ }
+ function append_child($newnode) {return new php4DOMElement($this->myDOMNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
+ function append_sibling($newnode) {return new php4DOMElement($this->myDOMNode->parentNode->appendChild($newnode->myDOMNode),$this->myOwnerDocument);}
+ function attributes()
+ {
+ $myDOMNodeList=$this->myDOMNode->attributes;
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i))
+ {
+ $nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);
+ $i++;
+ }
+ return $nodeSet;
+ }
+ function child_nodes()
+ {
+ $myDOMNodeList=$this->myDOMNode->childNodes;
+ $nodeSet=array();
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i))
+ {
+ $nodeSet[]=new php4DOMElement($node,$this->myOwnerDocument);
+ $i++;
+ }
+ return $nodeSet;
+ }
+ function children() {return $this->child_nodes();}
+ function clone_node($deep=false) {return new php4DOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}
+ function first_child() {return new php4DOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}
+ function get_content() {return $this->myDOMNode->textContent;}
+ function has_attributes() {return $this->myDOMNode->hasAttributes();}
+ function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}
+ function insert_before($newnode,$refnode) {return new php4DOMElement($this->myDOMNode->insertBefore($newnode->myDOMNode,$refnode->myDOMNode),$this->myOwnerDocument);}
+ function is_blank_node()
+ {
+ $myDOMNodeList=$this->myDOMNode->childNodes;
+ $i=0;
+ if (isset($myDOMNodeList))
+ while ($node=$myDOMNodeList->item($i))
+ {
+ if (($node->nodeType==XML_ELEMENT_NODE)||
+ (($node->nodeType==XML_TEXT_NODE)&&!ereg('^([[:cntrl:]]|[[:space:]])*$',$node->nodeValue)))
+ return false;
+ $i++;
+ }
+ return true;
+ }
+ function last_child() {return new php4DOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}
+ function new_child($name,$content)
+ {
+ $mySubNode=$this->myDOMNode->ownerDocument->createElement($name);
+ $mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($content));
+ $this->myDOMNode->appendChild($mySubNode);
+ return new php4DOMElement($mySubNode,$this->myOwnerDocument);
+ }
+ function next_sibling() {return new php4DOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}
+ function node_name() {return $this->myDOMNode->localName;}
+ function node_type() {return $this->myDOMNode->nodeType;}
+ function node_value() {return $this->myDOMNode->nodeValue;}
+ function owner_document() {return $this->myOwnerDocument;}
+ function parent_node() {return new php4DOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}
+ function prefix() {return $this->myDOMNode->prefix;}
+ function previous_sibling() {return new php4DOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}
+ function remove_child($oldchild) {return new php4DOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}
+ function replace_child($oldnode,$newnode) {return new php4DOMElement($this->myDOMNode->replaceChild($oldnode->myDOMNode,$newnode->myDOMNode),$this->myOwnerDocument);}
+ function set_content($text)
+ {
+ if (($this->myDOMNode->hasChildNodes())&&($this->myDOMNode->firstChild->nodeType==XML_TEXT_NODE))
+ $this->myDOMNode->removeChild($this->myDOMNode->firstChild);
+ return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode($text));
+ }
+}
+
+class php4DOMNodelist
+{
+ var $myDOMNodelist;
+ var $nodeset;
+ function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)
+ {
+ $this->myDOMNodelist=$aDOMNodelist;
+ $this->nodeset=array();
+ $i=0;
+ if (isset($this->myDOMNodelist))
+ while ($node=$this->myDOMNodelist->item($i))
+ {
+ $this->nodeset[]=new php4DOMElement($node,$aOwnerDocument);
+ $i++;
+ }
+ }
+}
+
+class php4DOMXPath
+{
+ var $myDOMXPath;
+ var $myOwnerDocument;
+ function php4DOMXPath($dom_document)
+ {
+ $this->myOwnerDocument=$dom_document;
+ $this->myDOMXPath=new DOMXPath($dom_document->myDOMNode);
+ }
+ function query($eval_str,$contextnode)
+ {
+ if (isset($contextnode)) return new php4DOMNodelist($this->myDOMXPath->query($eval_str,$contextnode->myDOMNode),$this->myOwnerDocument);
+ else return new php4DOMNodelist($this->myDOMXPath->query($eval_str),$this->myOwnerDocument);
+ }
+ function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}
+}
+
+if (extension_loaded('xsl'))
+{//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/
+ function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}
+ function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}
+ function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}
+ class php4DomXsltStylesheet
+ {
+ var $myxsltProcessor;
+ function php4DomXsltStylesheet($dom_document)
+ {
+ $this->myxsltProcessor=new xsltProcessor();
+ $this->myxsltProcessor->importStyleSheet($dom_document);
+ }
+ function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)
+ {
+ foreach ($xslt_parameters as $param=>$value)
+ $this->myxsltProcessor->setParameter('',$param,$value);
+ $myphp4DOMDocument=new php4DOMDocument();
+ $myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);
+ return $myphp4DOMDocument;
+ }
+ function result_dump_file($dom_document,$filename)
+ {
+ $html=$dom_document->myDOMNode->saveHTML();
+ file_put_contents($filename,$html);
+ return $html;
+ }
+ function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}
+ }
+}
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/catalan.php b/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
index 3d67473d9..0b139c7ca 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/catalan.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/spanish.php
- * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'usant servidor',
- CAS_STR_AUTHENTICATION_WANTED
- => 'Autentificació CAS necessària!',
- CAS_STR_LOGOUT
- => 'Sortida de CAS necessària!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'Autentificació CAS fallida!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
-);
-
-?>
+<?php
+
+/**
+ * @file languages/spanish.php
+ * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'usant servidor',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'Autentificació CAS necessària!',
+ CAS_STR_LOGOUT
+ => 'Sortida de CAS necessària!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'Ja hauria d\ haver estat redireccionat al servidor CAS. Feu click <a href="%s">aquí</a> per a continuar.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'Autentificació CAS fallida!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>No estàs autentificat.</p><p>Pots tornar a intentar-ho fent click <a href="%s">aquí</a>.</p><p>Si el problema persisteix hauría de contactar amb l\'<a href="mailto:%s">administrador d\'aquest llocc</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'El servei `<b>%s</b>\' no està disponible (<b>%s</b>).'
+);
+
+?>
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/english.php b/plugins/CasAuthentication/extlib/CAS/languages/english.php
index c14345031..d38d42c1f 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/english.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/english.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/english.php
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'using server',
- CAS_STR_AUTHENTICATION_WANTED
- => 'CAS Authentication wanted!',
- CAS_STR_LOGOUT
- => 'CAS logout wanted!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'CAS Authentication failed!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
-);
-
+<?php
+
+/**
+ * @file languages/english.php
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'using server',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'CAS Authentication wanted!',
+ CAS_STR_LOGOUT
+ => 'CAS logout wanted!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'You should already have been redirected to the CAS server. Click <a href="%s">here</a> to continue.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'CAS Authentication failed!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>You were not authenticated.</p><p>You may submit your request again by clicking <a href="%s">here</a>.</p><p>If the problem persists, you may contact <a href="mailto:%s">the administrator of this site</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'The service `<b>%s</b>\' is not available (<b>%s</b>).'
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/french.php b/plugins/CasAuthentication/extlib/CAS/languages/french.php
index 675a7fc04..32d141685 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/french.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/french.php
@@ -1,28 +1,28 @@
-<?php
-
-/**
- * @file languages/english.php
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'utilisant le serveur',
- CAS_STR_AUTHENTICATION_WANTED
- => 'Authentication CAS ncessaire&nbsp;!',
- CAS_STR_LOGOUT
- => 'Dconnexion demande&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 problme persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
-
-);
-
+<?php
+
+/**
+ * @file languages/english.php
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'utilisant le serveur',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'Authentication CAS ncessaire&nbsp;!',
+ CAS_STR_LOGOUT
+ => 'Dconnexion demande&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 problme persiste, vous pouvez contacter <a href="mailto:%s">l\'administrateur de ce site</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'Le service `<b>%s</b>\' est indisponible (<b>%s</b>)'
+
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/german.php b/plugins/CasAuthentication/extlib/CAS/languages/german.php
index 29daeb35d..55c3238fd 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/german.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/german.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/german.php
- * @author Henrik Genssen <hg at mediafactory.de>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'via Server',
- CAS_STR_AUTHENTICATION_WANTED
- => 'CAS Authentifizierung erforderlich!',
- CAS_STR_LOGOUT
- => 'CAS Abmeldung!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
- CAS_STR_AUTHENTICATION_FAILED
- => 'CAS Anmeldung fehlgeschlagen!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
-);
-
+<?php
+
+/**
+ * @file languages/german.php
+ * @author Henrik Genssen <hg at mediafactory.de>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'via Server',
+ CAS_STR_AUTHENTICATION_WANTED
+ => 'CAS Authentifizierung erforderlich!',
+ CAS_STR_LOGOUT
+ => 'CAS Abmeldung!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'eigentlich h&auml;ten Sie zum CAS Server weitergeleitet werden sollen. Dr&uuml;cken Sie <a href="%s">hier</a> um fortzufahren.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => 'CAS Anmeldung fehlgeschlagen!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>Sie wurden nicht angemeldet.</p><p>Um es erneut zu versuchen klicken Sie <a href="%s">hier</a>.</p><p>Wenn das Problem bestehen bleibt, kontkatieren Sie den <a href="mailto:%s">Administrator</a> dieser Seite.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'Der Dienst `<b>%s</b>\' ist nicht verf&uuml;gbar (<b>%s</b>).'
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/greek.php b/plugins/CasAuthentication/extlib/CAS/languages/greek.php
index c17b1d663..d41bf783b 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/greek.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/greek.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/greek.php
- * @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => ' ',
- CAS_STR_AUTHENTICATION_WANTED
- => ' CAS!',
- CAS_STR_LOGOUT
- => ' CAS!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => ' CAS. <a href="%s"></a> .',
- CAS_STR_AUTHENTICATION_FAILED
- => ' CAS !',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p> .</p><p> , <a href="%s"></a>.</p><p> , <a href="mailto:%s"></a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => ' `<b>%s</b>\' (<b>%s</b>).'
-);
-
+<?php
+
+/**
+ * @file languages/greek.php
+ * @author Vangelis Haniotakis <haniotak at ucnet.uoc.gr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => ' ',
+ CAS_STR_AUTHENTICATION_WANTED
+ => ' CAS!',
+ CAS_STR_LOGOUT
+ => ' CAS!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => ' CAS. <a href="%s"></a> .',
+ CAS_STR_AUTHENTICATION_FAILED
+ => ' CAS !',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p> .</p><p> , <a href="%s"></a>.</p><p> , <a href="mailto:%s"></a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => ' `<b>%s</b>\' (<b>%s</b>).'
+);
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/languages.php b/plugins/CasAuthentication/extlib/CAS/languages/languages.php
index 2c6f8bb3b..001cfe445 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/languages.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/languages.php
@@ -1,24 +1,24 @@
-<?php
-
-/**
- * @file languages/languages.php
- * Internationalization constants
- * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-//@{
-/**
- * a phpCAS string index
- */
-define("CAS_STR_USING_SERVER", 1);
-define("CAS_STR_AUTHENTICATION_WANTED", 2);
-define("CAS_STR_LOGOUT", 3);
-define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
-define("CAS_STR_AUTHENTICATION_FAILED", 5);
-define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
-define("CAS_STR_SERVICE_UNAVAILABLE", 7);
-//@}
-
+<?php
+
+/**
+ * @file languages/languages.php
+ * Internationalization constants
+ * @author Pascal Aubry <pascal.aubry at univ-rennes1.fr>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+//@{
+/**
+ * a phpCAS string index
+ */
+define("CAS_STR_USING_SERVER", 1);
+define("CAS_STR_AUTHENTICATION_WANTED", 2);
+define("CAS_STR_LOGOUT", 3);
+define("CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED", 4);
+define("CAS_STR_AUTHENTICATION_FAILED", 5);
+define("CAS_STR_YOU_WERE_NOT_AUTHENTICATED", 6);
+define("CAS_STR_SERVICE_UNAVAILABLE", 7);
+//@}
+
?> \ No newline at end of file
diff --git a/plugins/CasAuthentication/extlib/CAS/languages/spanish.php b/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
index 3a8ffc253..04067ca03 100644
--- a/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
+++ b/plugins/CasAuthentication/extlib/CAS/languages/spanish.php
@@ -1,27 +1,27 @@
-<?php
-
-/**
- * @file languages/spanish.php
- * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
- * @sa @link internalLang Internationalization @endlink
- * @ingroup internalLang
- */
-
-$this->_strings = array(
- CAS_STR_USING_SERVER
- => 'usando servidor',
- CAS_STR_AUTHENTICATION_WANTED
- => '¡Autentificación CAS necesaria!',
- CAS_STR_LOGOUT
- => '¡Salida CAS necesaria!',
- CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
- => 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
- CAS_STR_AUTHENTICATION_FAILED
- => '¡Autentificación CAS fallida!',
- CAS_STR_YOU_WERE_NOT_AUTHENTICATED
- => '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
- CAS_STR_SERVICE_UNAVAILABLE
- => 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
-);
-
-?>
+<?php
+
+/**
+ * @file languages/spanish.php
+ * @author Iván-Benjamín García Torà <ivaniclixx AT gmail DOT com>
+ * @sa @link internalLang Internationalization @endlink
+ * @ingroup internalLang
+ */
+
+$this->_strings = array(
+ CAS_STR_USING_SERVER
+ => 'usando servidor',
+ CAS_STR_AUTHENTICATION_WANTED
+ => '¡Autentificación CAS necesaria!',
+ CAS_STR_LOGOUT
+ => '¡Salida CAS necesaria!',
+ CAS_STR_SHOULD_HAVE_BEEN_REDIRECTED
+ => 'Ya debería haber sido redireccionado al servidor CAS. Haga click <a href="%s">aquí</a> para continuar.',
+ CAS_STR_AUTHENTICATION_FAILED
+ => '¡Autentificación CAS fallida!',
+ CAS_STR_YOU_WERE_NOT_AUTHENTICATED
+ => '<p>No estás autentificado.</p><p>Puedes volver a intentarlo haciendo click <a href="%s">aquí</a>.</p><p>Si el problema persiste debería contactar con el <a href="mailto:%s">administrador de este sitio</a>.</p>',
+ CAS_STR_SERVICE_UNAVAILABLE
+ => 'El servicio `<b>%s</b>\' no está disponible (<b>%s</b>).'
+);
+
+?>