diff options
author | Brion Vibber <brion@pobox.com> | 2010-12-07 10:50:05 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-12-07 10:50:05 -0800 |
commit | 9df856e667a12cd217576263efbc72fff12692d9 (patch) | |
tree | dc8d588e8b01d1ec788c78d6aec10a9b9d26bec6 /plugins | |
parent | 01f32e3998b8d031d2a39e2d0506253142b6632e (diff) | |
parent | 4b4b763255ad3b2bff8f18da2bd3927b52a54e55 (diff) |
Merge branch '0.9.x' into merge
Conflicts:
README
actions/hostmeta.php
classes/File_redirection.php
lib/common.php
lib/designsettings.php
lib/router.php
lib/util.php
lib/xmppmanager.php
plugins/OStatus/OStatusPlugin.php
Diffstat (limited to 'plugins')
270 files changed, 20115 insertions, 1587 deletions
diff --git a/plugins/APC/locale/be-tarask/LC_MESSAGES/APC.po b/plugins/APC/locale/be-tarask/LC_MESSAGES/APC.po new file mode 100644 index 000000000..2013872f3 --- /dev/null +++ b/plugins/APC/locale/be-tarask/LC_MESSAGES/APC.po @@ -0,0 +1,31 @@ +# Translation of StatusNet - APC to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - APC\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:00+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:51+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-apc\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: APCPlugin.php:115 +msgid "" +"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache " +"to cache query results." +msgstr "" +"Выкарыстоўваць кэш зьменных <a href=\"http://pecl.php.net/package/apc\">APC</" +"a> для захаваньня вынікаў запытаў." diff --git a/plugins/Adsense/AdsensePlugin.php b/plugins/Adsense/AdsensePlugin.php index 3d733e150..1965f95ea 100644 --- a/plugins/Adsense/AdsensePlugin.php +++ b/plugins/Adsense/AdsensePlugin.php @@ -206,7 +206,7 @@ class AdsensePlugin extends UAPPlugin 'author' => 'Evan Prodromou', 'homepage' => 'http://status.net/wiki/Plugin:Adsense', 'rawdescription' => - _m('Plugin to add Google Adsense to StatusNet sites.')); + _m('Plugin to add Google AdSense to StatusNet sites.')); return true; } } diff --git a/plugins/Adsense/locale/Adsense.pot b/plugins/Adsense/locale/Adsense.pot index 2f5e4af2f..77db7e7d8 100644 --- a/plugins/Adsense/locale/Adsense.pot +++ b/plugins/Adsense/locale/Adsense.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-07 20: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" @@ -27,7 +27,7 @@ msgid "AdSense" msgstr "" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "" #: adsenseadminpanel.php:52 diff --git a/plugins/Adsense/locale/be-tarask/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/be-tarask/LC_MESSAGES/Adsense.po new file mode 100644 index 000000000..ebd54ad15 --- /dev/null +++ b/plugins/Adsense/locale/be-tarask/LC_MESSAGES/Adsense.po @@ -0,0 +1,103 @@ +# Translation of StatusNet - Adsense to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# Author: Jim-by +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Adsense\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-adsense\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Menu item title/tooltip +#: AdsensePlugin.php:194 +msgid "AdSense configuration" +msgstr "Устаноўкі AdSense" + +#. TRANS: Menu item for site administration +#: AdsensePlugin.php:196 +msgid "AdSense" +msgstr "AdSense" + +#: AdsensePlugin.php:209 +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Дапаўненьне для даданьня Google AdSense на сайты StatusNet." + +#: adsenseadminpanel.php:52 +msgctxt "TITLE" +msgid "AdSense" +msgstr "AdSense" + +#: adsenseadminpanel.php:62 +msgid "AdSense settings for this StatusNet site" +msgstr "Устаноўкі AdSense для гэтага сайта StatusNet" + +#: adsenseadminpanel.php:164 +msgid "Client ID" +msgstr "Ідэнтыфікатар кліента" + +#: adsenseadminpanel.php:165 +msgid "Google client ID" +msgstr "Ідэнтыфікатар кліента Google" + +#: adsenseadminpanel.php:170 +msgid "Ad script URL" +msgstr "URL-адрас скрыпта рэклямы" + +#: adsenseadminpanel.php:171 +msgid "Script URL (advanced)" +msgstr "URL-адрас скрыпта (палепшаная ўстаноўка)" + +#: adsenseadminpanel.php:176 +msgid "Medium rectangle" +msgstr "Сярэдні прамавугольнік" + +#: adsenseadminpanel.php:177 +msgid "Medium rectangle slot code" +msgstr "Слот-код сярэдняга прамавугольніка" + +#: adsenseadminpanel.php:182 +msgid "Rectangle" +msgstr "Прамавугольнік" + +#: adsenseadminpanel.php:183 +msgid "Rectangle slot code" +msgstr "Слот-код прамавугольніка" + +#: adsenseadminpanel.php:188 +msgid "Leaderboard" +msgstr "Дошка гонару" + +#: adsenseadminpanel.php:189 +msgid "Leaderboard slot code" +msgstr "Слот-код дошкі гонару" + +#: adsenseadminpanel.php:194 +msgid "Skyscraper" +msgstr "Хмарачос" + +#: adsenseadminpanel.php:195 +msgid "Wide skyscraper slot code" +msgstr "Слот-код хмарачосу" + +#: adsenseadminpanel.php:208 +msgid "Save" +msgstr "Захаваць" + +#: adsenseadminpanel.php:208 +msgid "Save AdSense settings" +msgstr "Захаваць устаноўкі AdSense" diff --git a/plugins/Adsense/locale/br/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/br/LC_MESSAGES/Adsense.po index c572f9b27..682d464fa 100644 --- a/plugins/Adsense/locale/br/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/br/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,8 +32,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Plugin evit ouzhpennañ Google Adsense da lec'hiennoù StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Plugin evit ouzhpennañ Google AdSense da lec'hiennoù StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/de/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/de/LC_MESSAGES/Adsense.po index e7ddaa32e..4ba9ab2e1 100644 --- a/plugins/Adsense/locale/de/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/de/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,8 +32,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Plugin, das Google Adsense auf StatusNet-Websites hinzufügt." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Plugin, das Google AdSense auf StatusNet-Websites hinzufügt." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po index 5a2fcfb25..68dc4e923 100644 --- a/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,8 +32,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Extensión para añadir Google Adsense a sitios StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Extensión para añadir Google AdSense a sitios StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po index 17b56a00a..dee074fc1 100644 --- a/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -33,8 +33,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Greffon pour ajouter Google Adsense aux sites StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Greffon pour ajouter Google AdSense aux sites StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po index e906670ea..2efd29f96 100644 --- a/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:27:50+0000\n" "Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,7 +32,7 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "" #: adsenseadminpanel.php:52 diff --git a/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po index 1f8a73ea2..22d450970 100644 --- a/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,8 +32,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Plug-in pro adder Google Adsense a sitos StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Plug-in pro adder Google AdSense a sitos StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po index e8addce83..455e6eb1c 100644 --- a/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: Italian <http://translatewiki.net/wiki/Portal:it>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: it\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,8 +32,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Plugin per aggiungere Google Adsense ai siti StatusNet" +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Plugin per aggiungere Google AdSense ai siti StatusNet" #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po index d3ccee66e..ee971e6d1 100644 --- a/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:27:50+0000\n" "Language-Team: Georgian <http://translatewiki.net/wiki/Portal:ka>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ka\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,7 +32,7 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "" #: adsenseadminpanel.php:52 diff --git a/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po index 44fe432aa..17fa7cb86 100644 --- a/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,7 +32,7 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "Приклучок за додавање на Google AdSense во мреж. места со StatusNet." #: adsenseadminpanel.php:52 diff --git a/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po index c4854ad3f..0c4019ada 100644 --- a/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:57+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,7 +32,7 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "Plug-in om Google AdSense toe te voegen aan Statusnetsites." #: adsenseadminpanel.php:52 diff --git a/plugins/Adsense/locale/pt_BR/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/pt_BR/LC_MESSAGES/Adsense.po index 66ffa6b7a..7a26085bc 100644 --- a/plugins/Adsense/locale/pt_BR/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/pt_BR/LC_MESSAGES/Adsense.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-30 23:18+0000\n" -"PO-Revision-Date: 2010-10-30 23:20:58+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:58+0000\n" "Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-" "br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:11:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75708); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -34,8 +34,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Plugin para adicionar Google Adsense aos sites StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Plugin para adicionar Google AdSense aos sites StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po index 85bb316a6..26a3638ec 100644 --- a/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:58+0000\n" "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -34,8 +34,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Плагин для добавления Google Adsense на сайты StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Плагин для добавления Google AdSense на сайты StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po index 031b79503..f8e3d83bc 100644 --- a/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:27:50+0000\n" "Language-Team: Swedish <http://translatewiki.net/wiki/Portal:sv>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-30 23:43:40+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: sv\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,7 +32,7 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "" #: adsenseadminpanel.php:52 diff --git a/plugins/Adsense/locale/tl/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/tl/LC_MESSAGES/Adsense.po index ad5ed1ad2..4e330473a 100644 --- a/plugins/Adsense/locale/tl/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/tl/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:58+0000\n" "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tl\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -32,9 +32,9 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." +msgid "Plugin to add Google AdSense to StatusNet sites." msgstr "" -"Pampasak upang maidagdag ang Adsense ng Google sa mga sityo ng StatusNet." +"Pampasak upang maidagdag ang AdSense ng Google sa mga sityo ng StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/tr/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/tr/LC_MESSAGES/Adsense.po new file mode 100644 index 000000000..23b2c1c8b --- /dev/null +++ b/plugins/Adsense/locale/tr/LC_MESSAGES/Adsense.po @@ -0,0 +1,101 @@ +# Translation of StatusNet - Adsense to Turkish (Türkçe) +# Expored from translatewiki.net +# +# Author: Maidis +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Adsense\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:28+0000\n" +"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:38:20+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: tr\n" +"X-Message-Group: #out-statusnet-plugin-adsense\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. TRANS: Menu item title/tooltip +#: AdsensePlugin.php:194 +msgid "AdSense configuration" +msgstr "" + +#. TRANS: Menu item for site administration +#: AdsensePlugin.php:196 +msgid "AdSense" +msgstr "AdSense" + +#: AdsensePlugin.php:209 +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "" + +#: adsenseadminpanel.php:52 +msgctxt "TITLE" +msgid "AdSense" +msgstr "AdSense" + +#: adsenseadminpanel.php:62 +msgid "AdSense settings for this StatusNet site" +msgstr "" + +#: adsenseadminpanel.php:164 +msgid "Client ID" +msgstr "" + +#: adsenseadminpanel.php:165 +msgid "Google client ID" +msgstr "" + +#: adsenseadminpanel.php:170 +msgid "Ad script URL" +msgstr "" + +#: adsenseadminpanel.php:171 +msgid "Script URL (advanced)" +msgstr "" + +#: adsenseadminpanel.php:176 +msgid "Medium rectangle" +msgstr "" + +#: adsenseadminpanel.php:177 +msgid "Medium rectangle slot code" +msgstr "" + +#: adsenseadminpanel.php:182 +msgid "Rectangle" +msgstr "" + +#: adsenseadminpanel.php:183 +msgid "Rectangle slot code" +msgstr "" + +#: adsenseadminpanel.php:188 +msgid "Leaderboard" +msgstr "" + +#: adsenseadminpanel.php:189 +msgid "Leaderboard slot code" +msgstr "" + +#: adsenseadminpanel.php:194 +msgid "Skyscraper" +msgstr "" + +#: adsenseadminpanel.php:195 +msgid "Wide skyscraper slot code" +msgstr "" + +#: adsenseadminpanel.php:208 +msgid "Save" +msgstr "Kaydet" + +#: adsenseadminpanel.php:208 +msgid "Save AdSense settings" +msgstr "AdSense ayarlarını kaydet" diff --git a/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po index f15de57c9..2436f6e05 100644 --- a/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:58+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -33,8 +33,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "Додаток для відображення Google Adsense на сторінці сайту StatusNet." +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "Додаток для відображення Google AdSense на сторінці сайту StatusNet." #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po index 9bc76e416..d86e30a44 100644 --- a/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po +++ b/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Adsense\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:09+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:58+0000\n" "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-" "hans>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:21:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: #out-statusnet-plugin-adsense\n" @@ -34,8 +34,8 @@ msgid "AdSense" msgstr "AdSense" #: AdsensePlugin.php:209 -msgid "Plugin to add Google Adsense to StatusNet sites." -msgstr "添加 Google Adsense 到 StatusNet 网站的插件。" +msgid "Plugin to add Google AdSense to StatusNet sites." +msgstr "添加 Google AdSense 到 StatusNet 网站的插件。" #: adsenseadminpanel.php:52 msgctxt "TITLE" diff --git a/plugins/AnonymousFave/locale/be-tarask/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/be-tarask/LC_MESSAGES/AnonymousFave.po new file mode 100644 index 000000000..47b852add --- /dev/null +++ b/plugins/AnonymousFave/locale/be-tarask/LC_MESSAGES/AnonymousFave.po @@ -0,0 +1,104 @@ +# Translation of StatusNet - AnonymousFave to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# Author: Jim-by +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - AnonymousFave\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:59+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:51+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-anonymousfave\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Label for tally for number of times a notice was favored. +#: AnonymousFavePlugin.php:207 +msgid "Favored" +msgstr "Улюблёнае" + +#. TRANS: Server exception. +#: AnonymousFavePlugin.php:240 AnonymousFavePlugin.php:251 +msgid "Couldn't create anonymous user session." +msgstr "Немагчыма стварыць сэсію ананімнага карыстальніка." + +#. TRANS: Plugin description. +#: AnonymousFavePlugin.php:326 +msgid "Allow anonymous users to favorite notices." +msgstr "Дазволіць ананімным карыстальнікам дадаваць паведамленьні ў улюблёныя." + +#. TRANS: Client error. +#: anonfavor.php:60 +msgid "" +"Could not favor notice! Please make sure your browser has cookies enabled." +msgstr "" +"Немагчыма пазначыць паведамленьне як улюблёнае. Калі ласка, упэўніцеся ў " +"тым, што ў Вашым браўзэры ўключаныя закладкі (cookie)." + +#. TRANS: Client error. +#: anonfavor.php:71 anondisfavor.php:72 +msgid "There was a problem with your session token. Try again, please." +msgstr "Узьнікла праблема з ключом Вашай сэсіі. Калі ласка, паспрабуйце зноў." + +#. TRANS: Client error. +#: anonfavor.php:78 +msgid "This notice is already a favorite!" +msgstr "Гэтае паведамленьне ўжо знаходзіцца ў ліку ўлюблёных!" + +#. TRANS: Server error. +#: anonfavor.php:85 +msgid "Could not create favorite." +msgstr "Немагчыма стварыць як улюблёны." + +#. TRANS: Title. +#: anonfavor.php:95 +msgid "Disfavor favorite" +msgstr "Выдаліць з улюблёных" + +#. TRANS: Server exception. +#. TRANS: %d is the notice ID (number). +#: Fave_tally.php:155 Fave_tally.php:184 +#, php-format +msgid "Couldn't update favorite tally for notice ID %d." +msgstr "Немагчыма абнавіць лічыльнік пазнакаў улюблёных для запісу %d." + +#. TRANS: Server exception. +#. TRANS: %d is the notice ID (number). +#: Fave_tally.php:215 +#, php-format +msgid "Couldn't create favorite tally for notice ID %d." +msgstr "Немагчыма стварыць лічыльнік пазнакаў улюлёных для паведамленьня %d." + +#. TRANS: Client error. +#: anondisfavor.php:61 +msgid "" +"Could not disfavor notice! Please make sure your browser has cookies enabled." +msgstr "" +"Немагчыма выдаліць паведамленьне са сьпісу ўлюблёных! Калі ласка, " +"упэўніцеся, што ў Вашым браўзэры дазволеныя закладкі (cookie)." + +#. TRANS: Client error. +#: anondisfavor.php:82 +msgid "This notice is not a favorite!" +msgstr "Гэтае паведамленьне ня зьяўляецца ўлюблёным!" + +#. TRANS: Server error. +#: anondisfavor.php:91 +msgid "Could not delete favorite." +msgstr "Немагчыма выдаліць са сьпісу ўлюблёных." + +#. TRANS: Title. +#: anondisfavor.php:101 +msgid "Add to favorites" +msgstr "Дадаць ва ўлюблёныя" diff --git a/plugins/AnonymousFave/locale/de/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/de/LC_MESSAGES/AnonymousFave.po index 48ba429f8..b18d6c412 100644 --- a/plugins/AnonymousFave/locale/de/LC_MESSAGES/AnonymousFave.po +++ b/plugins/AnonymousFave/locale/de/LC_MESSAGES/AnonymousFave.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - AnonymousFave\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:10+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:39:59+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:56:48+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:11:51+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-anonymousfave\n" @@ -24,7 +24,7 @@ msgstr "" #. TRANS: Label for tally for number of times a notice was favored. #: AnonymousFavePlugin.php:207 msgid "Favored" -msgstr "" +msgstr "Favorisiert" #. TRANS: Server exception. #: AnonymousFavePlugin.php:240 AnonymousFavePlugin.php:251 @@ -69,14 +69,14 @@ msgstr "Aus Favoriten entfernen" #: Fave_tally.php:155 Fave_tally.php:184 #, php-format msgid "Couldn't update favorite tally for notice ID %d." -msgstr "" +msgstr "Konnte Favoritenzähler der Nachrichten-ID %d nicht aktualisieren." #. TRANS: Server exception. #. TRANS: %d is the notice ID (number). #: Fave_tally.php:215 #, php-format msgid "Couldn't create favorite tally for notice ID %d." -msgstr "" +msgstr "Konnte keinen Favoritenzähler der Nachrichten-ID %d erstellen." #. TRANS: Client error. #: anondisfavor.php:61 diff --git a/plugins/AutoSandbox/locale/be-tarask/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/be-tarask/LC_MESSAGES/AutoSandbox.po new file mode 100644 index 000000000..da4632190 --- /dev/null +++ b/plugins/AutoSandbox/locale/be-tarask/LC_MESSAGES/AutoSandbox.po @@ -0,0 +1,46 @@ +# Translation of StatusNet - AutoSandbox to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - AutoSandbox\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:20+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:52+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-autosandbox\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: AutoSandboxPlugin.php:66 +msgid "Automatically sandboxes newly registered members." +msgstr "Аўтаматычна перасылае ў пясочніцу ўсіх новых карыстальнікаў." + +#: AutoSandboxPlugin.php:72 +msgid "" +"Note you will initially be \"sandboxed\" so your posts will not appear in " +"the public timeline." +msgstr "" +"Памятайце, што спачатку Вы будзеце знаходзіцца ў пясочніцы, таму Вашыя " +"паведамленьні ня будуць паказвацца ў агульнай стужцы." + +#. TRANS: $contactlink is a clickable e-mailaddress. +#: AutoSandboxPlugin.php:79 +msgid "" +"Note you will initially be \"sandboxed\" so your posts will not appear in " +"the public timeline. Send a message to $contactlink to speed up the " +"unsandboxing process." +msgstr "" +"Памятайце, што спачатку Вы будзеце знаходзіцца ў пясочніцы, таму Вашыя " +"паведамленьні ня будуць паказвацца ў агульнай стужцы. Дашліце паведамленьне " +"ў $contactlink, каб паскорыць працэс пераводу з пясочніцы." diff --git a/plugins/Autocomplete/Autocomplete.js b/plugins/Autocomplete/Autocomplete.js index 3eff685a8..c3f022702 100644 --- a/plugins/Autocomplete/Autocomplete.js +++ b/plugins/Autocomplete/Autocomplete.js @@ -1,37 +1,38 @@ $(document).ready(function(){ - $('#notice_data-text').autocomplete($('address .url')[0].href+'/plugins/Autocomplete/autocomplete.json', { - multiple: true, - multipleSeparator: " ", - minChars: 1, - formatItem: function(row, i, max){ - row = eval("(" + row + ")"); - switch(row.type) - { - case 'user': - return row.nickname + ' (' + row.fullname + ')'; - case 'group': - return row.nickname + ' (' + row.fullname + ')'; - } - }, - formatMatch: function(row, i, max){ - row = eval("(" + row + ")"); - switch(row.type) - { - case 'user': - return row.nickname; - case 'group': - return row.nickname; - } - }, - formatResult: function(row){ - row = eval("(" + row + ")"); - switch(row.type) - { - case 'user': - return '@' + row.nickname; - case 'group': - return '!' + row.nickname; - } - } - }); + function fullName(row) { + if (typeof row.fullname == "string" && row.fullname != '') { + return row.nickname + ' (' + row.fullname + ')'; + } else { + return row.nickname; + } + } + $('#notice_data-text').autocomplete($('address .url')[0].href+'main/autocomplete/suggest', { + multiple: true, + multipleSeparator: " ", + minChars: 1, + formatItem: function(row, i, max){ + row = eval("(" + row + ")"); + // the display:inline is because our INSANE stylesheets + // override the standard display of all img tags for no + // good reason. + var div = $('<div><img style="display:inline; vertical-align: middle"> <span></span></div>') + .find('img').attr('src', row.avatar).end() + .find('span').text(fullName(row)).end() + return div.html(); + }, + formatMatch: function(row, i, max){ + row = eval("(" + row + ")"); + return row.nickname; + }, + formatResult: function(row){ + row = eval("(" + row + ")"); + switch(row.type) + { + case 'user': + return '@' + row.nickname; + case 'group': + return '!' + row.nickname; + } + } + }); }); diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php index 620b5e7b0..230ba089d 100644 --- a/plugins/Autocomplete/AutocompletePlugin.php +++ b/plugins/Autocomplete/AutocompletePlugin.php @@ -66,7 +66,7 @@ class AutocompletePlugin extends Plugin function onRouterInitialized($m) { if (common_logged_in()) { - $m->connect('plugins/Autocomplete/autocomplete.json', array('action'=>'autocomplete')); + $m->connect('main/autocomplete/suggest', array('action'=>'autocomplete')); } } diff --git a/plugins/Autocomplete/README b/plugins/Autocomplete/README index 1db4c6565..f5feb94a7 100644 --- a/plugins/Autocomplete/README +++ b/plugins/Autocomplete/README @@ -1,6 +1,13 @@ -Autocomplete allows users to autocomplete screen names in @ replies. When an "@" is typed into the notice text area, an autocomplete box is displayed populated with the user's friends' screen names. +Autocomplete allows users to autocomplete screen names in @ replies and +! group references. -Note: This plugin doesn't work if the site is in Private mode, i.e. when $config['site']['private'] is set to true. +When an "@" or "!" is typed into the notice text area, an autocomplete box +is displayed populated with the user's friends' screen names or group +memberships. + +Completion suggestions can be selected via the mouse or arrow keys, and the +suggestion can be inserted either by clicking or hitting tab. Hitting enter +will also select the suggestion, but will submit your message too! Installation ============ diff --git a/plugins/Autocomplete/autocomplete.php b/plugins/Autocomplete/autocomplete.php index a4e2d9baa..c92002245 100644 --- a/plugins/Autocomplete/autocomplete.php +++ b/plugins/Autocomplete/autocomplete.php @@ -59,7 +59,7 @@ class AutocompleteAction extends Action { $max=0; foreach($this->users as $user){ - $max = max($max,strtotime($user->modified),strtotime($user->profile->modified)); + $max = max($max,strtotime($user->modified),strtotime($user->getProfile()->modified)); } foreach($this->groups as $group){ $max = max($max,strtotime($group->modified)); @@ -87,7 +87,15 @@ class AutocompleteAction extends Action function prepare($args) { + // If we die, show short error messages. + StatusNet::setApi(true); + parent::prepare($args); + + $cur = common_current_user(); + if (!$cur) { + throw new ClientException('Access forbidden', true); + } $this->groups=array(); $this->users=array(); $q = $this->arg('q'); @@ -126,10 +134,32 @@ class AutocompleteAction extends Action $results = array(); foreach($this->users as $user){ $profile = $user->getProfile(); - $results[]=array('nickname' => $user->nickname, 'fullname'=> $profile->fullname, 'type'=>'user'); + $avatar = $profile->getAvatar(AVATAR_MINI_SIZE); + // sigh.... encapsulate this upstream! + if ($avatar) { + $avatar = $avatar->displayUrl(); + } else { + $avatar = Avatar::defaultImage(AVATAR_MINI_SIZE); + } + $results[] = array( + 'nickname' => $user->nickname, + 'fullname'=> $profile->fullname, + 'avatar' => $avatar, + 'type' => 'user' + ); } foreach($this->groups as $group){ - $results[]=array('nickname' => $group->nickname, 'fullname'=> $group->fullname, 'type'=>'group'); + // sigh.... encapsulate this upstream! + if ($group->mini_logo) { + $avatar = $group->mini_logo; + } else { + $avatar = User_group::defaultLogo(AVATAR_MINI_SIZE); + } + $results[] = array( + 'nickname' => $group->nickname, + 'fullname'=> $group->fullname, + 'avatar' => $avatar, + 'type' => 'group'); } foreach($results as $result) { print json_encode($result) . "\n"; diff --git a/plugins/Autocomplete/locale/be-tarask/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/be-tarask/LC_MESSAGES/Autocomplete.po new file mode 100644 index 000000000..966ef3f86 --- /dev/null +++ b/plugins/Autocomplete/locale/be-tarask/LC_MESSAGES/Autocomplete.po @@ -0,0 +1,33 @@ +# Translation of StatusNet - Autocomplete to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Autocomplete\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:01+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:52+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-autocomplete\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: AutocompletePlugin.php:80 +msgid "" +"The autocomplete plugin allows users to autocomplete screen names in @ " +"replies. When an \"@\" is typed into the notice text area, an autocomplete " +"box is displayed populated with the user's friend' screen names." +msgstr "" +"Дапаўненьне аўтаматычнага запаўненьня дазваляе карыстальнікам аўтаматычна " +"запаўняць імёны ў @-адказах. Калі «@» будзе ўведзенае ў тэкставую вобласьць " +"паведамленьня, то зьявіцца блёк аўтаматычнага запаўненьня з імёнамі сяброў." diff --git a/plugins/Awesomeness/AwesomenessPlugin.php b/plugins/Awesomeness/AwesomenessPlugin.php new file mode 100644 index 000000000..294f09438 --- /dev/null +++ b/plugins/Awesomeness/AwesomenessPlugin.php @@ -0,0 +1,110 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Plugin to add adittional awesomenss to StatusNet + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Plugin + * @package StatusNet + * @author Jeroen De Dauw <jeroendedauw@gmail.com> + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Fun sample plugin: tweaks input data and adds a 'Cornify' widget to sidebar. + * + * @category Plugin + * @package StatusNet + * @author Jeroen De Dauw <jeroendedauw@gmail.com> + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class AwesomenessPlugin extends Plugin +{ + + const VERSION = '0.0.42'; + + public function onPluginVersion(&$versions) + { + $versions[] = array( + 'name' => 'Awesomeness', + 'version' => self::VERSION, + 'author' => 'Jeroen De Dauw', + 'homepage' => 'http://status.net/wiki/Plugin:Awesomeness', + 'rawdescription' => _m( + 'The Awesomeness plugin adds adittional awesomeness ' . + 'to your StatusNet install. ' + ) + ); + return true; + } + + /** + * Add the conrnify button + * + * @param Action $action the current action + * + * @return void + */ + + function onEndShowSections(Action $action) + { + $action->elementStart('div', array('id' => 'cornify_section', + 'class' => 'section')); + + $action->raw( + <<<EOT + <a href="http://www.cornify.com" onclick="cornify_add();return false;"> + <img src="http://www.cornify.com/assets/cornify.gif" width="61" height="16" border="0" alt="Cornify" /> + </a> + <script type="text/javascript">(function() { + var js = document.createElement('script'); + js.type = 'text/javascript'; + js.async = true; + js.src = 'http://www.cornify.com/js/cornify.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(js); +})();</script> +EOT + ); + + $action->elementEnd('div'); + } + + /** + * Hook for new-notice form processing to take our HTML goodies; + * won't affect API posting etc. + * + * @param NewNoticeAction $action + * @param User $user + * @param string $content + * @param array $options + * @return boolean hook return + */ + function onStartSaveNewNoticeWeb($action, $user, &$content, &$options) + { + $content = htmlspecialchars($content); + $options['rendered'] = preg_replace("/(^|\s|-)((?:awesome|awesomeness)[\?!\.\,]?)(\s|$)/i", " <b>$2</b> ", $content); + } + +}
\ No newline at end of file diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php index f4d987489..532e66fbc 100644 --- a/plugins/BitlyUrl/BitlyUrlPlugin.php +++ b/plugins/BitlyUrl/BitlyUrlPlugin.php @@ -116,7 +116,7 @@ class BitlyUrlPlugin extends UrlShortenerPlugin $params = http_build_query(array( 'login' => $this->getLogin(), 'apiKey' => $this->getApiKey()), '', '&'); - $serviceUrl = sprintf($this->serviceUrl, $url) . '&' . $params; + $serviceUrl = sprintf($this->serviceUrl, urlencode($url)) . '&' . $params; $request = HTTPClient::start(); return $request->get($serviceUrl); @@ -143,6 +143,10 @@ class BitlyUrlPlugin extends UrlShortenerPlugin common_log(LOG_INFO, $body); $json = json_decode($body, true); if ($json['statusCode'] == 'OK') { + if (!isset($json['results'][$url])) { + common_log(LOG_ERR, "bit.ly returned OK response, but didn't find expected URL $url in $body"); + return false; + } $data = $json['results'][$url]; if (isset($data['shortUrl'])) { return true; diff --git a/plugins/BitlyUrl/locale/be-tarask/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/be-tarask/LC_MESSAGES/BitlyUrl.po new file mode 100644 index 000000000..d17a0d88b --- /dev/null +++ b/plugins/BitlyUrl/locale/be-tarask/LC_MESSAGES/BitlyUrl.po @@ -0,0 +1,90 @@ +# Translation of StatusNet - BitlyUrl to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# Author: Jim-by +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BitlyUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:21+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:20:33+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-bitlyurl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: BitlyUrlPlugin.php:48 +msgid "You must specify a serviceUrl for bit.ly shortening." +msgstr "Вам неабходна пазначыць serviceUrl для сэрвісу скарачэньняў bit.ly." + +#: BitlyUrlPlugin.php:171 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "" +"Выкарыстаньне сэрвісу скарачэньня URL-адрасоў <a href=\"http://%1$s/\">%1$s</" +"a>." + +#: BitlyUrlPlugin.php:212 +msgid "bit.ly" +msgstr "bit.ly" + +#: BitlyUrlPlugin.php:213 bitlyadminpanelaction.php:54 +msgid "bit.ly URL shortening" +msgstr "Скарачэньне URL-адрасоў bit.ly" + +#: bitlyadminpanelaction.php:65 +msgid "" +"URL shortening with bit.ly requires [a bit.ly account and API key](http://" +"bit.ly/a/your_api_key). This verifies that this is an authorized account, " +"and allow you to use bit.ly's tracking features and custom domains." +msgstr "" +"Скарачэньне URL-адрасоў з дапамогай bit.ly патрабуе [рахунак bit.ly і ключ " +"API](http://bit.ly/a/your_api_key). Гэта пацьвердзіць, што гэта аўтарызаваны " +"рахунак і дазволіць Вам выкарыстоўваць магчымасьці сачэньня bit.ly і " +"нестандартныя дамэны." + +#: bitlyadminpanelaction.php:132 +msgid "Invalid login. Max length is 255 characters." +msgstr "Няслушнае імя карыстальніка. Максымальная даўжыня 255 сымбаляў." + +#: bitlyadminpanelaction.php:138 +msgid "Invalid API key. Max length is 255 characters." +msgstr "Няслушны API-ключ. Максымальная даўжыня 255 сымбаляў." + +#: bitlyadminpanelaction.php:191 +msgid "Credentials" +msgstr "Упаўнаважаньні" + +#: bitlyadminpanelaction.php:199 +msgid "Leave these empty to use global default credentials." +msgstr "" +"Пакіньце гэтае поле пустым, каб выкарыстоўваць глябальнымі ўпаўнаважаньнямі " +"па змоўчваньні." + +#: bitlyadminpanelaction.php:202 +msgid "If you leave these empty, bit.ly will be unavailable to users." +msgstr "" +"Калі Вы пакінеце гэтае поле пустым, bit.ly будзе недаступны для " +"карыстальнікаў." + +#: bitlyadminpanelaction.php:209 +msgid "Login name" +msgstr "Імя карыстальніка" + +#: bitlyadminpanelaction.php:218 +msgid "API key" +msgstr "API-ключ" + +#: bitlyadminpanelaction.php:236 +msgid "Save bit.ly settings" +msgstr "Захаваць устаноўкі bit.ly" diff --git a/plugins/BitlyUrl/locale/br/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/br/LC_MESSAGES/BitlyUrl.po new file mode 100644 index 000000000..8e1c92f8c --- /dev/null +++ b/plugins/BitlyUrl/locale/br/LC_MESSAGES/BitlyUrl.po @@ -0,0 +1,78 @@ +# Translation of StatusNet - BitlyUrl to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BitlyUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:33+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:41:49+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-bitlyurl\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: BitlyUrlPlugin.php:48 +msgid "You must specify a serviceUrl for bit.ly shortening." +msgstr "" + +#: BitlyUrlPlugin.php:171 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "" + +#: BitlyUrlPlugin.php:212 +msgid "bit.ly" +msgstr "bit.ly" + +#: BitlyUrlPlugin.php:213 bitlyadminpanelaction.php:54 +msgid "bit.ly URL shortening" +msgstr "" + +#: bitlyadminpanelaction.php:65 +msgid "" +"URL shortening with bit.ly requires [a bit.ly account and API key](http://" +"bit.ly/a/your_api_key). This verifies that this is an authorized account, " +"and allow you to use bit.ly's tracking features and custom domains." +msgstr "" + +#: bitlyadminpanelaction.php:132 +msgid "Invalid login. Max length is 255 characters." +msgstr "" + +#: bitlyadminpanelaction.php:138 +msgid "Invalid API key. Max length is 255 characters." +msgstr "" + +#: bitlyadminpanelaction.php:191 +msgid "Credentials" +msgstr "" + +#: bitlyadminpanelaction.php:199 +msgid "Leave these empty to use global default credentials." +msgstr "" + +#: bitlyadminpanelaction.php:202 +msgid "If you leave these empty, bit.ly will be unavailable to users." +msgstr "" + +#: bitlyadminpanelaction.php:209 +msgid "Login name" +msgstr "Anv implijer" + +#: bitlyadminpanelaction.php:218 +msgid "API key" +msgstr "" + +#: bitlyadminpanelaction.php:236 +msgid "Save bit.ly settings" +msgstr "Enrollañ arventennoù bit.ly" diff --git a/plugins/BitlyUrl/locale/de/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/de/LC_MESSAGES/BitlyUrl.po new file mode 100644 index 000000000..eeceec1f3 --- /dev/null +++ b/plugins/BitlyUrl/locale/de/LC_MESSAGES/BitlyUrl.po @@ -0,0 +1,84 @@ +# Translation of StatusNet - BitlyUrl to German (Deutsch) +# Expored from translatewiki.net +# +# Author: Michael +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BitlyUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:21+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:20:33+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-bitlyurl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: BitlyUrlPlugin.php:48 +msgid "You must specify a serviceUrl for bit.ly shortening." +msgstr "Du musst eine „serviceUrl“ zur bit.ly-URL-Kürzung angeben." + +#: BitlyUrlPlugin.php:171 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "Benutzung des <a href=\"http://%1$s/\">%1$s</a>-URL-Kürzungsdienstes." + +#: BitlyUrlPlugin.php:212 +msgid "bit.ly" +msgstr "bit.ly" + +#: BitlyUrlPlugin.php:213 bitlyadminpanelaction.php:54 +msgid "bit.ly URL shortening" +msgstr "bit.ly-URL-Kürzung" + +#: bitlyadminpanelaction.php:65 +msgid "" +"URL shortening with bit.ly requires [a bit.ly account and API key](http://" +"bit.ly/a/your_api_key). This verifies that this is an authorized account, " +"and allow you to use bit.ly's tracking features and custom domains." +msgstr "" +"URL-Kürzung mit bit.ly erfordert [ein bit.ly-Benutzerkonto und API-Schlüssel]" +"(http://bit.ly/a/your_api_key). Das stellt sicher, dass es ein autorisiertes " +"Benutzerkonto ist und ermöglicht bit.lys Tracking-Funktionen und " +"benutzerdefinierte Domains." + +#: bitlyadminpanelaction.php:132 +msgid "Invalid login. Max length is 255 characters." +msgstr "Ungültige Anmeldung. Maximale Länge sind 255 Zeichen." + +#: bitlyadminpanelaction.php:138 +msgid "Invalid API key. Max length is 255 characters." +msgstr "Ungültiger API-Schlüssel. Maximale Länge sind 255 Zeichen." + +#: bitlyadminpanelaction.php:191 +msgid "Credentials" +msgstr "Anmeldeinformationen" + +#: bitlyadminpanelaction.php:199 +msgid "Leave these empty to use global default credentials." +msgstr "Lass dies leer, um globale Standard-Anmeldeinformationen zu benutzen." + +#: bitlyadminpanelaction.php:202 +msgid "If you leave these empty, bit.ly will be unavailable to users." +msgstr "" +"Wenn du dies leer lässt, wird bit.ly nicht für Benutzer verfügbar sein." + +#: bitlyadminpanelaction.php:209 +msgid "Login name" +msgstr "Benutzername" + +#: bitlyadminpanelaction.php:218 +msgid "API key" +msgstr "API-Schlüssel" + +#: bitlyadminpanelaction.php:236 +msgid "Save bit.ly settings" +msgstr "bit.ly-Einstellungen speichern" diff --git a/plugins/BitlyUrl/locale/gl/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/gl/LC_MESSAGES/BitlyUrl.po new file mode 100644 index 000000000..2443894e3 --- /dev/null +++ b/plugins/BitlyUrl/locale/gl/LC_MESSAGES/BitlyUrl.po @@ -0,0 +1,78 @@ +# Translation of StatusNet - BitlyUrl to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BitlyUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:33+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:41:49+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-bitlyurl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: BitlyUrlPlugin.php:48 +msgid "You must specify a serviceUrl for bit.ly shortening." +msgstr "" + +#: BitlyUrlPlugin.php:171 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "" + +#: BitlyUrlPlugin.php:212 +msgid "bit.ly" +msgstr "" + +#: BitlyUrlPlugin.php:213 bitlyadminpanelaction.php:54 +msgid "bit.ly URL shortening" +msgstr "" + +#: bitlyadminpanelaction.php:65 +msgid "" +"URL shortening with bit.ly requires [a bit.ly account and API key](http://" +"bit.ly/a/your_api_key). This verifies that this is an authorized account, " +"and allow you to use bit.ly's tracking features and custom domains." +msgstr "" + +#: bitlyadminpanelaction.php:132 +msgid "Invalid login. Max length is 255 characters." +msgstr "Rexistro incorrecto. A extensión máxima é de 255 caracteres." + +#: bitlyadminpanelaction.php:138 +msgid "Invalid API key. Max length is 255 characters." +msgstr "Clave API incorrecta. A extensión máxima é de 255 caracteres." + +#: bitlyadminpanelaction.php:191 +msgid "Credentials" +msgstr "" + +#: bitlyadminpanelaction.php:199 +msgid "Leave these empty to use global default credentials." +msgstr "" + +#: bitlyadminpanelaction.php:202 +msgid "If you leave these empty, bit.ly will be unavailable to users." +msgstr "" + +#: bitlyadminpanelaction.php:209 +msgid "Login name" +msgstr "Nome de usuario" + +#: bitlyadminpanelaction.php:218 +msgid "API key" +msgstr "" + +#: bitlyadminpanelaction.php:236 +msgid "Save bit.ly settings" +msgstr "Gardar a configuración bit.ly" diff --git a/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po index de00fc1ca..4298ae85e 100644 --- a/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po +++ b/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - BitlyUrl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:16+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:27:56+0000\n" "Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:21+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:11:53+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: #out-statusnet-plugin-bitlyurl\n" @@ -23,7 +23,7 @@ msgstr "" #: BitlyUrlPlugin.php:48 msgid "You must specify a serviceUrl for bit.ly shortening." -msgstr "" +msgstr "Du må angi en serviceUrl for bit.ly-forkortelse." #: BitlyUrlPlugin.php:171 #, php-format diff --git a/plugins/Blacklist/locale/be-tarask/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/be-tarask/LC_MESSAGES/Blacklist.po new file mode 100644 index 000000000..b1f3635a5 --- /dev/null +++ b/plugins/Blacklist/locale/be-tarask/LC_MESSAGES/Blacklist.po @@ -0,0 +1,131 @@ +# Translation of StatusNet - Blacklist to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# Author: Jim-by +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Blacklist\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:56:57+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:38:25+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-blacklist\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Validation failure for URL. %s is the URL. +#: BlacklistPlugin.php:149 +#, php-format +msgid "You may not register with homepage \"%s\"." +msgstr "Вы ня можаце зарэгістравацца, падаўшы «%s» як хатнюю старонку." + +#. TRANS: Validation failure for nickname. %s is the nickname. +#: BlacklistPlugin.php:160 +#, php-format +msgid "You may not register with nickname \"%s\"." +msgstr "Вы ня можаце зарэгістравацца з мянушкай «%s»." + +#. TRANS: Validation failure for URL. %s is the URL. +#: BlacklistPlugin.php:185 +#, php-format +msgid "You may not use homepage \"%s\"." +msgstr "Вы ня можаце выкарыстоўваць хатнюю старонку «%s»." + +#. TRANS: Validation failure for nickname. %s is the nickname. +#: BlacklistPlugin.php:196 +#, php-format +msgid "You may not use nickname \"%s\"." +msgstr "Вы ня можаце выкарыстоўваць мянушку «%s»." + +#. TRANS: Validation failure for URL. %s is the URL. +#: BlacklistPlugin.php:239 +#, php-format +msgid "You may not use URL \"%s\" in notices." +msgstr "Вы ня можаце выкарыстоўваць URL-адрас «%s» у заўвагах." + +#: BlacklistPlugin.php:343 +msgid "Keeps a blacklist of forbidden nickname and URL patterns." +msgstr "Захоўвае чорны сьпіс забароненых мянушак і шаблёнаў URL-адрасоў." + +#. TRANS: Menu item in admin panel. +#: BlacklistPlugin.php:381 +msgctxt "MENU" +msgid "Blacklist" +msgstr "Чорны сьпіс" + +#. TRANS: Tooltip for menu item in admin panel. +#: BlacklistPlugin.php:383 +msgctxt "TOOLTIP" +msgid "Blacklist configuration" +msgstr "Устаноўкі чорнага сьпісу" + +#. TRANS: Checkbox with text label in the delete user form. +#: BlacklistPlugin.php:410 +msgid "Add this nickname pattern to blacklist" +msgstr "Дадаць гэты шаблён мянушкі да чорнага сьпісу" + +#. TRANS: Checkbox with text label in the delete user form. +#: BlacklistPlugin.php:420 +msgid "Add this homepage pattern to blacklist" +msgstr "Дадаць гэты шаблён хатняй старонкі да чорнага сьпісу" + +#. TRANS: Exception thrown trying to post a notice while having set a blocked homepage URL. %s is the blocked URL. +#. TRANS: Client exception thrown trying to subscribe to a person with a blocked homepage or site URL. %s is the blocked URL. +#: BlacklistPlugin.php:499 BlacklistPlugin.php:534 +#, php-format +msgid "Users from \"%s\" blocked." +msgstr "Карыстальнік з «%s» заблякаваны." + +#. TRANS: Exception thrown trying to post a notice while having a blocked nickname. %s is the blocked nickname. +#: BlacklistPlugin.php:510 +#, php-format +msgid "Posts from nickname \"%s\" disallowed." +msgstr "Паведамленьні ад карыстальніка «%s» забароненыя." + +#. TRANS: Client exception thrown trying to subscribe to a person with a blocked nickname. %s is the blocked nickname. +#: BlacklistPlugin.php:545 +#, php-format +msgid "Can't subscribe to nickname \"%s\"." +msgstr "Немагчыма падпісацца на карыстальніка «%s»." + +#: blacklistadminpanel.php:52 +msgid "Blacklist" +msgstr "Чорны сьпіс" + +#: blacklistadminpanel.php:62 +msgid "Blacklisted URLs and nicknames" +msgstr "Чорны сьпіс URL-адрасоў і мянушак" + +#: blacklistadminpanel.php:174 +msgid "Nicknames" +msgstr "Мянушкі" + +#: blacklistadminpanel.php:176 +msgid "Patterns of nicknames to block, one per line" +msgstr "Шаблёны мянушак для блякаваньня, па аднаму на радок" + +#: blacklistadminpanel.php:182 +msgid "URLs" +msgstr "URL-адрасы" + +#: blacklistadminpanel.php:184 +msgid "Patterns of URLs to block, one per line" +msgstr "Шаблёны URL-адрасоў для блякаваньня, па аднаму на радок" + +#: blacklistadminpanel.php:198 +msgid "Save" +msgstr "Захаваць" + +#: blacklistadminpanel.php:201 +msgid "Save site settings" +msgstr "Захаваць устаноўкі сайта" diff --git a/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po index 5e6bf3afa..ba29c2625 100644 --- a/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po +++ b/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Blacklist\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:17+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:23+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:05+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:11:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-blacklist\n" @@ -29,19 +29,19 @@ msgstr "Ne c'hellit ket en em enskrivañ gant ar bajenn degemer \"%s\"." #. TRANS: Validation failure for nickname. %s is the nickname. #: BlacklistPlugin.php:160 -#, fuzzy, php-format +#, php-format msgid "You may not register with nickname \"%s\"." msgstr "Ne c'hellit ket en em enskrivañ gant al lesanv \"%s\"." #. TRANS: Validation failure for URL. %s is the URL. #: BlacklistPlugin.php:185 -#, fuzzy, php-format +#, php-format msgid "You may not use homepage \"%s\"." msgstr "Ne c'hellit ket implij ar bajenn degemer \"%s\"." #. TRANS: Validation failure for nickname. %s is the nickname. #: BlacklistPlugin.php:196 -#, fuzzy, php-format +#, php-format msgid "You may not use nickname \"%s\"." msgstr "Ne c'hellit ket implij al lesanv \"%s\"." @@ -82,7 +82,7 @@ msgstr "" #: BlacklistPlugin.php:499 BlacklistPlugin.php:534 #, php-format msgid "Users from \"%s\" blocked." -msgstr "" +msgstr "Implijer \"%s\" stanket." #. TRANS: Exception thrown trying to post a notice while having a blocked nickname. %s is the blocked nickname. #: BlacklistPlugin.php:510 diff --git a/plugins/Blacklist/locale/de/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/de/LC_MESSAGES/Blacklist.po index 35efa11df..f4bbeb7cc 100644 --- a/plugins/Blacklist/locale/de/LC_MESSAGES/Blacklist.po +++ b/plugins/Blacklist/locale/de/LC_MESSAGES/Blacklist.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Blacklist\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:17+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:23+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:05+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:11:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-blacklist\n" @@ -23,25 +23,25 @@ msgstr "" #. TRANS: Validation failure for URL. %s is the URL. #: BlacklistPlugin.php:149 -#, fuzzy, php-format +#, php-format msgid "You may not register with homepage \"%s\"." msgstr "Du darfst dich nicht mit der Homepage „%s“ anmelden." #. TRANS: Validation failure for nickname. %s is the nickname. #: BlacklistPlugin.php:160 -#, fuzzy, php-format +#, php-format msgid "You may not register with nickname \"%s\"." msgstr "Du darfst dich nicht mit den Benutzernamen „%s“ anmelden." #. TRANS: Validation failure for URL. %s is the URL. #: BlacklistPlugin.php:185 -#, fuzzy, php-format +#, php-format msgid "You may not use homepage \"%s\"." msgstr "Du darfst nicht die Homepage „%s“ benutzen." #. TRANS: Validation failure for nickname. %s is the nickname. #: BlacklistPlugin.php:196 -#, fuzzy, php-format +#, php-format msgid "You may not use nickname \"%s\"." msgstr "Du darfst nicht den Benutzernamen „%s“ benutzen." @@ -57,14 +57,12 @@ msgstr "Hält eine schwarze Liste der verbotenen Benutzernamen und URL-Muster." #. TRANS: Menu item in admin panel. #: BlacklistPlugin.php:381 -#, fuzzy msgctxt "MENU" msgid "Blacklist" msgstr "Schwarze Liste" #. TRANS: Tooltip for menu item in admin panel. #: BlacklistPlugin.php:383 -#, fuzzy msgctxt "TOOLTIP" msgid "Blacklist configuration" msgstr "Konfiguration der schwarzen Liste" @@ -84,19 +82,19 @@ msgstr "Dieses Homepage-Muster zur schwarzen Liste hinzufügen" #: BlacklistPlugin.php:499 BlacklistPlugin.php:534 #, php-format msgid "Users from \"%s\" blocked." -msgstr "" +msgstr "Benutzer von „%s“ blockiert." #. TRANS: Exception thrown trying to post a notice while having a blocked nickname. %s is the blocked nickname. #: BlacklistPlugin.php:510 #, php-format msgid "Posts from nickname \"%s\" disallowed." -msgstr "" +msgstr "Beiträge vom Benutzernamen „%s“ nicht erlaubt." #. TRANS: Client exception thrown trying to subscribe to a person with a blocked nickname. %s is the blocked nickname. #: BlacklistPlugin.php:545 -#, fuzzy, php-format +#, php-format msgid "Can't subscribe to nickname \"%s\"." -msgstr "Du darfst nicht den Benutzernamen „%s“ benutzen." +msgstr "Kann Benutzernamen „%s“ nicht abonnieren." #: blacklistadminpanel.php:52 msgid "Blacklist" diff --git a/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po index 23502a737..0736ba669 100644 --- a/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po +++ b/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Blacklist\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:17+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:23+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:05+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:11:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-blacklist\n" @@ -24,25 +24,25 @@ msgstr "" #. TRANS: Validation failure for URL. %s is the URL. #: BlacklistPlugin.php:149 -#, fuzzy, php-format +#, php-format msgid "You may not register with homepage \"%s\"." msgstr "Vous ne pouvez pas vous inscrire avec la page d’accueil « %s »." #. TRANS: Validation failure for nickname. %s is the nickname. #: BlacklistPlugin.php:160 -#, fuzzy, php-format +#, php-format msgid "You may not register with nickname \"%s\"." msgstr "Vous ne pouvez pas vous inscrire avec le pseudonyme « %s »." #. TRANS: Validation failure for URL. %s is the URL. #: BlacklistPlugin.php:185 -#, fuzzy, php-format +#, php-format msgid "You may not use homepage \"%s\"." msgstr "Vous ne pouvez pas utiliser la page d’accueil « %s »." #. TRANS: Validation failure for nickname. %s is the nickname. #: BlacklistPlugin.php:196 -#, fuzzy, php-format +#, php-format msgid "You may not use nickname \"%s\"." msgstr "Vous ne pouvez pas utiliser le pseudonyme « %s »." @@ -58,14 +58,12 @@ msgstr "Maintient une liste noire des pseudonymes et motifs d’URL interdits." #. TRANS: Menu item in admin panel. #: BlacklistPlugin.php:381 -#, fuzzy msgctxt "MENU" msgid "Blacklist" msgstr "Liste noire" #. TRANS: Tooltip for menu item in admin panel. #: BlacklistPlugin.php:383 -#, fuzzy msgctxt "TOOLTIP" msgid "Blacklist configuration" msgstr "Configuration de la liste noire" @@ -85,19 +83,19 @@ msgstr "Ajouter ce motif de pages d’accueil à la liste noire" #: BlacklistPlugin.php:499 BlacklistPlugin.php:534 #, php-format msgid "Users from \"%s\" blocked." -msgstr "" +msgstr "Utilisateurs de « %s » bloqués." #. TRANS: Exception thrown trying to post a notice while having a blocked nickname. %s is the blocked nickname. #: BlacklistPlugin.php:510 #, php-format msgid "Posts from nickname \"%s\" disallowed." -msgstr "" +msgstr "Messages de « %s » refusés." #. TRANS: Client exception thrown trying to subscribe to a person with a blocked nickname. %s is the blocked nickname. #: BlacklistPlugin.php:545 -#, fuzzy, php-format +#, php-format msgid "Can't subscribe to nickname \"%s\"." -msgstr "Vous ne pouvez pas utiliser le pseudonyme « %s »." +msgstr "Vous ne pouvez pas vous inscrire avec le pseudonyme « %s »." #: blacklistadminpanel.php:52 msgid "Blacklist" diff --git a/plugins/BlankAd/locale/be-tarask/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/be-tarask/LC_MESSAGES/BlankAd.po new file mode 100644 index 000000000..6beb79755 --- /dev/null +++ b/plugins/BlankAd/locale/be-tarask/LC_MESSAGES/BlankAd.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - BlankAd to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BlankAd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:56:58+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:41:50+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-blankad\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: BlankAdPlugin.php:127 +msgid "Plugin for testing ad layout." +msgstr "Дапаўненьне для праверкі рэклямных модуляў." diff --git a/plugins/BlankAd/locale/de/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/de/LC_MESSAGES/BlankAd.po new file mode 100644 index 000000000..862f2336b --- /dev/null +++ b/plugins/BlankAd/locale/de/LC_MESSAGES/BlankAd.po @@ -0,0 +1,26 @@ +# Translation of StatusNet - BlankAd to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BlankAd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:24+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-blankad\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: BlankAdPlugin.php:127 +msgid "Plugin for testing ad layout." +msgstr "Plugin zum Testen von Werbungs-Layout." diff --git a/plugins/BlogspamNet/locale/be-tarask/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/be-tarask/LC_MESSAGES/BlogspamNet.po new file mode 100644 index 000000000..bad7b1de0 --- /dev/null +++ b/plugins/BlogspamNet/locale/be-tarask/LC_MESSAGES/BlogspamNet.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - BlogspamNet to Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца)) +# Expored from translatewiki.net +# +# Author: EugeneZelenko +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - BlogspamNet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:56:59+0000\n" +"Language-Team: Belarusian (Taraškievica orthography) <http://translatewiki." +"net/wiki/Portal:be-tarask>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:55+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: be-tarask\n" +"X-Message-Group: #out-statusnet-plugin-blogspamnet\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: BlogspamNetPlugin.php:152 +msgid "Plugin to check submitted notices with blogspam.net." +msgstr "" +"Дапаўненьне для праверкі дасланых абвяшчэньняў з дапамогай blogspam.net." diff --git a/plugins/CacheLog/locale/br/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/br/LC_MESSAGES/CacheLog.po new file mode 100644 index 000000000..e030ebd58 --- /dev/null +++ b/plugins/CacheLog/locale/br/LC_MESSAGES/CacheLog.po @@ -0,0 +1,26 @@ +# Translation of StatusNet - CacheLog to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Fulup +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - CacheLog\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:26+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:55+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-cachelog\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: CacheLogPlugin.php:106 +msgid "Log reads and writes to the cache." +msgstr "Marilhañ a ra al lennadurioù hag ar skrivadurioù er grubuilh" diff --git a/plugins/CasAuthentication/locale/de/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/de/LC_MESSAGES/CasAuthentication.po new file mode 100644 index 000000000..e7aaddc33 --- /dev/null +++ b/plugins/CasAuthentication/locale/de/LC_MESSAGES/CasAuthentication.po @@ -0,0 +1,71 @@ +# Translation of StatusNet - CasAuthentication to German (Deutsch) +# Expored from translatewiki.net +# +# Author: Michael +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - CasAuthentication\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:39+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-casauthentication\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Menu item. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:83 +msgid "CAS" +msgstr "CAS" + +#. TRANS: Tooltip for menu item. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:85 +msgid "Login or register with CAS." +msgstr "" + +#. TRANS: Invitation to users with a CAS account to log in using the service. +#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL. +#. TRANS: These two elements may not be separated. +#: CasAuthenticationPlugin.php:101 +#, php-format +msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)" +msgstr "" + +#: CasAuthenticationPlugin.php:128 +msgid "Specifying a server is required." +msgstr "" + +#: CasAuthenticationPlugin.php:131 +msgid "Specifying a port is required." +msgstr "" + +#: CasAuthenticationPlugin.php:134 +msgid "Specifying a path is required." +msgstr "" + +#. TRANS: Plugin description. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:154 +msgid "" +"The CAS Authentication plugin allows for StatusNet to handle authentication " +"through CAS (Central Authentication Service)." +msgstr "" + +#: caslogin.php:28 +msgid "Already logged in." +msgstr "Bereits angemeldet." + +#: caslogin.php:39 +msgid "Incorrect username or password." +msgstr "" + +#: caslogin.php:45 +msgid "Error setting user. You are probably not authorized." +msgstr "" diff --git a/plugins/CasAuthentication/locale/gl/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/gl/LC_MESSAGES/CasAuthentication.po new file mode 100644 index 000000000..180e2df94 --- /dev/null +++ b/plugins/CasAuthentication/locale/gl/LC_MESSAGES/CasAuthentication.po @@ -0,0 +1,73 @@ +# Translation of StatusNet - CasAuthentication to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - CasAuthentication\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:39+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-casauthentication\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Menu item. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:83 +msgid "CAS" +msgstr "" + +#. TRANS: Tooltip for menu item. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:85 +msgid "Login or register with CAS." +msgstr "" + +#. TRANS: Invitation to users with a CAS account to log in using the service. +#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL. +#. TRANS: These two elements may not be separated. +#: CasAuthenticationPlugin.php:101 +#, php-format +msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)" +msgstr "" + +#: CasAuthenticationPlugin.php:128 +msgid "Specifying a server is required." +msgstr "" + +#: CasAuthenticationPlugin.php:131 +msgid "Specifying a port is required." +msgstr "" + +#: CasAuthenticationPlugin.php:134 +msgid "Specifying a path is required." +msgstr "" + +#. TRANS: Plugin description. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:154 +msgid "" +"The CAS Authentication plugin allows for StatusNet to handle authentication " +"through CAS (Central Authentication Service)." +msgstr "" + +#: caslogin.php:28 +msgid "Already logged in." +msgstr "Xa se identificou." + +#: caslogin.php:39 +msgid "Incorrect username or password." +msgstr "Nome de usuario ou contrasinal incorrectos." + +#: caslogin.php:45 +msgid "Error setting user. You are probably not authorized." +msgstr "" +"Houbo un erro ao configurar o usuario. Probablemente non estea autorizado " +"para facelo." diff --git a/plugins/CasAuthentication/locale/te/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/te/LC_MESSAGES/CasAuthentication.po new file mode 100644 index 000000000..0fc6f8ad1 --- /dev/null +++ b/plugins/CasAuthentication/locale/te/LC_MESSAGES/CasAuthentication.po @@ -0,0 +1,71 @@ +# Translation of StatusNet - CasAuthentication to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - CasAuthentication\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:40+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-casauthentication\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Menu item. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:83 +msgid "CAS" +msgstr "" + +#. TRANS: Tooltip for menu item. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:85 +msgid "Login or register with CAS." +msgstr "" + +#. TRANS: Invitation to users with a CAS account to log in using the service. +#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL. +#. TRANS: These two elements may not be separated. +#: CasAuthenticationPlugin.php:101 +#, php-format +msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)" +msgstr "" + +#: CasAuthenticationPlugin.php:128 +msgid "Specifying a server is required." +msgstr "" + +#: CasAuthenticationPlugin.php:131 +msgid "Specifying a port is required." +msgstr "" + +#: CasAuthenticationPlugin.php:134 +msgid "Specifying a path is required." +msgstr "" + +#. TRANS: Plugin description. CAS is Central Authentication Service. +#: CasAuthenticationPlugin.php:154 +msgid "" +"The CAS Authentication plugin allows for StatusNet to handle authentication " +"through CAS (Central Authentication Service)." +msgstr "" + +#: caslogin.php:28 +msgid "Already logged in." +msgstr "ఇప్పటికే లోనికి ప్రవేశించారు." + +#: caslogin.php:39 +msgid "Incorrect username or password." +msgstr "వాడుకరిపేరు లేదా సంకేతపదం తప్పు." + +#: caslogin.php:45 +msgid "Error setting user. You are probably not authorized." +msgstr "" diff --git a/plugins/ClientSideShorten/locale/br/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/br/LC_MESSAGES/ClientSideShorten.po new file mode 100644 index 000000000..55497d39f --- /dev/null +++ b/plugins/ClientSideShorten/locale/br/LC_MESSAGES/ClientSideShorten.po @@ -0,0 +1,32 @@ +# Translation of StatusNet - ClientSideShorten to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ClientSideShorten\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:28+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:11:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ClientSideShortenPlugin.php:74 +msgid "" +"ClientSideShorten causes the web interface's notice form to automatically " +"shorten URLs as they entered, and before the notice is submitted." +msgstr "" + +#: shorten.php:55 +msgid "'text' argument must be specified." +msgstr "Spisaet e rank bezañ an arguzenn \"testenn\"." diff --git a/plugins/ClientSideShorten/locale/de/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/de/LC_MESSAGES/ClientSideShorten.po index 2f74ca745..aecacac42 100644 --- a/plugins/ClientSideShorten/locale/de/LC_MESSAGES/ClientSideShorten.po +++ b/plugins/ClientSideShorten/locale/de/LC_MESSAGES/ClientSideShorten.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - ClientSideShorten\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:23+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:28+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:51+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:11:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-clientsideshorten\n" @@ -31,4 +31,4 @@ msgstr "" #: shorten.php:55 msgid "'text' argument must be specified." -msgstr "" +msgstr "Das „text“-Argument muss angegeben werden." diff --git a/plugins/Comet/locale/br/LC_MESSAGES/Comet.po b/plugins/Comet/locale/br/LC_MESSAGES/Comet.po new file mode 100644 index 000000000..70093d613 --- /dev/null +++ b/plugins/Comet/locale/br/LC_MESSAGES/Comet.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - Comet to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Comet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:04+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:39+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-comet\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: CometPlugin.php:114 +msgid "Plugin to do \"real time\" updates using Comet/Bayeux." +msgstr "" +"Un astenn evit ober hizivadennoù \"war ar prim\" en ur implijout Comet/" +"Bayeux." diff --git a/plugins/Comet/locale/de/LC_MESSAGES/Comet.po b/plugins/Comet/locale/de/LC_MESSAGES/Comet.po new file mode 100644 index 000000000..9ddacb8e4 --- /dev/null +++ b/plugins/Comet/locale/de/LC_MESSAGES/Comet.po @@ -0,0 +1,26 @@ +# Translation of StatusNet - Comet to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Comet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:29+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:35:20+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-comet\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: CometPlugin.php:114 +msgid "Plugin to do \"real time\" updates using Comet/Bayeux." +msgstr "Plugin für Echtzeit-Aktualisierungen mit Comet/Bayeux." diff --git a/plugins/DirectionDetector/locale/br/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/br/LC_MESSAGES/DirectionDetector.po new file mode 100644 index 000000000..1e0c134e1 --- /dev/null +++ b/plugins/DirectionDetector/locale/br/LC_MESSAGES/DirectionDetector.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - DirectionDetector to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Fulup +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - DirectionDetector\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:30+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-directiondetector\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: DirectionDetectorPlugin.php:264 +msgid "Shows notices with right-to-left content in correct direction." +msgstr "" +"Diskwel a ra war an tu mat ar c'hemennoù enno testennoù skrivet a-zehou da " +"gleiz." diff --git a/plugins/DiskCache/locale/br/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/br/LC_MESSAGES/DiskCache.po new file mode 100644 index 000000000..70cf26574 --- /dev/null +++ b/plugins/DiskCache/locale/br/LC_MESSAGES/DiskCache.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - DiskCache to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Fulup +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - DiskCache\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:31+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:49+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-diskcache\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: DiskCachePlugin.php:175 +msgid "Plugin to implement cache interface with disk files." +msgstr "" +"Astenn evit emplementañ un etrefas krubuilh gant restroù eus ar bladenn" diff --git a/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po index caafa7ba8..d647fe3f6 100644 --- a/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po +++ b/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Disqus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:26+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:06+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:07+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:43+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-disqus\n" @@ -27,10 +27,12 @@ msgid "" "Please enable JavaScript to view the [comments powered by Disqus](http://" "disqus.com/?ref_noscript=%s)." msgstr "" +"Mar plij gweredekait JavaScript evit gwelet an [evezhiadennoù enlusket gant " +"Disqus] (http://disqus.com/?ref_noscript=%s)." #: DisqusPlugin.php:149 msgid "Comments powered by " -msgstr "" +msgstr "Evezhiadennoù enlusket gant " #: DisqusPlugin.php:201 msgid "Comments" diff --git a/plugins/Disqus/locale/de/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/de/LC_MESSAGES/Disqus.po index 12efd0c57..8c98e5918 100644 --- a/plugins/Disqus/locale/de/LC_MESSAGES/Disqus.po +++ b/plugins/Disqus/locale/de/LC_MESSAGES/Disqus.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Disqus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:26+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:32+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:07+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-07 21:20:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-disqus\n" @@ -28,6 +28,8 @@ msgid "" "Please enable JavaScript to view the [comments powered by Disqus](http://" "disqus.com/?ref_noscript=%s)." msgstr "" +"Bitte aktiviere JavaScript, um die [von Disqus bereitgestellten Kommentare]" +"(http://disqus.com/?ref_noscript=%s) anzuzeigen." #: DisqusPlugin.php:149 msgid "Comments powered by " diff --git a/plugins/Disqus/locale/gl/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/gl/LC_MESSAGES/Disqus.po new file mode 100644 index 000000000..9c61bad73 --- /dev/null +++ b/plugins/Disqus/locale/gl/LC_MESSAGES/Disqus.po @@ -0,0 +1,43 @@ +# Translation of StatusNet - Disqus to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Disqus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:42+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:41:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-disqus\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: DisqusPlugin.php:142 +#, php-format +msgid "" +"Please enable JavaScript to view the [comments powered by Disqus](http://" +"disqus.com/?ref_noscript=%s)." +msgstr "" + +#: DisqusPlugin.php:149 +msgid "Comments powered by " +msgstr "" + +#: DisqusPlugin.php:201 +msgid "Comments" +msgstr "Comentarios" + +#: DisqusPlugin.php:241 +msgid "" +"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice " +"pages." +msgstr "" diff --git a/plugins/Disqus/locale/te/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/te/LC_MESSAGES/Disqus.po new file mode 100644 index 000000000..ccd23e668 --- /dev/null +++ b/plugins/Disqus/locale/te/LC_MESSAGES/Disqus.po @@ -0,0 +1,43 @@ +# Translation of StatusNet - Disqus to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Disqus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:43+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:41:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-disqus\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: DisqusPlugin.php:142 +#, php-format +msgid "" +"Please enable JavaScript to view the [comments powered by Disqus](http://" +"disqus.com/?ref_noscript=%s)." +msgstr "" + +#: DisqusPlugin.php:149 +msgid "Comments powered by " +msgstr "" + +#: DisqusPlugin.php:201 +msgid "Comments" +msgstr "వ్యాఖ్యలు" + +#: DisqusPlugin.php:241 +msgid "" +"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice " +"pages." +msgstr "" diff --git a/plugins/EmailSummary/EmailSummaryPlugin.php b/plugins/EmailSummary/EmailSummaryPlugin.php new file mode 100644 index 000000000..58c40e43c --- /dev/null +++ b/plugins/EmailSummary/EmailSummaryPlugin.php @@ -0,0 +1,202 @@ +<?php +/** + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * Sends an email summary of the inbox to users in the network + * + * PHP version 5 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Sample + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Plugin for sending email summaries to users + * + * @category Email + * @package StatusNet + * @author Brion Vibber <brionv@status.net> + * @author Evan Prodromou <evan@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class EmailSummaryPlugin extends Plugin +{ + /** + * Database schema setup + * + * @return boolean hook value + */ + + function onCheckSchema() + { + $schema = Schema::get(); + + // For storing user-submitted flags on profiles + + $schema->ensureTable('email_summary_status', + array(new ColumnDef('user_id', 'integer', null, + false, 'PRI'), + new ColumnDef('send_summary', 'tinyint', null, + false, null, 1), + new ColumnDef('last_summary_id', 'integer', null, + true), + new ColumnDef('created', 'datetime', null, + false), + new ColumnDef('modified', 'datetime', null, + false), + ) + ); + return true; + } + + /** + * Load related modules when needed + * + * @param string $cls Name of the class to be loaded + * + * @return boolean hook value; true means continue processing, false means stop. + * + */ + + function onAutoload($cls) + { + $dir = dirname(__FILE__); + + switch ($cls) + { + case 'SiteEmailSummaryHandler': + case 'UserEmailSummaryHandler': + include_once $dir . '/'.strtolower($cls).'.php'; + return false; + case 'Email_summary_status': + include_once $dir . '/'.$cls.'.php'; + return false; + default: + return true; + } + } + + /** + * Version info for this plugin + * + * @param array &$versions array of version data + * + * @return boolean hook value; true means continue processing, false means stop. + * + */ + + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'EmailSummary', + 'version' => STATUSNET_VERSION, + 'author' => 'Evan Prodromou', + 'homepage' => 'http://status.net/wiki/Plugin:EmailSummary', + 'rawdescription' => + _m('Send an email summary of the inbox to users.')); + return true; + } + + /** + * Register our queue handlers + * + * @param QueueManager $qm Current queue manager + * + * @return boolean hook value + */ + + function onEndInitializeQueueManager($qm) + { + $qm->connect('sitesum', 'SiteEmailSummaryHandler'); + $qm->connect('usersum', 'UserEmailSummaryHandler'); + return true; + } + + /** + * Add a checkbox to turn off email summaries + * + * @param Action $action Action being executed (emailsettings) + * + * @return boolean hook value + */ + + function onEndEmailFormData($action) + { + $user = common_current_user(); + + $action->elementStart('li'); + $action->checkbox('emailsummary', + // TRANS: Checkbox label in e-mail preferences form. + _('Send me a periodic summary of updates from my network.'), + Email_summary_status::getSendSummary($user->id)); + $action->elementEnd('li'); + return true; + } + + /** + * Add a checkbox to turn off email summaries + * + * @param Action $action Action being executed (emailsettings) + * + * @return boolean hook value + */ + + function onEndEmailSaveForm($action) + { + $sendSummary = $action->boolean('emailsummary'); + + $user = common_current_user(); + + if (!empty($user)) { + + $ess = Email_summary_status::staticGet('user_id', $user->id); + + if (empty($ess)) { + + $ess = new Email_summary_status(); + + $ess->user_id = $user->id; + $ess->send_summary = $sendSummary; + $ess->created = common_sql_now(); + $ess->modified = common_sql_now(); + + $ess->insert(); + + } else { + + $orig = clone($ess); + + $ess->send_summary = $sendSummary; + $ess->modified = common_sql_now(); + + $ess->update($orig); + } + } + + return true; + } +} diff --git a/plugins/EmailSummary/Email_summary_status.php b/plugins/EmailSummary/Email_summary_status.php new file mode 100644 index 000000000..5b5b231e3 --- /dev/null +++ b/plugins/EmailSummary/Email_summary_status.php @@ -0,0 +1,167 @@ +<?php +/** + * Data class for email summary status + * + * PHP version 5 + * + * @category Data + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + * + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; + +/** + * Data class for email summaries + * + * Email summary information for users + * + * @category Action + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + * + * @see DB_DataObject + */ + +class Email_summary_status extends Memcached_DataObject +{ + public $__table = 'email_summary_status'; // table name + public $user_id; // int(4) primary_key not_null + public $send_summary; // tinyint not_null + public $last_summary_id; // int(4) null + public $created; // datetime not_null + public $modified; // datetime not_null + + /** + * Get an instance by key + * + * @param string $k Key to use to lookup (usually 'user_id' for this class) + * @param mixed $v Value to lookup + * + * @return Email_summary_status object found, or null for no hits + * + */ + function staticGet($k, $v=null) + { + return Memcached_DataObject::staticGet('email_summary_status', $k, $v); + } + + /** + * return table definition for DB_DataObject + * + * DB_DataObject needs to know something about the table to manipulate + * instances. This method provides all the DB_DataObject needs to know. + * + * @return array array of column definitions + */ + + function table() + { + return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL, + 'send_summary' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL, + 'last_summary_id' => DB_DATAOBJECT_INT, + 'created' => DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL, + 'modified' => DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL); + } + + /** + * return key definitions for DB_DataObject + * + * @return array list of key field names + */ + + function keys() + { + return array_keys($this->keyTypes()); + } + + /** + * return key definitions for Memcached_DataObject + * + * Our caching system uses the same key definitions, but uses a different + * method to get them. This key information is used to store and clear + * cached data, so be sure to list any key that will be used for static + * lookups. + * + * @return array associative array of key definitions, field name to type: + * 'K' for primary key: for compound keys, add an entry for each component; + * 'U' for unique keys: compound keys are not well supported here. + */ + function keyTypes() + { + return array('user_id' => 'K'); + } + + /** + * Magic formula for non-autoincrementing integer primary keys + * + * @return array magic three-false array that stops auto-incrementing. + */ + + function sequenceKey() + { + return array(false, false, false); + } + + /** + * Helper function + * + * @param integer $user_id ID of the user to get a count for + * + * @return int flag for whether to send this user a summary email + */ + + static function getSendSummary($user_id) + { + $ess = Email_summary_status::staticGet('user_id', $user_id); + + if (!empty($ess)) { + return $ess->send_summary; + } else { + return 1; + } + } + + /** + * Get email summary status for a user + * + * @param integer $user_id ID of the user to get a count for + * + * @return Email_summary_status instance for this user, with count already incremented. + */ + + static function getLastSummaryID($user_id) + { + $ess = Email_summary_status::staticGet('user_id', $user_id); + + if (!empty($ess)) { + return $ess->last_summary_id; + } else { + return null; + } + } +} diff --git a/plugins/EmailSummary/locale/EmailSummary.pot b/plugins/EmailSummary/locale/EmailSummary.pot new file mode 100644 index 000000000..ccd7f2af6 --- /dev/null +++ b/plugins/EmailSummary/locale/EmailSummary.pot @@ -0,0 +1,21 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: EmailSummaryPlugin.php:120 +msgid "Send an email summary of the inbox to users." +msgstr "" diff --git a/plugins/EmailSummary/locale/fr/LC_MESSAGES/EmailSummary.po b/plugins/EmailSummary/locale/fr/LC_MESSAGES/EmailSummary.po new file mode 100644 index 000000000..c40a24259 --- /dev/null +++ b/plugins/EmailSummary/locale/fr/LC_MESSAGES/EmailSummary.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - EmailSummary to French (Français) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - EmailSummary\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:08+0000\n" +"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:01+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fr\n" +"X-Message-Group: #out-statusnet-plugin-emailsummary\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: EmailSummaryPlugin.php:120 +msgid "Send an email summary of the inbox to users." +msgstr "" +"Envoyer un résumé de la boîte de réception par courrier électronique aux " +"utilisateurs." diff --git a/plugins/EmailSummary/locale/mk/LC_MESSAGES/EmailSummary.po b/plugins/EmailSummary/locale/mk/LC_MESSAGES/EmailSummary.po new file mode 100644 index 000000000..d13f7666b --- /dev/null +++ b/plugins/EmailSummary/locale/mk/LC_MESSAGES/EmailSummary.po @@ -0,0 +1,26 @@ +# Translation of StatusNet - EmailSummary to Macedonian (Македонски) +# Expored from translatewiki.net +# +# Author: Bjankuloski06 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - EmailSummary\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:08+0000\n" +"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:01+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: mk\n" +"X-Message-Group: #out-statusnet-plugin-emailsummary\n" +"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" + +#: EmailSummaryPlugin.php:120 +msgid "Send an email summary of the inbox to users." +msgstr "Испрати им на корисниците краток преглед на примената пошта." diff --git a/plugins/EmailSummary/locale/nl/LC_MESSAGES/EmailSummary.po b/plugins/EmailSummary/locale/nl/LC_MESSAGES/EmailSummary.po new file mode 100644 index 000000000..838d071d0 --- /dev/null +++ b/plugins/EmailSummary/locale/nl/LC_MESSAGES/EmailSummary.po @@ -0,0 +1,26 @@ +# Translation of StatusNet - EmailSummary to Dutch (Nederlands) +# Expored from translatewiki.net +# +# Author: Siebrand +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - EmailSummary\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:08+0000\n" +"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:01+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: nl\n" +"X-Message-Group: #out-statusnet-plugin-emailsummary\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: EmailSummaryPlugin.php:120 +msgid "Send an email summary of the inbox to users." +msgstr "E-mailsamenvatting verzenden naar het Postvak IN van gebruikers." diff --git a/plugins/EmailSummary/sendemailsummary.php b/plugins/EmailSummary/sendemailsummary.php new file mode 100644 index 000000000..37bfdcfbd --- /dev/null +++ b/plugins/EmailSummary/sendemailsummary.php @@ -0,0 +1,47 @@ +#!/usr/bin/env php +<?php +/* + * StatusNet - a distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..')); + +$shortoptions = 'i:n:a'; +$longoptions = array('id=', 'nickname=', 'all'); + +$helptext = <<<END_OF_SENDEMAILSUMMARY_HELP +sendemailsummary.php [options] +Send an email summary of the inbox to users + + -i --id ID of user to send summary to + -n --nickname nickname of the user to send summary to + -a --all send summary to all users + +END_OF_SENDEMAILSUMMARY_HELP; + +require_once INSTALLDIR.'/scripts/commandline.inc'; + +$qm = QueueManager::get(); + +// enqueue summary for user or all users + +try { + $user = getUser(); + $qm->enqueue($user->id, 'usersum'); +} catch (NoUserArgumentException $nuae) { + $qm->enqueue(null, 'sitesum'); +} diff --git a/plugins/EmailSummary/siteemailsummaryhandler.php b/plugins/EmailSummary/siteemailsummaryhandler.php new file mode 100644 index 000000000..595c3267a --- /dev/null +++ b/plugins/EmailSummary/siteemailsummaryhandler.php @@ -0,0 +1,96 @@ +<?php +/* + * StatusNet - the distributed open-source microblogging tool + * + * Handler for queue items of type 'sitesum', sends email summaries + * to all users on the site. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Sample + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * + * Handler for queue items of type 'sitesum', sends email summaries + * to all users on the site. + * + * @category Email + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class SiteEmailSummaryHandler extends QueueHandler +{ + + /** + * Return transport keyword which identifies items this queue handler + * services; must be defined for all subclasses. + * + * Must be 8 characters or less to fit in the queue_item database. + * ex "email", "jabber", "sms", "irc", ... + * + * @return string + */ + + function transport() + { + return 'sitesum'; + } + + /** + * Handle the site + * + * @param mixed $object + * @return boolean true on success, false on failure + */ + + function handle($object) + { + $qm = QueueManager::get(); + + try { + // Enqueue a summary for all users + + $user = new User(); + $user->find(); + + while ($user->fetch()) { + try { + $qm->enqueue($user->id, 'usersum'); + } catch (Exception $e) { + common_log(LOG_WARNING, $e->getMessage()); + continue; + } + } + } catch (Exception $e) { + common_log(LOG_WARNING, $e->getMessage()); + } + + return true; + } +} + diff --git a/plugins/EmailSummary/useremailsummaryhandler.php b/plugins/EmailSummary/useremailsummaryhandler.php new file mode 100644 index 000000000..b1ebd0c42 --- /dev/null +++ b/plugins/EmailSummary/useremailsummaryhandler.php @@ -0,0 +1,226 @@ +<?php +/** + * StatusNet - the distributed open-source microblogging tool + * + * Handler for queue items of type 'usersum', sends an email summaries + * to a particular user. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Sample + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Handler for queue items of type 'usersum', sends an email summaries + * to a particular user. + * + * @category Email + * @package StatusNet + * @author Evan Prodromou <evan@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class UserEmailSummaryHandler extends QueueHandler +{ + // Maximum number of notices to include by default. This is probably too much. + + const MAX_NOTICES = 200; + + /** + * Return transport keyword which identifies items this queue handler + * services; must be defined for all subclasses. + * + * Must be 8 characters or less to fit in the queue_item database. + * ex "email", "jabber", "sms", "irc", ... + * + * @return string + */ + + function transport() + { + return 'sitesum'; + } + + /** + * Send a summary email to the user + * + * @param mixed $object + * @return boolean true on success, false on failure + */ + + function handle($user_id) + { + // Skip if they've asked not to get summaries + + $ess = Email_summary_status::staticGet('user_id', $user_id); + + if (!empty($ess) && !$ess->send_summary) { + common_log(LOG_INFO, sprintf('Not sending email summary for user %s by request.', $user_id)); + return true; + } + + $since_id = null; + + if (!empty($ess)) { + $since_id = $ess->last_summary_id; + } + + $user = User::staticGet('id', $user_id); + + if (empty($user)) { + common_log(LOG_INFO, sprintf('Not sending email summary for user %s; no such user.', $user_id)); + return true; + } + + if (empty($user->email)) { + common_log(LOG_INFO, sprintf('Not sending email summary for user %s; no email address.', $user_id)); + return true; + } + + $profile = $user->getProfile(); + + if (empty($profile)) { + common_log(LOG_WARNING, sprintf('Not sending email summary for user %s; no profile.', $user_id)); + return true; + } + + $notice = $user->ownFriendsTimeline(0, self::MAX_NOTICES, $since_id); + + if (empty($notice) || $notice->N == 0) { + common_log(LOG_WARNING, sprintf('Not sending email summary for user %s; no notices.', $user_id)); + return true; + } + + // XXX: This is risky fingerpoken in der objektvars, but I didn't feel like + // figuring out a better way. -ESP + + $new_top = null; + + if ($notice instanceof ArrayWrapper) { + $new_top = $notice->_items[0]->id; + } + + $out = new XMLStringer(); + + $out->raw(sprintf(_('<p>Recent updates from %1s for %2s:</p>'), + common_config('site', 'name'), + $profile->getBestName())); + + + $out->elementStart('table', array('width' => '541px', 'style' => 'border: none')); + + while ($notice->fetch()) { + + $profile = Profile::staticGet('id', $notice->profile_id); + + if (empty($profile)) { + continue; + } + + $avatar = $profile->getAvatar(AVATAR_STREAM_SIZE); + + $out->elementStart('tr'); + $out->elementStart('td', array('width' => AVATAR_STREAM_SIZE, + 'height' => AVATAR_STREAM_SIZE, + 'align' => 'left', + 'valign' => 'top')); + $out->element('img', array('src' => ($avatar) ? + $avatar->displayUrl() : + Avatar::defaultImage($avatar_size), + 'class' => 'avatar photo', + 'width' => AVATAR_STREAM_SIZE, + 'height' => AVATAR_STREAM_SIZE, + 'alt' => $profile->getBestName())); + $out->elementEnd('td'); + $out->elementStart('td', array('align' => 'left', + 'valign' => 'top')); + $out->element('a', array('href' => $profile->profileurl), + $profile->nickname); + $out->text(' '); + $out->raw($notice->rendered); + $out->element('br'); // yeah, you know it. I just wrote a <br> in the middle of my table layout. + $noticeurl = $notice->bestUrl(); + // above should always return an URL + assert(!empty($noticeurl)); + $out->elementStart('a', array('rel' => 'bookmark', + 'class' => 'timestamp', + 'href' => $noticeurl)); + $dt = common_date_iso8601($notice->created); + $out->element('abbr', array('class' => 'published', + 'title' => $dt), + common_date_string($notice->created)); + $out->elementEnd('a'); + if ($notice->hasConversation()) { + $conv = Conversation::staticGet('id', $notice->conversation); + $convurl = $conv->uri; + if (!empty($convurl)) { + $out->text(' '); + $out->element('a', + array('href' => $convurl.'#notice-'.$notice->id, + 'class' => 'response'), + _('in context')); + } + } + $out->elementEnd('td'); + $out->elementEnd('tr'); + } + + $out->elementEnd('table'); + + $out->raw(sprintf(_('<p><a href="%1s">change your email settings for %2s</a></p>'), + common_local_url('emailsettings'), + common_config('site', 'name'))); + + $body = $out->getString(); + + // FIXME: do something for people who don't like HTML email + + mail_to_user($user, _('Updates from your network'), $body, + array('Content-Type' => 'text/html; charset=UTF-8')); + + if (empty($ess)) { + + $ess = new Email_summary_status(); + + $ess->user_id = $user_id; + $ess->created = common_sql_now(); + $ess->last_summary_id = $new_top; + $ess->modified = common_sql_now(); + + $ess->insert(); + + } else { + + $orig = clone($ess); + + $ess->last_summary_id = $new_top; + $ess->modified = common_sql_now(); + + $ess->update($orig); + } + + return true; + } +} diff --git a/plugins/Facebook/FBConnectAuth.php b/plugins/Facebook/FBConnectAuth.php index d6d378626..84d51578f 100644 --- a/plugins/Facebook/FBConnectAuth.php +++ b/plugins/Facebook/FBConnectAuth.php @@ -257,13 +257,10 @@ class FBConnectauthAction extends Action } } - $nickname = $this->trimmed('newname'); - - if (!Validate::string($nickname, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { - $this->showForm(_m('Nickname must have only lowercase letters and numbers and no spaces.')); - return; + try { + $nickname = Nickname::normalize($this->trimmed('newname')); + } catch (NicknameException $e) { + $this->showForm($e->getMessage()); } if (!User::allowed_nickname($nickname)) { @@ -447,9 +444,7 @@ class FBConnectauthAction extends Action function isNewNickname($str) { - if (!Validate::string($str, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { + if (!Nickname::isValid($str)) { return false; } if (!User::allowed_nickname($str)) { diff --git a/plugins/Facebook/facebookaction.php b/plugins/Facebook/facebookaction.php index 4c15fc039..e4edcea0d 100644 --- a/plugins/Facebook/facebookaction.php +++ b/plugins/Facebook/facebookaction.php @@ -370,7 +370,7 @@ class FacebookAction extends Action $this->showPage(_m('No notice content!')); return; } else { - $content_shortened = common_shorten_links($content); + $content_shortened = $user->shortenLinks($content); if (Notice::contentTooLong($content_shortened)) { // @todo FIXME: i18n: Needs plural. diff --git a/plugins/Facebook/locale/Facebook.pot b/plugins/Facebook/locale/Facebook.pot index b93939299..6c4466621 100644 --- a/plugins/Facebook/locale/Facebook.pot +++ b/plugins/Facebook/locale/Facebook.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+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" @@ -138,23 +138,19 @@ msgstr "" msgid "Not a valid invitation code." msgstr "" -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "" -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "" -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "" -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "" diff --git a/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po index cb73ace8e..453445d85 100644 --- a/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:52+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -147,23 +147,19 @@ msgstr "N'eo ket aotreet krouiñ kontoù." msgid "Not a valid invitation code." msgstr "N'eo ket reizh ar c'hod pedadenn." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Lesanv nann-aotreet." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Implijet eo dija al lesanv-se. Klaskit unan all." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "" -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Anv implijer pe ger-tremen direizh." @@ -452,7 +448,7 @@ msgstr "Enrollañ" #: facebookadminpanel.php:210 msgid "Save Facebook settings" -msgstr "" +msgstr "Enrollañ arventennoù Facebook" #. TRANS: Instructions. #: FBConnectSettings.php:66 @@ -465,12 +461,12 @@ msgstr "" #: FBConnectSettings.php:98 msgid "Connected Facebook user" -msgstr "" +msgstr "Implijer Facebook kevreet" #. TRANS: Legend. #: FBConnectSettings.php:118 msgid "Disconnect my account from Facebook" -msgstr "" +msgstr "Digevreañ ma c'hont deus Facebook" #. TRANS: Followed by a link containing text "set a password". #: FBConnectSettings.php:125 diff --git a/plugins/Facebook/locale/de/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/de/LC_MESSAGES/Facebook.po index 6293a7af8..d9cec5fdc 100644 --- a/plugins/Facebook/locale/de/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/de/LC_MESSAGES/Facebook.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:52+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -167,25 +167,19 @@ msgstr "Registrierung nicht erlaubt." msgid "Not a valid invitation code." msgstr "Kein gültiger Einladungscode." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Der Benutzername darf nur aus Kleinbuchstaben und Zahlen bestehen. " -"Leerzeichen sind nicht erlaubt." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Benutzername nicht erlaubt." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Benutzername wird bereits verwendet. Suche dir einen anderen aus." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Fehler beim Verbinden des Benutzers mit Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Benutzername oder Passwort falsch." @@ -582,3 +576,8 @@ msgstr "%s erlauben, meinen Facebook-Status zu aktualisieren" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Synchronisierungs-Einstellungen" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Der Benutzername darf nur aus Kleinbuchstaben und Zahlen bestehen. " +#~ "Leerzeichen sind nicht erlaubt." diff --git a/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po index 8bb4e4fbc..0f4599c7f 100644 --- a/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po @@ -11,13 +11,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:52+0000\n" "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -162,25 +162,19 @@ msgstr "Registro de usuario no permitido." msgid "Not a valid invitation code." msgstr "No es un código de invitación válido." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"El nombre de usuario debe tener sólo letras minúsculas y números, sin " -"espacios." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Nombre de usuario no autorizado." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "El nombre de usuario ya existe. Prueba con otro." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Error de conexión del usuario a Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Nombre de usuario o contraseña inválidos." @@ -567,3 +561,8 @@ msgstr "" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "El nombre de usuario debe tener sólo letras minúsculas y números, sin " +#~ "espacios." diff --git a/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po index d62550a39..0288bb000 100644 --- a/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:53+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -166,25 +166,19 @@ msgstr "Inscription non autorisée." msgid "Not a valid invitation code." msgstr "Le code d’invitation n’est pas valide." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Les pseudonymes ne peuvent contenir que des lettres minuscules et des " -"chiffres, sans espaces." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Pseudonyme non autorisé." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Pseudonyme déjà utilisé. Essayez-en un autre." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Erreur de connexion de l’utilisateur à Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Nom d’utilisateur ou mot de passe incorrect." @@ -585,3 +579,8 @@ msgstr "Autoriser %s à mettre à jour mon statut Facebook" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Préférences de synchronisation" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Les pseudonymes ne peuvent contenir que des lettres minuscules et des " +#~ "chiffres, sans espaces." diff --git a/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po index 13478bc0f..7ac523490 100644 --- a/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:53+0000\n" "Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -148,25 +148,19 @@ msgstr "Non se permite o rexistro." msgid "Not a valid invitation code." msgstr "O código da invitación é incorrecto." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"O alcume debe ter só letras en minúscula e números, e non pode ter espazos " -"en branco." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "" -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Ese alcume xa está en uso. Probe con outro." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "" -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "O nome de usuario ou contrasinal non son correctos." @@ -549,3 +543,8 @@ msgstr "" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "O alcume debe ter só letras en minúscula e números, e non pode ter " +#~ "espazos en branco." diff --git a/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po index 00153ab2f..eb276166c 100644 --- a/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:53+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -161,23 +161,19 @@ msgstr "Creation de conto non permittite." msgid "Not a valid invitation code." msgstr "Le codice de invitation es invalide." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Pseudonymo non permittite." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Pseudonymo ja in uso. Proba un altere." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Error durante le connexion del usator a Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Nomine de usator o contrasigno invalide." @@ -574,3 +570,7 @@ msgstr "Permitter a %s de actualisar mi stato de Facebook" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Preferentias de synchronisation" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios." diff --git a/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po index b663b17c5..e670a7459 100644 --- a/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:34+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:53+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -161,24 +161,19 @@ msgstr "Регистрацијата не е дозволена." msgid "Not a valid invitation code." msgstr "Ова не е важечки код за покана." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Прекарот мора да се состои само од мали букви и бројки, без празни места." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Прекарот не е дозволен." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Прекарот е зафатен. Одберете друг." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Грешка при поврзувањето на корисникот со Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Неважечко корисничко име или лозинка." @@ -571,3 +566,7 @@ msgstr "Дозволи %s да го менува мојот статус на Fa #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Услогласи нагодувања" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Прекарот мора да се состои само од мали букви и бројки, без празни места." diff --git a/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po index d35302232..1d7873e97 100644 --- a/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:35+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:56+0000\n" "Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -143,23 +143,19 @@ msgstr "Registrering ikke tillatt." msgid "Not a valid invitation code." msgstr "Ikke en gyldig invitasjonskode." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "Kallenavn kan kun ha små bokstaver og tall og ingen mellomrom." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Kallenavn er ikke tillatt." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Kallenavnet er allerede i bruk. Prøv et annet." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "" -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Ugyldig brukernavn eller passord." @@ -542,3 +538,6 @@ msgstr "Tillat %s å oppdatere min Facebook-status" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "Kallenavn kan kun ha små bokstaver og tall og ingen mellomrom." diff --git a/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po index 0680fec71..6812d8671 100644 --- a/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-30 23:18+0000\n" -"PO-Revision-Date: 2010-10-30 23:21:30+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:53+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:12:45+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75708); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -80,7 +80,7 @@ msgid "" "Facebook to a local account. You can either create a new account, or connect " "with your existing account, if you have one." msgstr "" -"De is de eerste keer dat u aanmeldt bij %s en dan moeten we uw " +"Dit is de eerste keer dat u aanmeldt bij %s en dan moeten we uw " "Facebookgebruiker koppelen met uw lokale gebruiker. U kunt een nieuwe " "gebruiker aanmaken of koppelen met een bestaande gebruiker als u die al hebt." @@ -166,26 +166,20 @@ msgstr "Registratie is niet toegestaan." msgid "Not a valid invitation code." msgstr "De uitnodigingscode is ongeldig." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties " -"zijn niet toegestaan." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Gebruikersnaam niet toegestaan." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "" "De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Fout bij het verbinden van de gebruiker met Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Ongeldige gebruikersnaam of wachtwoord." @@ -582,3 +576,8 @@ msgstr "%s toestaan mijn Facebookstatus bij te werken" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Synchronisatievooreuren" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties " +#~ "zijn niet toegestaan." diff --git a/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po index 88b3ea2d1..70fbdf3e5 100644 --- a/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:35+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:56+0000\n" "Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-" "br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt-br\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -145,25 +145,19 @@ msgstr "Não é permitido o registro." msgid "Not a valid invitation code." msgstr "O código de convite é inválido." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"O apelido deve conter apenas letras minúsculas e números e não pode ter " -"espaços." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Apelido não permitido." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Este apelido já está em uso. Tente outro." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Erro ao conectar o usuário ao Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "" @@ -548,3 +542,8 @@ msgstr "" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "O apelido deve conter apenas letras minúsculas e números e não pode ter " +#~ "espaços." diff --git a/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po index c8fbf25fe..5833cdb95 100644 --- a/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:35+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:56+0000\n" "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tl\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -167,25 +167,19 @@ msgstr "Hindi pinapahintulutan ang pagpapatala." msgid "Not a valid invitation code." msgstr "Hindi isang tanggap na kodigo ng paanyaya." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Ang palayaw ay dapat na may mga maliliit na mga titik lamang at mga bilang " -"at walang mga patlang." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Hindi pinapahintulutan ang palayaw." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Ginagamit na ang palayaw. Subukan ang iba." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "May kamalian sa pag-ugnay ng tagagamit sa Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Hindi tanggap na pangalan ng tagagamit o hudyat." @@ -587,3 +581,8 @@ msgstr "Pahintulutan si %s na isapanahon ang aking katayuan ng Facebook" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Mga nais sa pagsabay" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Ang palayaw ay dapat na may mga maliliit na mga titik lamang at mga " +#~ "bilang at walang mga patlang." diff --git a/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po index 058733a1f..a8bc05155 100644 --- a/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:35+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:56+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -163,25 +163,19 @@ msgstr "Реєстрацію не дозволено." msgid "Not a valid invitation code." msgstr "Це не дійсний код запрошення." -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Ім’я користувача повинно складатись з літер нижнього регістру і цифр, ніяких " -"інтервалів." - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "Нікнейм не допускається." -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "Цей нікнейм вже використовується. Спробуйте інший." -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "Помилка при підключенні до Facebook." -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "Невірне ім’я або пароль." @@ -577,3 +571,8 @@ msgstr "Дозволити додатку %s оновлювати мій ста #: facebooksettings.php:134 msgid "Sync preferences" msgstr "Параметри синхронізації" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Ім’я користувача повинно складатись з літер нижнього регістру і цифр, " +#~ "ніяких інтервалів." diff --git a/plugins/Facebook/locale/vi/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/vi/LC_MESSAGES/Facebook.po new file mode 100644 index 000000000..31b660d19 --- /dev/null +++ b/plugins/Facebook/locale/vi/LC_MESSAGES/Facebook.po @@ -0,0 +1,540 @@ +# Translation of StatusNet - Facebook to Vietnamese (Tiếng Việt) +# Expored from translatewiki.net +# +# Author: Minh Nguyen +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Facebook\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:56+0000\n" +"Language-Team: Vietnamese <http://translatewiki.net/wiki/Portal:vi>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: vi\n" +"X-Message-Group: #out-statusnet-plugin-facebook\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: facebookutil.php:429 +#, php-format +msgid "" +"Hi, %1$s. We're sorry to inform you that we are unable to update your " +"Facebook status from %2$s, and have disabled the Facebook application for " +"your account. This may be because you have removed the Facebook " +"application's authorization, or have deleted your Facebook account. You can " +"re-enable the Facebook application and automatic status updating by re-" +"installing the %2$s Facebook application.\n" +"\n" +"Regards,\n" +"\n" +"%2$s" +msgstr "" + +#: FBConnectAuth.php:55 +msgid "You must be logged into Facebook to use Facebook Connect." +msgstr "" + +#: FBConnectAuth.php:79 +msgid "There is already a local user linked with this Facebook account." +msgstr "" + +#: FBConnectAuth.php:91 FBConnectSettings.php:166 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: FBConnectAuth.php:96 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: FBConnectAuth.php:106 +msgid "An unknown error has occured." +msgstr "" + +#. TRANS: %s is the site name. +#: FBConnectAuth.php:121 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your " +"Facebook to a local account. You can either create a new account, or connect " +"with your existing account, if you have one." +msgstr "" + +#. TRANS: Page title. +#: FBConnectAuth.php:128 +msgid "Facebook Account Setup" +msgstr "Thiết lập Tài khoản Facebook" + +#. TRANS: Legend. +#: FBConnectAuth.php:162 +msgid "Connection options" +msgstr "" + +#. TRANS: %s is the name of the license used by the user for their status updates. +#: FBConnectAuth.php:172 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" + +#. TRANS: Legend. +#: FBConnectAuth.php:189 +msgid "Create new account" +msgstr "" + +#: FBConnectAuth.php:191 +msgid "Create a new user with this nickname." +msgstr "" + +#. TRANS: Field label. +#: FBConnectAuth.php:195 +msgid "New nickname" +msgstr "" + +#: FBConnectAuth.php:197 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#. TRANS: Submit button. +#: FBConnectAuth.php:201 +msgctxt "BUTTON" +msgid "Create" +msgstr "Tạo" + +#: FBConnectAuth.php:207 +msgid "Connect existing account" +msgstr "" + +#: FBConnectAuth.php:209 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Facebook." +msgstr "" + +#. TRANS: Field label. +#: FBConnectAuth.php:213 +msgid "Existing nickname" +msgstr "" + +#: FBConnectAuth.php:216 facebookaction.php:277 +msgid "Password" +msgstr "Mật khẩu" + +#. TRANS: Submit button. +#: FBConnectAuth.php:220 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Kết nối" + +#. TRANS: Client error trying to register with registrations not allowed. +#. TRANS: Client error trying to register with registrations 'invite only'. +#: FBConnectAuth.php:237 FBConnectAuth.php:247 +msgid "Registration not allowed." +msgstr "" + +#. TRANS: Client error trying to register with an invalid invitation code. +#: FBConnectAuth.php:255 +msgid "Not a valid invitation code." +msgstr "" + +#: FBConnectAuth.php:267 +msgid "Nickname not allowed." +msgstr "" + +#: FBConnectAuth.php:272 +msgid "Nickname already in use. Try another one." +msgstr "" + +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 +msgid "Error connecting user to Facebook." +msgstr "" + +#: FBConnectAuth.php:310 +msgid "Invalid username or password." +msgstr "" + +#. TRANS: Page title. +#: facebooklogin.php:90 facebookaction.php:255 +msgid "Login" +msgstr "Đăng nhập" + +#. TRANS: Legend. +#: facebooknoticeform.php:144 +msgid "Send a notice" +msgstr "" + +#. TRANS: Field label. +#: facebooknoticeform.php:157 +#, php-format +msgid "What's up, %s?" +msgstr "" + +#: facebooknoticeform.php:169 +msgid "Available characters" +msgstr "" + +#. TRANS: Button text. +#: facebooknoticeform.php:196 +msgctxt "BUTTON" +msgid "Send" +msgstr "Gửi" + +#: facebookhome.php:103 +msgid "Server error: Couldn't get user!" +msgstr "" + +#: facebookhome.php:122 +msgid "Incorrect username or password." +msgstr "" + +#. TRANS: Page title. +#. TRANS: %1$s is a user nickname, %2$s is a page number. +#: facebookhome.php:153 +#, php-format +msgid "%1$s and friends, page %2$d" +msgstr "" + +#. TRANS: Page title. +#. TRANS: %s is a user nickname +#: facebookhome.php:157 +#, php-format +msgid "%s and friends" +msgstr "%s và bạn bè" + +#. TRANS: Instructions. %s is the application name. +#: facebookhome.php:185 +#, php-format +msgid "" +"If you would like the %s app to automatically update your Facebook status " +"with your latest notice, you need to give it permission." +msgstr "" + +#: facebookhome.php:210 +msgid "Okay, do it!" +msgstr "" + +#. TRANS: Button text. Clicking the button will skip updating Facebook permissions. +#: facebookhome.php:217 +msgctxt "BUTTON" +msgid "Skip" +msgstr "Bỏ qua" + +#: facebookhome.php:244 facebookaction.php:336 +msgid "Pagination" +msgstr "" + +#. TRANS: Pagination link. +#: facebookhome.php:254 facebookaction.php:345 +msgid "After" +msgstr "Sau" + +#. TRANS: Pagination link. +#: facebookhome.php:263 facebookaction.php:353 +msgid "Before" +msgstr "Trước" + +#. TRANS: %s is the name of the site. +#: facebookinvite.php:69 +#, php-format +msgid "Thanks for inviting your friends to use %s." +msgstr "" + +#. TRANS: Followed by an unordered list with invited friends. +#: facebookinvite.php:72 +msgid "Invitations have been sent to the following users:" +msgstr "" + +#: facebookinvite.php:91 +#, php-format +msgid "You have been invited to %s" +msgstr "" + +#. TRANS: %s is the name of the site. +#: facebookinvite.php:101 +#, php-format +msgid "Invite your friends to use %s" +msgstr "" + +#. TRANS: %s is the name of the site. +#: facebookinvite.php:124 +#, php-format +msgid "Friends already using %s:" +msgstr "" + +#. TRANS: Page title. +#: facebookinvite.php:143 +msgid "Send invitations" +msgstr "" + +#. TRANS: Menu item. +#. TRANS: Menu item tab. +#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485 +msgctxt "MENU" +msgid "Facebook" +msgstr "Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookPlugin.php:190 +msgid "Facebook integration configuration" +msgstr "" + +#: FacebookPlugin.php:431 +msgid "Facebook Connect User" +msgstr "Người dùng Kết nối Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookPlugin.php:463 +msgid "Login or register using Facebook" +msgstr "" + +#. TRANS: Tooltip for menu item "Facebook". +#. TRANS: Page title. +#: FacebookPlugin.php:487 FBConnectSettings.php:55 +msgid "Facebook Connect Settings" +msgstr "Thiết lập Kết nối Facebook" + +#: FacebookPlugin.php:591 +msgid "" +"The Facebook plugin allows integrating StatusNet instances with <a href=" +"\"http://facebook.com/\">Facebook</a> and Facebook Connect." +msgstr "" + +#: FBConnectLogin.php:33 +msgid "Already logged in." +msgstr "" + +#. TRANS: Instructions. +#: FBConnectLogin.php:42 +msgid "Login with your Facebook Account" +msgstr "" + +#. TRANS: Page title. +#: FBConnectLogin.php:57 +msgid "Facebook Login" +msgstr "Đăng nhập vào Facebook" + +#: facebookremove.php:53 +msgid "Couldn't remove Facebook user: already deleted." +msgstr "" + +#: facebookremove.php:63 +msgid "Couldn't remove Facebook user." +msgstr "" + +#. TRANS: Link description for 'Home' link that leads to a start page. +#: facebookaction.php:169 +msgctxt "MENU" +msgid "Home" +msgstr "Trang chủ" + +#. TRANS: Tooltip for 'Home' link that leads to a start page. +#: facebookaction.php:171 +msgid "Home" +msgstr "Trang chủ" + +#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited. +#: facebookaction.php:180 +msgctxt "MENU" +msgid "Invite" +msgstr "" + +#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited. +#: facebookaction.php:182 +msgid "Invite" +msgstr "" + +#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set. +#: facebookaction.php:192 +msgctxt "MENU" +msgid "Settings" +msgstr "Thiết lập" + +#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set. +#: facebookaction.php:194 +msgid "Settings" +msgstr "Thiết lập" + +#: facebookaction.php:233 +#, php-format +msgid "" +"To use the %s Facebook Application you need to login with your username and " +"password. Don't have a username yet?" +msgstr "" + +#: facebookaction.php:235 +msgid " a new account." +msgstr "" + +#: facebookaction.php:242 +msgid "Register" +msgstr "Đăng ký" + +#: facebookaction.php:274 +msgid "Nickname" +msgstr "" + +#. TRANS: Login button. +#: facebookaction.php:282 +msgctxt "BUTTON" +msgid "Login" +msgstr "Đăng nhập" + +#: facebookaction.php:288 +msgid "Lost or forgotten password?" +msgstr "" + +#: facebookaction.php:370 +msgid "No notice content!" +msgstr "" + +#: facebookaction.php:377 +#, php-format +msgid "That's too long. Max notice size is %d chars." +msgstr "" + +#: facebookaction.php:431 +msgid "Notices" +msgstr "" + +#: facebookadminpanel.php:52 +msgid "Facebook" +msgstr "Facebook" + +#: facebookadminpanel.php:62 +msgid "Facebook integration settings" +msgstr "" + +#: facebookadminpanel.php:123 +msgid "Invalid Facebook API key. Max length is 255 characters." +msgstr "" + +#: facebookadminpanel.php:129 +msgid "Invalid Facebook API secret. Max length is 255 characters." +msgstr "" + +#: facebookadminpanel.php:178 +msgid "Facebook application settings" +msgstr "Thiết lập ứng dụng Facebook" + +#: facebookadminpanel.php:184 +msgid "API key" +msgstr "" + +#: facebookadminpanel.php:185 +msgid "API key provided by Facebook" +msgstr "" + +#: facebookadminpanel.php:193 +msgid "Secret" +msgstr "" + +#: facebookadminpanel.php:194 +msgid "API secret provided by Facebook" +msgstr "" + +#: facebookadminpanel.php:210 +msgid "Save" +msgstr "Lưu" + +#: facebookadminpanel.php:210 +msgid "Save Facebook settings" +msgstr "Lưu các thiết lập Facebook" + +#. TRANS: Instructions. +#: FBConnectSettings.php:66 +msgid "Manage how your account connects to Facebook" +msgstr "" + +#: FBConnectSettings.php:90 +msgid "There is no Facebook user connected to this account." +msgstr "" + +#: FBConnectSettings.php:98 +msgid "Connected Facebook user" +msgstr "Người dùng Facebook kết nối" + +#. TRANS: Legend. +#: FBConnectSettings.php:118 +msgid "Disconnect my account from Facebook" +msgstr "" + +#. TRANS: Followed by a link containing text "set a password". +#: FBConnectSettings.php:125 +msgid "" +"Disconnecting your Faceboook would make it impossible to log in! Please " +msgstr "" + +#. TRANS: Preceded by "Please " and followed by " first." +#: FBConnectSettings.php:130 +msgid "set a password" +msgstr "" + +#. TRANS: Preceded by "Please set a password". +#: FBConnectSettings.php:132 +msgid " first." +msgstr "" + +#. TRANS: Submit button. +#: FBConnectSettings.php:145 +msgctxt "BUTTON" +msgid "Disconnect" +msgstr "Ngắt kết nối" + +#: FBConnectSettings.php:180 +msgid "Couldn't delete link to Facebook." +msgstr "" + +#: FBConnectSettings.php:196 +msgid "You have disconnected from Facebook." +msgstr "" + +#: FBConnectSettings.php:199 +msgid "Not sure what you're trying to do." +msgstr "" + +#: facebooksettings.php:61 +msgid "There was a problem saving your sync preferences!" +msgstr "" + +#. TRANS: Confirmation that synchronisation settings have been saved into the system. +#: facebooksettings.php:64 +msgid "Sync preferences saved." +msgstr "" + +#: facebooksettings.php:87 +msgid "Automatically update my Facebook status with my notices." +msgstr "" + +#: facebooksettings.php:94 +msgid "Send \"@\" replies to Facebook." +msgstr "" + +#. TRANS: Submit button to save synchronisation settings. +#: facebooksettings.php:102 +msgctxt "BUTTON" +msgid "Save" +msgstr "Lưu" + +#. TRANS: %s is the application name. +#: facebooksettings.php:111 +#, php-format +msgid "" +"If you would like %s to automatically update your Facebook status with your " +"latest notice, you need to give it permission." +msgstr "" + +#: facebooksettings.php:124 +#, php-format +msgid "Allow %s to update my Facebook status" +msgstr "" + +#. TRANS: Page title for synchronisation settings. +#: facebooksettings.php:134 +msgid "Sync preferences" +msgstr "" diff --git a/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po index 03f85020c..5a4ad5ca0 100644 --- a/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po +++ b/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Facebook\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:36+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:18:56+0000\n" "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-" "hans>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:01+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: #out-statusnet-plugin-facebook\n" @@ -157,23 +157,19 @@ msgstr "不允许注册。" msgid "Not a valid invitation code." msgstr "对不起,无效的邀请码。" -#: FBConnectAuth.php:265 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "昵称只能使用小写字母和数字且不能使用空格。" - -#: FBConnectAuth.php:270 +#: FBConnectAuth.php:267 msgid "Nickname not allowed." msgstr "昵称不被允许。" -#: FBConnectAuth.php:275 +#: FBConnectAuth.php:272 msgid "Nickname already in use. Try another one." msgstr "昵称已被使用,换一个吧。" -#: FBConnectAuth.php:293 FBConnectAuth.php:327 FBConnectAuth.php:347 +#: FBConnectAuth.php:290 FBConnectAuth.php:324 FBConnectAuth.php:344 msgid "Error connecting user to Facebook." msgstr "连接用户至Facebook时发生错误。" -#: FBConnectAuth.php:313 +#: FBConnectAuth.php:310 msgid "Invalid username or password." msgstr "用户名或密码不正确。" @@ -557,3 +553,6 @@ msgstr "" #: facebooksettings.php:134 msgid "Sync preferences" msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "昵称只能使用小写字母和数字且不能使用空格。" diff --git a/plugins/FacebookBridge/FacebookBridgePlugin.php b/plugins/FacebookBridge/FacebookBridgePlugin.php new file mode 100644 index 000000000..8b5d05e98 --- /dev/null +++ b/plugins/FacebookBridge/FacebookBridgePlugin.php @@ -0,0 +1,552 @@ +<?php +/** + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * A plugin for integrating Facebook with StatusNet. Includes single-sign-on + * and publishing notices to Facebook using Facebook's Graph API. + * + * PHP version 5 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Pugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +define("FACEBOOK_SERVICE", 2); + +/** + * Main class for Facebook Bridge plugin + * + * @category Plugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ +class FacebookBridgePlugin extends Plugin +{ + public $appId = null; // Facebook application ID + public $secret = null; // Facebook application secret + public $facebook = null; // Facebook application instance + public $dir = null; // Facebook plugin dir + + /** + * Initializer for this plugin + * + * Gets an instance of the Facebook API client object + * + * @return boolean hook value; true means continue processing, false means stop. + */ + function initialize() + { + $this->facebook = Facebookclient::getFacebook( + $this->appId, + $this->secret + ); + + return true; + } + + /** + * Load related modules when needed + * + * @param string $cls Name of the class to be loaded + * + * @return boolean hook value; true means continue processing, false means stop. + */ + function onAutoload($cls) + { + + $dir = dirname(__FILE__); + + //common_debug("class = " . $cls); + + switch ($cls) + { + case 'Facebook': // Facebook PHP SDK + include_once $dir . '/extlib/facebook.php'; + return false; + case 'FacebookloginAction': + case 'FacebookfinishloginAction': + case 'FacebookadminpanelAction': + case 'FacebooksettingsAction': + case 'FacebookdeauthorizeAction': + include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php'; + return false; + case 'Facebookclient': + case 'FacebookQueueHandler': + include_once $dir . '/lib/' . strtolower($cls) . '.php'; + return false; + case 'Notice_to_item': + include_once $dir . '/classes/' . $cls . '.php'; + return false; + default: + return true; + } + + } + + /** + * Database schema setup + * + * We maintain a table mapping StatusNet notices to Facebook items + * + * @see Schema + * @see ColumnDef + * + * @return boolean hook value; true means continue processing, false means stop. + */ + function onCheckSchema() + { + $schema = Schema::get(); + $schema->ensureTable('notice_to_item', Notice_to_item::schemaDef()); + return true; + } + + /* + * Does this $action need the Facebook JavaScripts? + */ + function needsScripts($action) + { + static $needy = array( + 'FacebookloginAction', + 'FacebookfinishloginAction', + 'FacebookadminpanelAction', + 'FacebooksettingsAction' + ); + + if (in_array(get_class($action), $needy)) { + return true; + } else { + return false; + } + } + + /** + * Map URLs to actions + * + * @param Net_URL_Mapper $m path-to-action mapper + * + * @return boolean hook value; true means continue processing, false means stop. + */ + function onRouterInitialized($m) + { + // Always add the admin panel route + $m->connect('admin/facebook', array('action' => 'facebookadminpanel')); + + // Only add these routes if an application has been setup on + // Facebook for the plugin to use. + if ($this->hasApplication()) { + + $m->connect( + 'main/facebooklogin', + array('action' => 'facebooklogin') + ); + $m->connect( + 'main/facebookfinishlogin', + array('action' => 'facebookfinishlogin') + ); + $m->connect( + 'settings/facebook', + array('action' => 'facebooksettings') + ); + $m->connect( + 'facebook/deauthorize', + array('action' => 'facebookdeauthorize') + ); + + } + + return true; + } + + /* + * Add a login tab for Facebook, but only if there's a Facebook + * application defined for the plugin to use. + * + * @param Action &action the current action + * + * @return void + */ + function onEndLoginGroupNav(&$action) + { + $action_name = $action->trimmed('action'); + + if ($this->hasApplication()) { + + $action->menuItem( + common_local_url('facebooklogin'), + _m('MENU', 'Facebook'), + // TRANS: Tooltip for menu item "Facebook". + _m('Login or register using Facebook'), + 'facebooklogin' === $action_name + ); + } + + return true; + } + + /** + * If the plugin's installed, this should be accessible to admins + */ + function onAdminPanelCheck($name, &$isOK) + { + if ($name == 'facebook') { + $isOK = true; + return false; + } + + return true; + } + + /** + * Add a Facebook tab to the admin panels + * + * @param Widget $nav Admin panel nav + * + * @return boolean hook value + */ + function onEndAdminPanelNav($nav) + { + if (AdminPanelAction::canAdmin('facebook')) { + + $action_name = $nav->action->trimmed('action'); + + $nav->out->menuItem( + common_local_url('facebookadminpanel'), + // TRANS: Menu item. + _m('MENU','Facebook'), + // TRANS: Tooltip for menu item "Facebook". + _m('Facebook integration configuration'), + $action_name == 'facebookadminpanel', + 'nav_facebook_admin_panel' + ); + } + + return true; + } + + /* + * Add a tab for user-level Facebook settings if the user + * has a link to Facebook + * + * @param Action &action the current action + * + * @return void + */ + function onEndConnectSettingsNav(&$action) + { + if ($this->hasApplication()) { + $action_name = $action->trimmed('action'); + + // CurrentUserDesignAction stores the current user in $cur + $user = $action->getCurrentUser(); + + $flink = null; + + if (!empty($user)) { + $flink = Foreign_link::getByUserID( + $user->id, + FACEBOOK_SERVICE + ); + } + + if (!empty($flink)) { + + $action->menuItem( + common_local_url('facebooksettings'), + // TRANS: Menu item tab. + _m('MENU','Facebook'), + // TRANS: Tooltip for menu item "Facebook". + _m('Facebook settings'), + $action_name === 'facebooksettings' + ); + + } + } + + } + + /* + * Is there a Facebook application for the plugin to use? + * + * Checks to see if a Facebook application ID and secret + * have been configured and a valid Facebook API client + * object exists. + * + */ + function hasApplication() + { + if (!empty($this->facebook)) { + + $appId = $this->facebook->getAppId(); + $secret = $this->facebook->getApiSecret(); + + if (!empty($appId) && !empty($secret)) { + return true; + } + + } + + return false; + } + + /* + * Output a Facebook div for the Facebook JavaSsript SDK to use + * + * @param Action $action the current action + * + */ + function onStartShowHeader($action) + { + // output <div id="fb-root"></div> as close to <body> as possible + $action->element('div', array('id' => 'fb-root')); + return true; + } + + /* + * Load the Facebook JavaScript SDK on pages that need them. + * + * @param Action $action the current action + * + */ + function onEndShowScripts($action) + { + if ($this->needsScripts($action)) { + + $action->script('https://connect.facebook.net/en_US/all.js'); + + $script = <<<ENDOFSCRIPT +FB.init({appId: %1\$s, session: %2\$s, status: true, cookie: true, xfbml: true}); + +$('#facebook_button').bind('click', function(event) { + + event.preventDefault(); + + FB.login(function(response) { + if (response.session && response.perms) { + window.location.href = '%3\$s'; + } else { + // NOP (user cancelled login) + } + }, {perms:'read_stream,publish_stream,offline_access,user_status,user_location,user_website,email'}); +}); +ENDOFSCRIPT; + + $action->inlineScript( + sprintf($script, + json_encode($this->facebook->getAppId()), + json_encode($this->facebook->getSession()), + common_local_url('facebookfinishlogin') + ) + ); + } + } + + /* + * Log the user out of Facebook, per the Facebook authentication guide + * + * @param Action action the current action + */ + function onEndLogout($action) + { + if ($this->hasApplication()) { + $session = $this->facebook->getSession(); + $fbuser = null; + $fbuid = null; + + if ($session) { + try { + $fbuid = $this->facebook->getUser(); + $fbuser = $this->facebook->api('/me'); + } catch (FacebookApiException $e) { + common_log(LOG_ERROR, $e, __FILE__); + } + } + + if (!empty($fbuser)) { + + $logoutUrl = $this->facebook->getLogoutUrl( + array('next' => common_local_url('public')) + ); + + common_log( + LOG_INFO, + sprintf( + "Logging user out of Facebook (fbuid = %s)", + $fbuid + ), + __FILE__ + ); + common_debug("LOGOUT URL = $logoutUrl"); + common_redirect($logoutUrl, 303); + } + + } + } + + /* + * Add fbml namespace to our HTML, so Facebook's JavaScript SDK can parse + * and render XFBML tags + * + * @param Action $action the current action + * @param array $attrs array of attributes for the HTML tag + * + * @return nothing + */ + function onStartHtmlElement($action, $attrs) { + + if ($this->needsScripts($action)) { + $attrs = array_merge( + $attrs, + array('xmlns:fb' => 'http://www.facebook.com/2008/fbml') + ); + } + + return true; + } + + /** + * Add a Facebook queue item for each notice + * + * @param Notice $notice the notice + * @param array &$transports the list of transports (queues) + * + * @return boolean hook return + */ + function onStartEnqueueNotice($notice, &$transports) + { + if (self::hasApplication() && $notice->isLocal()) { + array_push($transports, 'facebook'); + } + return true; + } + + /** + * Register Facebook notice queue handler + * + * @param QueueManager $manager + * + * @return boolean hook return + */ + function onEndInitializeQueueManager($manager) + { + if (self::hasApplication()) { + $manager->connect('facebook', 'FacebookQueueHandler'); + } + return true; + } + + /* + * Use SSL for Facebook stuff + * + * @param string $action name + * @param boolean $ssl outval to force SSL + * @return mixed hook return value + */ + function onSensitiveAction($action, &$ssl) + { + $sensitive = array( + 'facebookadminpanel', + 'facebooksettings', + 'facebooklogin', + 'facebookfinishlogin' + ); + + if (in_array($action, $sensitive)) { + $ssl = true; + return false; + } else { + return true; + } + } + + /** + * If a notice gets deleted, remove the Notice_to_item mapping and + * delete the item on Facebook + * + * @param User $user The user doing the deleting + * @param Notice $notice The notice getting deleted + * + * @return boolean hook value + */ + function onStartDeleteOwnNotice(User $user, Notice $notice) + { + $client = new Facebookclient($notice); + $client->streamRemove(); + + return true; + } + + /** + * Notify remote users when their notices get favorited. + * + * @param Profile or User $profile of local user doing the faving + * @param Notice $notice being favored + * @return hook return value + */ + function onEndFavorNotice(Profile $profile, Notice $notice) + { + $client = new Facebookclient($notice); + $client->like(); + + return true; + } + + /** + * Notify remote users when their notices get de-favorited. + * + * @param Profile $profile Profile person doing the de-faving + * @param Notice $notice Notice being favored + * + * @return hook return value + */ + function onEndDisfavorNotice(Profile $profile, Notice $notice) + { + $client = new Facebookclient($notice); + $client->unLike(); + + return true; + } + + /* + * Add version info for this plugin + * + * @param array &$versions plugin version descriptions + */ + function onPluginVersion(&$versions) + { + $versions[] = array( + 'name' => 'Facebook Bridge', + 'version' => STATUSNET_VERSION, + 'author' => 'Craig Andrews, Zach Copley', + 'homepage' => 'http://status.net/wiki/Plugin:FacebookBridge', + 'rawdescription' => + _m('A plugin for integrating StatusNet with Facebook.') + ); + + return true; + } +} diff --git a/plugins/FacebookBridge/actions/facebookadminpanel.php b/plugins/FacebookBridge/actions/facebookadminpanel.php new file mode 100644 index 000000000..61b544184 --- /dev/null +++ b/plugins/FacebookBridge/actions/facebookadminpanel.php @@ -0,0 +1,212 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Facebook integration administration panel + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Settings + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Administer global Facebook integration settings + * + * @category Admin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ +class FacebookadminpanelAction extends AdminPanelAction +{ + /** + * Returns the page title + * + * @return string page title + */ + function title() + { + return _m('Facebook'); + } + + /** + * Instructions for using this form. + * + * @return string instructions + */ + function getInstructions() + { + return _m('Facebook integration settings'); + } + + /** + * Show the Facebook admin panel form + * + * @return void + */ + function showForm() + { + $form = new FacebookAdminPanelForm($this); + $form->show(); + return; + } + + /** + * Save settings from the form + * + * @return void + */ + function saveSettings() + { + static $settings = array( + 'facebook' => array('appid', 'secret'), + ); + + $values = array(); + + foreach ($settings as $section => $parts) { + foreach ($parts as $setting) { + $values[$section][$setting] + = $this->trimmed($setting); + } + } + + // This throws an exception on validation errors + $this->validate($values); + + // assert(all values are valid); + + $config = new Config(); + + $config->query('BEGIN'); + + foreach ($settings as $section => $parts) { + foreach ($parts as $setting) { + Config::save($section, $setting, $values[$section][$setting]); + } + } + + $config->query('COMMIT'); + + return; + } + + function validate(&$values) + { + // appId, key and secret (can't be too long) + + if (mb_strlen($values['facebook']['appid']) > 255) { + $this->clientError( + _m("Invalid Facebook ID. Max length is 255 characters.") + ); + } + + if (mb_strlen($values['facebook']['secret']) > 255) { + $this->clientError( + _m("Invalid Facebook secret. Max length is 255 characters.") + ); + } + } +} + +class FacebookAdminPanelForm extends AdminForm +{ + /** + * ID of the form + * + * @return int ID of the form + */ + function id() + { + return 'facebookadminpanel'; + } + + /** + * class of the form + * + * @return string class of the form + */ + function formClass() + { + return 'form_settings'; + } + + /** + * Action of the form + * + * @return string URL of the action + */ + function action() + { + return common_local_url('facebookadminpanel'); + } + + /** + * Data elements of the form + * + * @return void + */ + function formData() + { + $this->out->elementStart( + 'fieldset', + array('id' => 'settings_facebook-application') + ); + $this->out->element('legend', null, _m('Facebook application settings')); + $this->out->elementStart('ul', 'form_data'); + + $this->li(); + $this->input( + 'appid', + _m('Application ID'), + _m('ID of your Facebook application'), + 'facebook' + ); + $this->unli(); + + $this->li(); + $this->input( + 'secret', + _m('Secret'), + _m('Application secret'), + 'facebook' + ); + $this->unli(); + + $this->out->elementEnd('ul'); + $this->out->elementEnd('fieldset'); + } + + /** + * Action elements + * + * @return void + */ + function formActions() + { + $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save Facebook settings')); + } +} diff --git a/plugins/FacebookBridge/actions/facebookdeauthorize.php b/plugins/FacebookBridge/actions/facebookdeauthorize.php new file mode 100644 index 000000000..6813ccf1d --- /dev/null +++ b/plugins/FacebookBridge/actions/facebookdeauthorize.php @@ -0,0 +1,144 @@ +<?php +/** + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * An action that handles deauthorize callbacks from Facebook + * + * PHP version 5 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Plugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/* + * Action class for handling deauthorize callbacks from Facebook. If the user + * doesn't have a password let her know she'll need to contact the site + * admin to get back into her account (if possible). + */ +class FacebookdeauthorizeAction extends Action +{ + private $facebook; + + /** + * For initializing members of the class. + * + * @param array $args misc. arguments + * + * @return boolean true + */ + function prepare($args) + { + $this->facebook = Facebookclient::getFacebook(); + + return true; + } + + /** + * Handler method + * + * @param array $args is ignored since it's now passed in in prepare() + */ + function handle($args) + { + parent::handle($args); + + $data = $this->facebook->getSignedRequest(); + + if (isset($data['user_id'])) { + + $fbuid = $data['user_id']; + + $flink = Foreign_link::getByForeignID($fbuid, FACEBOOK_SERVICE); + $user = $flink->getUser(); + + // Remove the link to Facebook + $result = $flink->delete(); + + if (!$result) { + common_log_db_error($flink, 'DELETE', __FILE__); + common_log( + LOG_WARNING, + sprintf( + 'Unable to delete Facebook foreign link ' + . 'for %s (%d), fbuid %d', + $user->nickname, + $user->id, + $fbuid + ), + __FILE__ + ); + return; + } + + common_log( + LOG_INFO, + sprintf( + 'Facebook callback: %s (%d), fbuid %d has deauthorized ' + . 'the Facebook application.', + $user->nickname, + $user->id, + $fbuid + ), + __FILE__ + ); + + // Warn the user about being locked out of their account + // if we can. + if (empty($user->password) && !empty($user->email)) { + Facebookclient::emailWarn($user); + } else { + common_log( + LOG_WARNING, + sprintf( + '%s (%d), fbuid %d has deauthorized his/her Facebook ' + . 'connection but hasn\'t set a password so s/he ' + . 'is locked out.', + $user->nickname, + $user->id, + $fbuid + ), + __FILE__ + ); + } + + } else { + if (!empty($data)) { + common_log( + LOG_WARNING, + sprintf( + 'Facebook called the deauthorize callback ' + . ' but didn\'t provide a user ID.' + ), + __FILE__ + ); + } else { + // It probably wasn't Facebook that hit this action, + // so redirect to the public timeline + common_redirect(common_local_url('public'), 303); + } + } + } + +}
\ No newline at end of file diff --git a/plugins/FacebookBridge/actions/facebookfinishlogin.php b/plugins/FacebookBridge/actions/facebookfinishlogin.php new file mode 100644 index 000000000..349acd7e2 --- /dev/null +++ b/plugins/FacebookBridge/actions/facebookfinishlogin.php @@ -0,0 +1,677 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Login or register a local user based on a Facebook user + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Plugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class FacebookfinishloginAction extends Action +{ + private $facebook = null; // Facebook client + private $fbuid = null; // Facebook user ID + private $fbuser = null; // Facebook user object (JSON) + + function prepare($args) { + + parent::prepare($args); + + $this->facebook = new Facebook( + array( + 'appId' => common_config('facebook', 'appid'), + 'secret' => common_config('facebook', 'secret'), + 'cookie' => true, + ) + ); + + // Check for a Facebook user session + + $session = $this->facebook->getSession(); + $me = null; + + if ($session) { + try { + $this->fbuid = $this->facebook->getUser(); + $this->fbuser = $this->facebook->api('/me'); + } catch (FacebookApiException $e) { + common_log(LOG_ERROR, $e, __FILE__); + } + } + + if (!empty($this->fbuser)) { + + // OKAY, all is well... proceed to register + + common_debug("Found a valid Facebook user.", __FILE__); + } else { + + // This shouldn't happen in the regular course of things + + list($proxy, $ip) = common_client_ip(); + + common_log( + LOG_WARNING, + sprintf( + 'Failed Facebook authentication attempt, proxy = %s, ip = %s.', + $proxy, + $ip + ), + __FILE__ + ); + + $this->clientError( + _m('You must be logged into Facebook to register a local account using Facebook.') + ); + } + + return true; + } + + function handle($args) + { + parent::handle($args); + + if (common_is_real_login()) { + + // User is already logged in, are her accounts already linked? + + $flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_SERVICE); + + if (!empty($flink)) { + + // User already has a linked Facebook account and shouldn't be here! + + common_debug( + sprintf( + 'There\'s already a local user %d linked with Facebook user %s.', + $flink->user_id, + $this->fbuid + ) + ); + + $this->clientError( + _m('There is already a local account linked with that Facebook account.') + ); + + } else { + + // Possibly reconnect an existing account + + $this->connectUser(); + } + + } else if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $this->handlePost(); + } else { + $this->tryLogin(); + } + } + + function handlePost() + { + $token = $this->trimmed('token'); + + if (!$token || $token != common_session_token()) { + $this->showForm( + _m('There was a problem with your session token. Try again, please.') + ); + return; + } + + if ($this->arg('create')) { + + if (!$this->boolean('license')) { + $this->showForm( + _m('You can\'t register if you don\'t agree to the license.'), + $this->trimmed('newname') + ); + return; + } + + // We has a valid Facebook session and the Facebook user has + // agreed to the SN license, so create a new user + $this->createNewUser(); + + } else if ($this->arg('connect')) { + + $this->connectNewUser(); + + } else { + + $this->showForm( + _m('An unknown error has occured.'), + $this->trimmed('newname') + ); + } + } + + function showPageNotice() + { + if ($this->error) { + + $this->element('div', array('class' => 'error'), $this->error); + + } else { + + $this->element( + 'div', 'instructions', + // TRANS: %s is the site name. + sprintf( + _m('This is the first time you\'ve logged into %s so we must connect your Facebook to a local account. You can either create a new local account, or connect with an existing local account.'), + common_config('site', 'name') + ) + ); + } + } + + function title() + { + // TRANS: Page title. + return _m('Facebook Setup'); + } + + function showForm($error=null, $username=null) + { + $this->error = $error; + $this->username = $username; + + $this->showPage(); + } + + function showPage() + { + parent::showPage(); + } + + /** + * @fixme much of this duplicates core code, which is very fragile. + * Should probably be replaced with an extensible mini version of + * the core registration form. + */ + function showContent() + { + if (!empty($this->message_text)) { + $this->element('p', null, $this->message); + return; + } + + $this->elementStart('form', array('method' => 'post', + 'id' => 'form_settings_facebook_connect', + 'class' => 'form_settings', + 'action' => common_local_url('facebookfinishlogin'))); + $this->elementStart('fieldset', array('id' => 'settings_facebook_connect_options')); + // TRANS: Legend. + $this->element('legend', null, _m('Connection options')); + $this->elementStart('ul', 'form_data'); + $this->elementStart('li'); + $this->element('input', array('type' => 'checkbox', + 'id' => 'license', + 'class' => 'checkbox', + 'name' => 'license', + 'value' => 'true')); + $this->elementStart('label', array('class' => 'checkbox', 'for' => 'license')); + // TRANS: %s is the name of the license used by the user for their status updates. + $message = _m('My text and files are available under %s ' . + 'except this private data: password, ' . + 'email address, IM address, and phone number.'); + $link = '<a href="' . + htmlspecialchars(common_config('license', 'url')) . + '">' . + htmlspecialchars(common_config('license', 'title')) . + '</a>'; + $this->raw(sprintf(htmlspecialchars($message), $link)); + $this->elementEnd('label'); + $this->elementEnd('li'); + $this->elementEnd('ul'); + + $this->elementStart('fieldset'); + $this->hidden('token', common_session_token()); + $this->element('legend', null, + // TRANS: Legend. + _m('Create new account')); + $this->element('p', null, + _m('Create a new user with this nickname.')); + $this->elementStart('ul', 'form_data'); + $this->elementStart('li'); + // TRANS: Field label. + $this->input('newname', _m('New nickname'), + ($this->username) ? $this->username : '', + _m('1-64 lowercase letters or numbers, no punctuation or spaces')); + $this->elementEnd('li'); + $this->elementEnd('ul'); + // TRANS: Submit button. + $this->submit('create', _m('BUTTON','Create')); + $this->elementEnd('fieldset'); + + $this->elementStart('fieldset'); + // TRANS: Legend. + $this->element('legend', null, + _m('Connect existing account')); + $this->element('p', null, + _m('If you already have an account, login with your username and password to connect it to your Facebook.')); + $this->elementStart('ul', 'form_data'); + $this->elementStart('li'); + // TRANS: Field label. + $this->input('nickname', _m('Existing nickname')); + $this->elementEnd('li'); + $this->elementStart('li'); + $this->password('password', _m('Password')); + $this->elementEnd('li'); + $this->elementEnd('ul'); + // TRANS: Submit button. + $this->submit('connect', _m('BUTTON','Connect')); + $this->elementEnd('fieldset'); + + $this->elementEnd('fieldset'); + $this->elementEnd('form'); + } + + function message($msg) + { + $this->message_text = $msg; + $this->showPage(); + } + + function createNewUser() + { + if (common_config('site', 'closed')) { + // TRANS: Client error trying to register with registrations not allowed. + $this->clientError(_m('Registration not allowed.')); + return; + } + + $invite = null; + + if (common_config('site', 'inviteonly')) { + $code = $_SESSION['invitecode']; + if (empty($code)) { + // TRANS: Client error trying to register with registrations 'invite only'. + $this->clientError(_m('Registration not allowed.')); + return; + } + + $invite = Invitation::staticGet($code); + + if (empty($invite)) { + // TRANS: Client error trying to register with an invalid invitation code. + $this->clientError(_m('Not a valid invitation code.')); + return; + } + } + + try { + $nickname = Nickname::normalize($this->trimmed('newname')); + } catch (NicknameException $e) { + $this->showForm($e->getMessage()); + return; + } + + if (!User::allowed_nickname($nickname)) { + $this->showForm(_m('Nickname not allowed.')); + return; + } + + if (User::staticGet('nickname', $nickname)) { + $this->showForm(_m('Nickname already in use. Try another one.')); + return; + } + + $args = array( + 'nickname' => $nickname, + 'fullname' => $this->fbuser['first_name'] + . ' ' . $this->fbuser['last_name'], + 'homepage' => $this->fbuser['website'], + 'bio' => $this->fbuser['about'], + 'location' => $this->fbuser['location']['name'] + ); + + // It's possible that the email address is already in our + // DB. It's a unique key, so we need to check + if ($this->isNewEmail($this->fbuser['email'])) { + $args['email'] = $this->fbuser['email']; + $args['email_confirmed'] = true; + } + + if (!empty($invite)) { + $args['code'] = $invite->code; + } + + $user = User::register($args); + $result = $this->flinkUser($user->id, $this->fbuid); + + if (!$result) { + $this->serverError(_m('Error connecting user to Facebook.')); + return; + } + + // Add a Foreign_user record + Facebookclient::addFacebookUser($this->fbuser); + + $this->setAvatar($user); + + common_set_user($user); + common_real_login(true); + + common_log( + LOG_INFO, + sprintf( + 'Registered new user %s (%d) from Facebook user %s, (fbuid %d)', + $user->nickname, + $user->id, + $this->fbuser['name'], + $this->fbuid + ), + __FILE__ + ); + + $this->goHome($user->nickname); + } + + /* + * Attempt to download the user's Facebook picture and create a + * StatusNet avatar for the new user. + */ + function setAvatar($user) + { + $picUrl = sprintf( + 'http://graph.facebook.com/%s/picture?type=large', + $this->fbuid + ); + + // fetch the picture from Facebook + $client = new HTTPClient(); + + // fetch the actual picture + $response = $client->get($picUrl); + + if ($response->isOk()) { + + $finalUrl = $client->getUrl(); + + // Make sure the filename is unique becuase it's possible for a user + // to deauthorize our app, and then come back in as a new user but + // have the same Facebook picture (avatar URLs have a unique index + // and their URLs are based on the filenames). + $filename = 'facebook-' . common_good_rand(4) . '-' + . substr(strrchr($finalUrl, '/'), 1); + + $ok = file_put_contents( + Avatar::path($filename), + $response->getBody() + ); + + if (!$ok) { + common_log( + LOG_WARNING, + sprintf( + 'Couldn\'t save Facebook avatar %s', + $tmp + ), + __FILE__ + ); + + } else { + + // save it as an avatar + $profile = $user->getProfile(); + + if ($profile->setOriginal($filename)) { + common_log( + LOG_INFO, + sprintf( + 'Saved avatar for %s (%d) from Facebook picture for ' + . '%s (fbuid %d), filename = %s', + $user->nickname, + $user->id, + $this->fbuser['name'], + $this->fbuid, + $filename + ), + __FILE__ + ); + } + } + } + } + + function connectNewUser() + { + $nickname = $this->trimmed('nickname'); + $password = $this->trimmed('password'); + + if (!common_check_user($nickname, $password)) { + $this->showForm(_m('Invalid username or password.')); + return; + } + + $user = User::staticGet('nickname', $nickname); + + if (!empty($user)) { + common_debug( + sprintf( + 'Found a legit user to connect to Facebook: %s (%d)', + $user->nickname, + $user->id + ), + __FILE__ + ); + } + + $this->tryLinkUser($user); + + common_set_user($user); + common_real_login(true); + + $this->goHome($user->nickname); + } + + function connectUser() + { + $user = common_current_user(); + $this->tryLinkUser($user); + common_redirect(common_local_url('facebookfinishlogin'), 303); + } + + function tryLinkUser($user) + { + $result = $this->flinkUser($user->id, $this->fbuid); + + if (empty($result)) { + $this->serverError(_m('Error connecting user to Facebook.')); + return; + } + + common_debug( + sprintf( + 'Connected Facebook user %s (fbuid %d) to local user %s (%d)', + $this->fbuser['name'], + $this->fbuid, + $user->nickname, + $user->id + ), + __FILE__ + ); + } + + function tryLogin() + { + common_debug( + sprintf( + 'Trying login for Facebook user %s', + $this->fbuid + ), + __FILE__ + ); + + $flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_SERVICE); + + if (!empty($flink)) { + $user = $flink->getUser(); + + if (!empty($user)) { + + common_log( + LOG_INFO, + sprintf( + 'Logged in Facebook user %s as user %d (%s)', + $this->fbuid, + $user->nickname, + $user->id + ), + __FILE__ + ); + + common_set_user($user); + common_real_login(true); + $this->goHome($user->nickname); + } + + } else { + + common_debug( + sprintf( + 'No flink found for fbuid: %s - new user', + $this->fbuid + ), + __FILE__ + ); + + $this->showForm(null, $this->bestNewNickname()); + } + } + + function goHome($nickname) + { + $url = common_get_returnto(); + if ($url) { + // We don't have to return to it again + common_set_returnto(null); + } else { + $url = common_local_url('all', + array('nickname' => + $nickname)); + } + + common_redirect($url, 303); + } + + function flinkUser($user_id, $fbuid) + { + $flink = new Foreign_link(); + $flink->user_id = $user_id; + $flink->foreign_id = $fbuid; + $flink->service = FACEBOOK_SERVICE; + + // Pull the access token from the Facebook cookies + $flink->credentials = $this->facebook->getAccessToken(); + + $flink->created = common_sql_now(); + + $flink_id = $flink->insert(); + + return $flink_id; + } + + function bestNewNickname() + { + if (!empty($this->fbuser['name'])) { + $nickname = $this->nicknamize($this->fbuser['name']); + if ($this->isNewNickname($nickname)) { + return $nickname; + } + } + + // Try the full name + + $fullname = trim($this->fbuser['first_name'] . + ' ' . $this->fbuser['last_name']); + + if (!empty($fullname)) { + $fullname = $this->nicknamize($fullname); + if ($this->isNewNickname($fullname)) { + return $fullname; + } + } + + return null; + } + + /** + * Given a string, try to make it work as a nickname + */ + function nicknamize($str) + { + $str = preg_replace('/\W/', '', $str); + return strtolower($str); + } + + /* + * Is the desired nickname already taken? + * + * @return boolean result + */ + function isNewNickname($str) + { + if (!Nickname::isValid($str)) { + return false; + } + + if (!User::allowed_nickname($str)) { + return false; + } + + if (User::staticGet('nickname', $str)) { + return false; + } + + return true; + } + + /* + * Do we already have a user record with this email? + * (emails have to be unique but they can change) + * + * @param string $email the email address to check + * + * @return boolean result + */ + function isNewEmail($email) + { + // we shouldn't have to validate the format + $result = User::staticGet('email', $email); + + if (empty($result)) { + common_debug("XXXXXXXXXXXXXXXXXX We've never seen this email before!!!"); + return true; + } + common_debug("XXXXXXXXXXXXXXXXXX dupe email address!!!!"); + + return false; + } + +} diff --git a/plugins/FacebookBridge/actions/facebooklogin.php b/plugins/FacebookBridge/actions/facebooklogin.php new file mode 100644 index 000000000..f8a45c41b --- /dev/null +++ b/plugins/FacebookBridge/actions/facebooklogin.php @@ -0,0 +1,123 @@ +<?php +/** + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * An action for logging in with Facebook + * + * PHP version 5 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Plugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class FacebookloginAction extends Action +{ + + function handle($args) + { + parent::handle($args); + + if (common_is_real_login()) { + $this->clientError(_m('Already logged in.')); + } else { + $this->showPage(); + } + } + + function getInstructions() + { + // TRANS: Instructions. + return _m('Login with your Facebook Account'); + } + + function showPageNotice() + { + $instr = $this->getInstructions(); + $output = common_markup_to_html($instr); + $this->elementStart('div', 'instructions'); + $this->raw($output); + $this->elementEnd('div'); + } + + function title() + { + // TRANS: Page title. + return _m('Login with Facebook'); + } + + function showContent() { + + $this->elementStart('fieldset'); + + $facebook = Facebookclient::getFacebook(); + + // Degrade to plain link if JavaScript is not available + $this->elementStart( + 'a', + array( + 'href' => $facebook->getLoginUrl( + array( + 'next' => common_local_url('facebookfinishlogin'), + 'cancel' => common_local_url('facebooklogin'), + 'req_perms' => 'read_stream,publish_stream,offline_access,user_status,user_location,user_website,email' + ) + ), + 'id' => 'facebook_button' + ) + ); + + $attrs = array( + 'src' => common_path( + 'plugins/FacebookBridge/images/login-button.png', + true + ), + 'alt' => 'Login with Facebook', + 'title' => 'Login with Facebook' + ); + + $this->element('img', $attrs); + + $this->elementEnd('a'); + + /* + $this->element('div', array('id' => 'fb-root')); + $this->script( + sprintf( + 'http://connect.facebook.net/en_US/all.js#appId=%s&xfbml=1', + common_config('facebook', 'appid') + ) + ); + $this->element('fb:facepile', array('max-rows' => '2', 'width' =>'300')); + */ + $this->elementEnd('fieldset'); + } + + function showLocalNav() + { + $nav = new LoginGroupNav($this); + $nav->show(); + } +} + diff --git a/plugins/FacebookBridge/actions/facebooksettings.php b/plugins/FacebookBridge/actions/facebooksettings.php new file mode 100644 index 000000000..6576e2041 --- /dev/null +++ b/plugins/FacebookBridge/actions/facebooksettings.php @@ -0,0 +1,266 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Edit user settings for Facebook + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Settings + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Edit user settings for Facebook + * + * @category Settings + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + * + * @see SettingsAction + */ +class FacebooksettingsAction extends ConnectSettingsAction { + private $facebook; // Facebook PHP-SDK client obj + private $flink; + private $user; + + /** + * For initializing members of the class. + * + * @param array $argarray misc. arguments + * + * @return boolean true + */ + function prepare($args) { + parent::prepare($args); + + $this->facebook = new Facebook( + array( + 'appId' => common_config('facebook', 'appid'), + 'secret' => common_config('facebook', 'secret'), + 'cookie' => true, + ) + ); + + $this->user = common_current_user(); + + $this->flink = Foreign_link::getByUserID( + $this->user->id, + FACEBOOK_SERVICE + ); + + return true; + } + + /* + * Check the sessions token and dispatch + */ + function handlePost($args) { + // CSRF protection + + $token = $this->trimmed('token'); + if (!$token || $token != common_session_token()) { + $this->showForm( + _m('There was a problem with your session token. Try again, please.') + ); + return; + } + + if ($this->arg('save')) { + $this->saveSettings(); + } else if ($this->arg('disconnect')) { + $this->disconnect(); + } + } + + /** + * Returns the page title + * + * @return string page title + */ + function title() { + // TRANS: Page title for Facebook settings. + return _m('Facebook settings'); + } + + /** + * Instructions for use + * + * @return instructions for use + */ + function getInstructions() { + return _('Facebook settings'); + } + + /* + * Show the settings form if he/she has a link to Facebook + * + * @return void + */ + function showContent() { + if (!empty($this->flink)) { + + $this->elementStart( + 'form', + array( + 'method' => 'post', + 'id' => 'form_settings_facebook', + 'class' => 'form_settings', + 'action' => common_local_url('facebooksettings') + ) + ); + + $this->hidden('token', common_session_token()); + + $this->element('p', 'form_note', _m('Connected Facebook user')); + + $this->elementStart('p', array('class' => 'facebook-user-display')); + + $this->element( + 'fb:profile-pic', + array( + 'uid' => $this->flink->foreign_id, + 'size' => 'small', + 'linked' => 'true', + 'facebook-logo' => 'true' + ) + ); + + $this->element( + 'fb:name', + array('uid' => $this->flink->foreign_id, 'useyou' => 'false') + ); + + $this->elementEnd('p'); + + $this->elementStart('ul', 'form_data'); + + $this->elementStart('li'); + + $this->checkbox( + 'noticesync', + _m('Publish my notices to Facebook.'), + ($this->flink) ? ($this->flink->noticesync & FOREIGN_NOTICE_SEND) : true + ); + + $this->elementEnd('li'); + + $this->elementStart('li'); + + $this->checkbox( + 'replysync', + _m('Send "@" replies to Facebook.'), + ($this->flink) ? ($this->flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) : true + ); + + $this->elementEnd('li'); + + $this->elementStart('li'); + + // TRANS: Submit button to save synchronisation settings. + $this->submit('save', _m('BUTTON', 'Save')); + + $this->elementEnd('li'); + + $this->elementEnd('ul'); + + $this->elementStart('fieldset'); + + // TRANS: Legend. + $this->element('legend', null, _m('Disconnect my account from Facebook')); + + if (empty($this->user->password)) { + $this->elementStart('p', array('class' => 'form_guide')); + + $msg = sprintf( + _m( + 'Disconnecting your Faceboook would make it impossible to ' + . 'log in! Please [set a password](%s) first.' + ), + common_local_url('passwordsettings') + ); + + $this->raw(common_markup_to_html($msg)); + $this->elementEnd('p'); + } else { + // @todo FIXME: i18n: This message is not being used. + $msg = sprintf( + // TRANS: Message displayed when initiating disconnect of a StatusNet user + // TRANS: from a Facebook account. %1$s is the StatusNet site name. + _m( + 'Keep your %1$s account but disconnect from Facebook. ' . + 'You\'ll use your %1$s password to log in.' + ), + common_config('site', 'name') + ); + + // TRANS: Submit button. + $this->submit('disconnect', _m('BUTTON', 'Disconnect')); + } + + $this->elementEnd('fieldset'); + + $this->elementEnd('form'); + } + } + + /* + * Save the user's Facebook settings + * + * @return void + */ + function saveSettings() { + $noticesync = $this->boolean('noticesync'); + $replysync = $this->boolean('replysync'); + + $original = clone($this->flink); + $this->flink->set_flags($noticesync, false, $replysync, false); + $result = $this->flink->update($original); + + if ($result === false) { + $this->showForm(_m('There was a problem saving your sync preferences.')); + } else { + // TRANS: Confirmation that synchronisation settings have been saved into the system. + $this->showForm(_m('Sync preferences saved.'), true); + } + } + + /* + * Disconnect the user's Facebook account - deletes the Foreign_link + * and shows the user a success message if all goes well. + */ + function disconnect() { + $result = $this->flink->delete(); + $this->flink = null; + + if ($result === false) { + common_log_db_error($user, 'DELETE', __FILE__); + $this->serverError(_m('Couldn\'t delete link to Facebook.')); + return; + } + + $this->showForm(_m('You have disconnected from Facebook.'), true); + } +} diff --git a/plugins/FacebookBridge/classes/Notice_to_item.php b/plugins/FacebookBridge/classes/Notice_to_item.php new file mode 100644 index 000000000..a6a803034 --- /dev/null +++ b/plugins/FacebookBridge/classes/Notice_to_item.php @@ -0,0 +1,190 @@ +<?php +/** + * Data class for storing notice-to-Facebook-item mappings + * + * PHP version 5 + * + * @category Data + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + * + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +require_once INSTALLDIR . '/classes/Memcached_DataObject.php'; + +/** + * Data class for mapping notices to Facebook stream items + * + * Note that notice_id is unique only within a single database; if you + * want to share this data for some reason, get the notice's URI and use + * that instead, since it's universally unique. + * + * @category Action + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3 + * @link http://status.net/ + * + * @see DB_DataObject + */ + +class Notice_to_item extends Memcached_DataObject +{ + public $__table = 'notice_to_item'; // table name + public $notice_id; // int(4) primary_key not_null + public $item_id; // varchar(255) not null + public $created; // datetime + + /** + * Get an instance by key + * + * This is a utility method to get a single instance with a given key value. + * + * @param string $k Key to use to lookup + * @param mixed $v Value to lookup + * + * @return Notice_to_item object found, or null for no hits + * + */ + + function staticGet($k, $v=null) + { + return Memcached_DataObject::staticGet('Notice_to_item', $k, $v); + } + + /** + * return table definition for DB_DataObject + * + * DB_DataObject needs to know something about the table to manipulate + * instances. This method provides all the DB_DataObject needs to know. + * + * @return array array of column definitions + */ + + function table() + { + return array( + 'notice_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL, + 'item_id' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL, + 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL + ); + } + + static function schemaDef() + { + return array( + new ColumnDef('notice_id', 'integer', null, false, 'PRI'), + new ColumnDef('item_id', 'varchar', 255, false, 'UNI'), + new ColumnDef('created', 'datetime', null, false) + ); + } + + /** + * return key definitions for DB_DataObject + * + * DB_DataObject needs to know about keys that the table has, since it + * won't appear in StatusNet's own keys list. In most cases, this will + * simply reference your keyTypes() function. + * + * @return array list of key field names + */ + + function keys() + { + return array_keys($this->keyTypes()); + } + + /** + * return key definitions for Memcached_DataObject + * + * Our caching system uses the same key definitions, but uses a different + * method to get them. This key information is used to store and clear + * cached data, so be sure to list any key that will be used for static + * lookups. + * + * @return array associative array of key definitions, field name to type: + * 'K' for primary key: for compound keys, add an entry for each component; + * 'U' for unique keys: compound keys are not well supported here. + */ + + function keyTypes() + { + return array('notice_id' => 'K', 'item_id' => 'U'); + } + + /** + * Magic formula for non-autoincrementing integer primary keys + * + * If a table has a single integer column as its primary key, DB_DataObject + * assumes that the column is auto-incrementing and makes a sequence table + * to do this incrementation. Since we don't need this for our class, we + * overload this method and return the magic formula that DB_DataObject needs. + * + * @return array magic three-false array that stops auto-incrementing. + */ + + function sequenceKey() + { + return array(false, false, false); + } + + /** + * Save a mapping between a notice and a Facebook item + * + * @param integer $notice_id ID of the notice in StatusNet + * @param integer $item_id ID of the stream item on Facebook + * + * @return Notice_to_item new object for this value + */ + + static function saveNew($notice_id, $item_id) + { + $n2i = Notice_to_item::staticGet('notice_id', $notice_id); + + if (!empty($n2i)) { + return $n2i; + } + + $n2i = Notice_to_item::staticGet('item_id', $item_id); + + if (!empty($n2i)) { + return $n2i; + } + + common_debug( + "Mapping notice {$notice_id} to Facebook item {$item_id}", + __FILE__ + ); + + $n2i = new Notice_to_item(); + + $n2i->notice_id = $notice_id; + $n2i->item_id = $item_id; + $n2i->created = common_sql_now(); + + $n2i->insert(); + + return $n2i; + } +} diff --git a/plugins/FacebookBridge/extlib/facebook.php b/plugins/FacebookBridge/extlib/facebook.php new file mode 100644 index 000000000..d2d2e866b --- /dev/null +++ b/plugins/FacebookBridge/extlib/facebook.php @@ -0,0 +1,963 @@ +<?php + +if (!function_exists('curl_init')) { + throw new Exception('Facebook needs the CURL PHP extension.'); +} +if (!function_exists('json_decode')) { + throw new Exception('Facebook needs the JSON PHP extension.'); +} + +/** + * Thrown when an API call returns an exception. + * + * @author Naitik Shah <naitik@facebook.com> + */ +class FacebookApiException extends Exception +{ + /** + * The result from the API server that represents the exception information. + */ + protected $result; + + /** + * Make a new API Exception with the given result. + * + * @param Array $result the result from the API server + */ + public function __construct($result) { + $this->result = $result; + + $code = isset($result['error_code']) ? $result['error_code'] : 0; + + if (isset($result['error_description'])) { + // OAuth 2.0 Draft 10 style + $msg = $result['error_description']; + } else if (isset($result['error']) && is_array($result['error'])) { + // OAuth 2.0 Draft 00 style + $msg = $result['error']['message']; + } else if (isset($result['error_msg'])) { + // Rest server style + $msg = $result['error_msg']; + } else { + $msg = 'Unknown Error. Check getResult()'; + } + + parent::__construct($msg, $code); + } + + /** + * Return the associated result object returned by the API server. + * + * @returns Array the result from the API server + */ + public function getResult() { + return $this->result; + } + + /** + * Returns the associated type for the error. This will default to + * 'Exception' when a type is not available. + * + * @return String + */ + public function getType() { + if (isset($this->result['error'])) { + $error = $this->result['error']; + if (is_string($error)) { + // OAuth 2.0 Draft 10 style + return $error; + } else if (is_array($error)) { + // OAuth 2.0 Draft 00 style + if (isset($error['type'])) { + return $error['type']; + } + } + } + return 'Exception'; + } + + /** + * To make debugging easier. + * + * @returns String the string representation of the error + */ + public function __toString() { + $str = $this->getType() . ': '; + if ($this->code != 0) { + $str .= $this->code . ': '; + } + return $str . $this->message; + } +} + +/** + * Provides access to the Facebook Platform. + * + * @author Naitik Shah <naitik@facebook.com> + */ +class Facebook +{ + /** + * Version. + */ + const VERSION = '2.1.2'; + + /** + * Default options for curl. + */ + public static $CURL_OPTS = array( + CURLOPT_CONNECTTIMEOUT => 10, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 60, + CURLOPT_USERAGENT => 'facebook-php-2.0', + ); + + /** + * List of query parameters that get automatically dropped when rebuilding + * the current URL. + */ + protected static $DROP_QUERY_PARAMS = array( + 'session', + 'signed_request', + ); + + /** + * Maps aliases to Facebook domains. + */ + public static $DOMAIN_MAP = array( + 'api' => 'https://api.facebook.com/', + 'api_read' => 'https://api-read.facebook.com/', + 'graph' => 'https://graph.facebook.com/', + 'www' => 'https://www.facebook.com/', + ); + + /** + * The Application ID. + */ + protected $appId; + + /** + * The Application API Secret. + */ + protected $apiSecret; + + /** + * The active user session, if one is available. + */ + protected $session; + + /** + * The data from the signed_request token. + */ + protected $signedRequest; + + /** + * Indicates that we already loaded the session as best as we could. + */ + protected $sessionLoaded = false; + + /** + * Indicates if Cookie support should be enabled. + */ + protected $cookieSupport = false; + + /** + * Base domain for the Cookie. + */ + protected $baseDomain = ''; + + /** + * Indicates if the CURL based @ syntax for file uploads is enabled. + */ + protected $fileUploadSupport = false; + + /** + * Initialize a Facebook Application. + * + * The configuration: + * - appId: the application ID + * - secret: the application secret + * - cookie: (optional) boolean true to enable cookie support + * - domain: (optional) domain for the cookie + * - fileUpload: (optional) boolean indicating if file uploads are enabled + * + * @param Array $config the application configuration + */ + public function __construct($config) { + $this->setAppId($config['appId']); + $this->setApiSecret($config['secret']); + if (isset($config['cookie'])) { + $this->setCookieSupport($config['cookie']); + } + if (isset($config['domain'])) { + $this->setBaseDomain($config['domain']); + } + if (isset($config['fileUpload'])) { + $this->setFileUploadSupport($config['fileUpload']); + } + } + + /** + * Set the Application ID. + * + * @param String $appId the Application ID + */ + public function setAppId($appId) { + $this->appId = $appId; + return $this; + } + + /** + * Get the Application ID. + * + * @return String the Application ID + */ + public function getAppId() { + return $this->appId; + } + + /** + * Set the API Secret. + * + * @param String $appId the API Secret + */ + public function setApiSecret($apiSecret) { + $this->apiSecret = $apiSecret; + return $this; + } + + /** + * Get the API Secret. + * + * @return String the API Secret + */ + public function getApiSecret() { + return $this->apiSecret; + } + + /** + * Set the Cookie Support status. + * + * @param Boolean $cookieSupport the Cookie Support status + */ + public function setCookieSupport($cookieSupport) { + $this->cookieSupport = $cookieSupport; + return $this; + } + + /** + * Get the Cookie Support status. + * + * @return Boolean the Cookie Support status + */ + public function useCookieSupport() { + return $this->cookieSupport; + } + + /** + * Set the base domain for the Cookie. + * + * @param String $domain the base domain + */ + public function setBaseDomain($domain) { + $this->baseDomain = $domain; + return $this; + } + + /** + * Get the base domain for the Cookie. + * + * @return String the base domain + */ + public function getBaseDomain() { + return $this->baseDomain; + } + + /** + * Set the file upload support status. + * + * @param String $domain the base domain + */ + public function setFileUploadSupport($fileUploadSupport) { + $this->fileUploadSupport = $fileUploadSupport; + return $this; + } + + /** + * Get the file upload support status. + * + * @return String the base domain + */ + public function useFileUploadSupport() { + return $this->fileUploadSupport; + } + + /** + * Get the data from a signed_request token + * + * @return String the base domain + */ + public function getSignedRequest() { + if (!$this->signedRequest) { + if (isset($_REQUEST['signed_request'])) { + $this->signedRequest = $this->parseSignedRequest( + $_REQUEST['signed_request']); + } + } + return $this->signedRequest; + } + + /** + * Set the Session. + * + * @param Array $session the session + * @param Boolean $write_cookie indicate if a cookie should be written. this + * value is ignored if cookie support has been disabled. + */ + public function setSession($session=null, $write_cookie=true) { + $session = $this->validateSessionObject($session); + $this->sessionLoaded = true; + $this->session = $session; + if ($write_cookie) { + $this->setCookieFromSession($session); + } + return $this; + } + + /** + * Get the session object. This will automatically look for a signed session + * sent via the signed_request, Cookie or Query Parameters if needed. + * + * @return Array the session + */ + public function getSession() { + if (!$this->sessionLoaded) { + $session = null; + $write_cookie = true; + + // try loading session from signed_request in $_REQUEST + $signedRequest = $this->getSignedRequest(); + if ($signedRequest) { + // sig is good, use the signedRequest + $session = $this->createSessionFromSignedRequest($signedRequest); + } + + // try loading session from $_REQUEST + if (!$session && isset($_REQUEST['session'])) { + $session = json_decode( + get_magic_quotes_gpc() + ? stripslashes($_REQUEST['session']) + : $_REQUEST['session'], + true + ); + $session = $this->validateSessionObject($session); + } + + // try loading session from cookie if necessary + if (!$session && $this->useCookieSupport()) { + $cookieName = $this->getSessionCookieName(); + if (isset($_COOKIE[$cookieName])) { + $session = array(); + parse_str(trim( + get_magic_quotes_gpc() + ? stripslashes($_COOKIE[$cookieName]) + : $_COOKIE[$cookieName], + '"' + ), $session); + $session = $this->validateSessionObject($session); + // write only if we need to delete a invalid session cookie + $write_cookie = empty($session); + } + } + + $this->setSession($session, $write_cookie); + } + + return $this->session; + } + + /** + * Get the UID from the session. + * + * @return String the UID if available + */ + public function getUser() { + $session = $this->getSession(); + return $session ? $session['uid'] : null; + } + + /** + * Gets a OAuth access token. + * + * @return String the access token + */ + public function getAccessToken() { + $session = $this->getSession(); + // either user session signed, or app signed + if ($session) { + return $session['access_token']; + } else { + return $this->getAppId() .'|'. $this->getApiSecret(); + } + } + + /** + * Get a Login URL for use with redirects. By default, full page redirect is + * assumed. If you are using the generated URL with a window.open() call in + * JavaScript, you can pass in display=popup as part of the $params. + * + * The parameters: + * - next: the url to go to after a successful login + * - cancel_url: the url to go to after the user cancels + * - req_perms: comma separated list of requested extended perms + * - display: can be "page" (default, full page) or "popup" + * + * @param Array $params provide custom parameters + * @return String the URL for the login flow + */ + public function getLoginUrl($params=array()) { + $currentUrl = $this->getCurrentUrl(); + return $this->getUrl( + 'www', + 'login.php', + array_merge(array( + 'api_key' => $this->getAppId(), + 'cancel_url' => $currentUrl, + 'display' => 'page', + 'fbconnect' => 1, + 'next' => $currentUrl, + 'return_session' => 1, + 'session_version' => 3, + 'v' => '1.0', + ), $params) + ); + } + + /** + * Get a Logout URL suitable for use with redirects. + * + * The parameters: + * - next: the url to go to after a successful logout + * + * @param Array $params provide custom parameters + * @return String the URL for the logout flow + */ + public function getLogoutUrl($params=array()) { + return $this->getUrl( + 'www', + 'logout.php', + array_merge(array( + 'next' => $this->getCurrentUrl(), + 'access_token' => $this->getAccessToken(), + ), $params) + ); + } + + /** + * Get a login status URL to fetch the status from facebook. + * + * The parameters: + * - ok_session: the URL to go to if a session is found + * - no_session: the URL to go to if the user is not connected + * - no_user: the URL to go to if the user is not signed into facebook + * + * @param Array $params provide custom parameters + * @return String the URL for the logout flow + */ + public function getLoginStatusUrl($params=array()) { + return $this->getUrl( + 'www', + 'extern/login_status.php', + array_merge(array( + 'api_key' => $this->getAppId(), + 'no_session' => $this->getCurrentUrl(), + 'no_user' => $this->getCurrentUrl(), + 'ok_session' => $this->getCurrentUrl(), + 'session_version' => 3, + ), $params) + ); + } + + /** + * Make an API call. + * + * @param Array $params the API call parameters + * @return the decoded response + */ + public function api(/* polymorphic */) { + $args = func_get_args(); + if (is_array($args[0])) { + return $this->_restserver($args[0]); + } else { + return call_user_func_array(array($this, '_graph'), $args); + } + } + + /** + * Invoke the old restserver.php endpoint. + * + * @param Array $params method call object + * @return the decoded response object + * @throws FacebookApiException + */ + protected function _restserver($params) { + // generic application level parameters + $params['api_key'] = $this->getAppId(); + $params['format'] = 'json-strings'; + + $result = json_decode($this->_oauthRequest( + $this->getApiUrl($params['method']), + $params + ), true); + + // results are returned, errors are thrown + if (is_array($result) && isset($result['error_code'])) { + throw new FacebookApiException($result); + } + return $result; + } + + /** + * Invoke the Graph API. + * + * @param String $path the path (required) + * @param String $method the http method (default 'GET') + * @param Array $params the query/post data + * @return the decoded response object + * @throws FacebookApiException + */ + protected function _graph($path, $method='GET', $params=array()) { + if (is_array($method) && empty($params)) { + $params = $method; + $method = 'GET'; + } + $params['method'] = $method; // method override as we always do a POST + + $result = json_decode($this->_oauthRequest( + $this->getUrl('graph', $path), + $params + ), true); + + // results are returned, errors are thrown + if (is_array($result) && isset($result['error'])) { + $e = new FacebookApiException($result); + switch ($e->getType()) { + // OAuth 2.0 Draft 00 style + case 'OAuthException': + // OAuth 2.0 Draft 10 style + case 'invalid_token': + $this->setSession(null); + } + throw $e; + } + return $result; + } + + /** + * Make a OAuth Request + * + * @param String $path the path (required) + * @param Array $params the query/post data + * @return the decoded response object + * @throws FacebookApiException + */ + protected function _oauthRequest($url, $params) { + if (!isset($params['access_token'])) { + $params['access_token'] = $this->getAccessToken(); + } + + // json_encode all params values that are not strings + foreach ($params as $key => $value) { + if (!is_string($value)) { + $params[$key] = json_encode($value); + } + } + return $this->makeRequest($url, $params); + } + + /** + * Makes an HTTP request. This method can be overriden by subclasses if + * developers want to do fancier things or use something other than curl to + * make the request. + * + * @param String $url the URL to make the request to + * @param Array $params the parameters to use for the POST body + * @param CurlHandler $ch optional initialized curl handle + * @return String the response text + */ + protected function makeRequest($url, $params, $ch=null) { + if (!$ch) { + $ch = curl_init(); + } + + $opts = self::$CURL_OPTS; + if ($this->useFileUploadSupport()) { + $opts[CURLOPT_POSTFIELDS] = $params; + } else { + $opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&'); + } + $opts[CURLOPT_URL] = $url; + + // disable the 'Expect: 100-continue' behaviour. This causes CURL to wait + // for 2 seconds if the server does not support this header. + if (isset($opts[CURLOPT_HTTPHEADER])) { + $existing_headers = $opts[CURLOPT_HTTPHEADER]; + $existing_headers[] = 'Expect:'; + $opts[CURLOPT_HTTPHEADER] = $existing_headers; + } else { + $opts[CURLOPT_HTTPHEADER] = array('Expect:'); + } + + curl_setopt_array($ch, $opts); + $result = curl_exec($ch); + + if (curl_errno($ch) == 60) { // CURLE_SSL_CACERT + self::errorLog('Invalid or no certificate authority found, using bundled information'); + curl_setopt($ch, CURLOPT_CAINFO, + dirname(__FILE__) . '/fb_ca_chain_bundle.crt'); + $result = curl_exec($ch); + } + + if ($result === false) { + $e = new FacebookApiException(array( + 'error_code' => curl_errno($ch), + 'error' => array( + 'message' => curl_error($ch), + 'type' => 'CurlException', + ), + )); + curl_close($ch); + throw $e; + } + curl_close($ch); + return $result; + } + + /** + * The name of the Cookie that contains the session. + * + * @return String the cookie name + */ + protected function getSessionCookieName() { + return 'fbs_' . $this->getAppId(); + } + + /** + * Set a JS Cookie based on the _passed in_ session. It does not use the + * currently stored session -- you need to explicitly pass it in. + * + * @param Array $session the session to use for setting the cookie + */ + protected function setCookieFromSession($session=null) { + if (!$this->useCookieSupport()) { + return; + } + + $cookieName = $this->getSessionCookieName(); + $value = 'deleted'; + $expires = time() - 3600; + $domain = $this->getBaseDomain(); + if ($session) { + $value = '"' . http_build_query($session, null, '&') . '"'; + if (isset($session['base_domain'])) { + $domain = $session['base_domain']; + } + $expires = $session['expires']; + } + + // prepend dot if a domain is found + if ($domain) { + $domain = '.' . $domain; + } + + // if an existing cookie is not set, we dont need to delete it + if ($value == 'deleted' && empty($_COOKIE[$cookieName])) { + return; + } + + if (headers_sent()) { + self::errorLog('Could not set cookie. Headers already sent.'); + + // ignore for code coverage as we will never be able to setcookie in a CLI + // environment + // @codeCoverageIgnoreStart + } else { + setcookie($cookieName, $value, $expires, '/', $domain); + } + // @codeCoverageIgnoreEnd + } + + /** + * Validates a session_version=3 style session object. + * + * @param Array $session the session object + * @return Array the session object if it validates, null otherwise + */ + protected function validateSessionObject($session) { + // make sure some essential fields exist + if (is_array($session) && + isset($session['uid']) && + isset($session['access_token']) && + isset($session['sig'])) { + // validate the signature + $session_without_sig = $session; + unset($session_without_sig['sig']); + $expected_sig = self::generateSignature( + $session_without_sig, + $this->getApiSecret() + ); + if ($session['sig'] != $expected_sig) { + self::errorLog('Got invalid session signature in cookie.'); + $session = null; + } + // check expiry time + } else { + $session = null; + } + return $session; + } + + /** + * Returns something that looks like our JS session object from the + * signed token's data + * + * TODO: Nuke this once the login flow uses OAuth2 + * + * @param Array the output of getSignedRequest + * @return Array Something that will work as a session + */ + protected function createSessionFromSignedRequest($data) { + if (!isset($data['oauth_token'])) { + return null; + } + + $session = array( + 'uid' => $data['user_id'], + 'access_token' => $data['oauth_token'], + 'expires' => $data['expires'], + ); + + // put a real sig, so that validateSignature works + $session['sig'] = self::generateSignature( + $session, + $this->getApiSecret() + ); + + return $session; + } + + /** + * Parses a signed_request and validates the signature. + * Then saves it in $this->signed_data + * + * @param String A signed token + * @param Boolean Should we remove the parts of the payload that + * are used by the algorithm? + * @return Array the payload inside it or null if the sig is wrong + */ + protected function parseSignedRequest($signed_request) { + list($encoded_sig, $payload) = explode('.', $signed_request, 2); + + // decode the data + $sig = self::base64UrlDecode($encoded_sig); + $data = json_decode(self::base64UrlDecode($payload), true); + + if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { + self::errorLog('Unknown algorithm. Expected HMAC-SHA256'); + return null; + } + + // check sig + $expected_sig = hash_hmac('sha256', $payload, + $this->getApiSecret(), $raw = true); + if ($sig !== $expected_sig) { + self::errorLog('Bad Signed JSON signature!'); + return null; + } + + return $data; + } + + /** + * Build the URL for api given parameters. + * + * @param $method String the method name. + * @return String the URL for the given parameters + */ + protected function getApiUrl($method) { + static $READ_ONLY_CALLS = + array('admin.getallocation' => 1, + 'admin.getappproperties' => 1, + 'admin.getbannedusers' => 1, + 'admin.getlivestreamvialink' => 1, + 'admin.getmetrics' => 1, + 'admin.getrestrictioninfo' => 1, + 'application.getpublicinfo' => 1, + 'auth.getapppublickey' => 1, + 'auth.getsession' => 1, + 'auth.getsignedpublicsessiondata' => 1, + 'comments.get' => 1, + 'connect.getunconnectedfriendscount' => 1, + 'dashboard.getactivity' => 1, + 'dashboard.getcount' => 1, + 'dashboard.getglobalnews' => 1, + 'dashboard.getnews' => 1, + 'dashboard.multigetcount' => 1, + 'dashboard.multigetnews' => 1, + 'data.getcookies' => 1, + 'events.get' => 1, + 'events.getmembers' => 1, + 'fbml.getcustomtags' => 1, + 'feed.getappfriendstories' => 1, + 'feed.getregisteredtemplatebundlebyid' => 1, + 'feed.getregisteredtemplatebundles' => 1, + 'fql.multiquery' => 1, + 'fql.query' => 1, + 'friends.arefriends' => 1, + 'friends.get' => 1, + 'friends.getappusers' => 1, + 'friends.getlists' => 1, + 'friends.getmutualfriends' => 1, + 'gifts.get' => 1, + 'groups.get' => 1, + 'groups.getmembers' => 1, + 'intl.gettranslations' => 1, + 'links.get' => 1, + 'notes.get' => 1, + 'notifications.get' => 1, + 'pages.getinfo' => 1, + 'pages.isadmin' => 1, + 'pages.isappadded' => 1, + 'pages.isfan' => 1, + 'permissions.checkavailableapiaccess' => 1, + 'permissions.checkgrantedapiaccess' => 1, + 'photos.get' => 1, + 'photos.getalbums' => 1, + 'photos.gettags' => 1, + 'profile.getinfo' => 1, + 'profile.getinfooptions' => 1, + 'stream.get' => 1, + 'stream.getcomments' => 1, + 'stream.getfilters' => 1, + 'users.getinfo' => 1, + 'users.getloggedinuser' => 1, + 'users.getstandardinfo' => 1, + 'users.hasapppermission' => 1, + 'users.isappuser' => 1, + 'users.isverified' => 1, + 'video.getuploadlimits' => 1); + $name = 'api'; + if (isset($READ_ONLY_CALLS[strtolower($method)])) { + $name = 'api_read'; + } + return self::getUrl($name, 'restserver.php'); + } + + /** + * Build the URL for given domain alias, path and parameters. + * + * @param $name String the name of the domain + * @param $path String optional path (without a leading slash) + * @param $params Array optional query parameters + * @return String the URL for the given parameters + */ + protected function getUrl($name, $path='', $params=array()) { + $url = self::$DOMAIN_MAP[$name]; + if ($path) { + if ($path[0] === '/') { + $path = substr($path, 1); + } + $url .= $path; + } + if ($params) { + $url .= '?' . http_build_query($params, null, '&'); + } + return $url; + } + + /** + * Returns the Current URL, stripping it of known FB parameters that should + * not persist. + * + * @return String the current URL + */ + protected function getCurrentUrl() { + $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' + ? 'https://' + : 'http://'; + $currentUrl = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; + $parts = parse_url($currentUrl); + + // drop known fb params + $query = ''; + if (!empty($parts['query'])) { + $params = array(); + parse_str($parts['query'], $params); + foreach(self::$DROP_QUERY_PARAMS as $key) { + unset($params[$key]); + } + if (!empty($params)) { + $query = '?' . http_build_query($params, null, '&'); + } + } + + // use port if non default + $port = + isset($parts['port']) && + (($protocol === 'http://' && $parts['port'] !== 80) || + ($protocol === 'https://' && $parts['port'] !== 443)) + ? ':' . $parts['port'] : ''; + + // rebuild + return $protocol . $parts['host'] . $port . $parts['path'] . $query; + } + + /** + * Generate a signature for the given params and secret. + * + * @param Array $params the parameters to sign + * @param String $secret the secret to sign with + * @return String the generated signature + */ + protected static function generateSignature($params, $secret) { + // work with sorted data + ksort($params); + + // generate the base string + $base_string = ''; + foreach($params as $key => $value) { + $base_string .= $key . '=' . $value; + } + $base_string .= $secret; + + return md5($base_string); + } + + /** + * Prints to the error log if you aren't in command line mode. + * + * @param String log message + */ + protected static function errorLog($msg) { + // disable error log if we are running in a CLI environment + // @codeCoverageIgnoreStart + if (php_sapi_name() != 'cli') { + error_log($msg); + } + // uncomment this if you want to see the errors on the page + // print 'error_log: '.$msg."\n"; + // @codeCoverageIgnoreEnd + } + + /** + * Base64 encoding that doesn't need to be urlencode()ed. + * Exactly the same as base64_encode except it uses + * - instead of + + * _ instead of / + * + * @param String base64UrlEncodeded string + */ + protected static function base64UrlDecode($input) { + return base64_decode(strtr($input, '-_', '+/')); + } +} diff --git a/plugins/FacebookBridge/extlib/fb_ca_chain_bundle.crt b/plugins/FacebookBridge/extlib/fb_ca_chain_bundle.crt new file mode 100644 index 000000000..b92d7190e --- /dev/null +++ b/plugins/FacebookBridge/extlib/fb_ca_chain_bundle.crt @@ -0,0 +1,121 @@ +-----BEGIN CERTIFICATE----- +MIIFgjCCBGqgAwIBAgIQDKKbZcnESGaLDuEaVk6fQjANBgkqhkiG9w0BAQUFADBm +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSUwIwYDVQQDExxEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBDQS0zMB4XDTEwMDExMzAwMDAwMFoXDTEzMDQxMTIzNTk1OVowaDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEjAQBgNVBAcTCVBhbG8gQWx0bzEX +MBUGA1UEChMORmFjZWJvb2ssIEluYy4xFzAVBgNVBAMUDiouZmFjZWJvb2suY29t +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC9rzj7QIuLM3sdHu1HcI1VcR3g +b5FExKNV646agxSle1aQ/sJev1mh/u91ynwqd2BQmM0brZ1Hc3QrfYyAaiGGgEkp +xbhezyfeYhAyO0TKAYxPnm2cTjB5HICzk6xEIwFbA7SBJ2fSyW1CFhYZyo3tIBjj +19VjKyBfpRaPkzLmRwIDAQABo4ICrDCCAqgwHwYDVR0jBBgwFoAUUOpzidsp+xCP +nuUBINTeeZlIg/cwHQYDVR0OBBYEFPp+tsFBozkjrHlEnZ9J4cFj2eM0MA4GA1Ud +DwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMF8GA1UdHwRYMFYwKaAnoCWGI2h0dHA6 +Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9jYTMtZmIuY3JsMCmgJ6AlhiNodHRwOi8vY3Js +NC5kaWdpY2VydC5jb20vY2EzLWZiLmNybDCCAcYGA1UdIASCAb0wggG5MIIBtQYL +YIZIAYb9bAEDAAEwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3LmRpZ2ljZXJ0 +LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUHAgIwggFWHoIB +UgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQByAHQAaQBmAGkA +YwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBjAGUAcAB0AGEA +bgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAgAEMAUAAvAEMA +UABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQAGEAcgB0AHkA +IABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBtAGkAdAAgAGwA +aQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBjAG8AcgBwAG8A +cgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBlAHIAZQBuAGMA +ZQAuMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0BAQUF +AAOCAQEACOkTIdxMy11+CKrbGNLBSg5xHaTvu/v1wbyn3dO/mf68pPfJnX6ShPYy +4XM4Vk0x4uaFaU4wAGke+nCKGi5dyg0Esg7nemLNKEJaFAJZ9enxZm334lSCeARy +wlDtxULGOFRyGIZZPmbV2eNq5xdU/g3IuBEhL722mTpAye9FU/J8Wsnw54/gANyO +Gzkewigua8ip8Lbs9Cht399yAfbfhUP1DrAm/xEcnHrzPr3cdCtOyJaM6SRPpRqH +ITK5Nc06tat9lXVosSinT3KqydzxBYua9gCFFiR3x3DgZfvXkC6KDdUlDrNcJUub +a1BHnLLP4mxTHL6faAXYd05IxNn/IA== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIGVTCCBT2gAwIBAgIQCFH5WYFBRcq94CTiEsnCDjANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA3MDQwMzAwMDAwMFoXDTIyMDQwMzAwMDAwMFowZjEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTElMCMGA1UEAxMcRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +Q0EtMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9hCikQH17+NDdR +CPge+yLtYb4LDXBMUGMmdRW5QYiXtvCgFbsIYOBC6AUpEIc2iihlqO8xB3RtNpcv +KEZmBMcqeSZ6mdWOw21PoF6tvD2Rwll7XjZswFPPAAgyPhBkWBATaccM7pxCUQD5 +BUTuJM56H+2MEb0SqPMV9Bx6MWkBG6fmXcCabH4JnudSREoQOiPkm7YDr6ictFuf +1EutkozOtREqqjcYjbTCuNhcBoz4/yO9NV7UfD5+gw6RlgWYw7If48hl66l7XaAs +zPw82W3tzPpLQ4zJ1LilYRyyQLYoEt+5+F/+07LJ7z20Hkt8HEyZNp496+ynaF4d +32duXvsCAwEAAaOCAvcwggLzMA4GA1UdDwEB/wQEAwIBhjCCAcYGA1UdIASCAb0w +ggG5MIIBtQYLYIZIAYb9bAEDAAIwggGkMDoGCCsGAQUFBwIBFi5odHRwOi8vd3d3 +LmRpZ2ljZXJ0LmNvbS9zc2wtY3BzLXJlcG9zaXRvcnkuaHRtMIIBZAYIKwYBBQUH +AgIwggFWHoIBUgBBAG4AeQAgAHUAcwBlACAAbwBmACAAdABoAGkAcwAgAEMAZQBy +AHQAaQBmAGkAYwBhAHQAZQAgAGMAbwBuAHMAdABpAHQAdQB0AGUAcwAgAGEAYwBj +AGUAcAB0AGEAbgBjAGUAIABvAGYAIAB0AGgAZQAgAEQAaQBnAGkAQwBlAHIAdAAg +AEMAUAAvAEMAUABTACAAYQBuAGQAIAB0AGgAZQAgAFIAZQBsAHkAaQBuAGcAIABQ +AGEAcgB0AHkAIABBAGcAcgBlAGUAbQBlAG4AdAAgAHcAaABpAGMAaAAgAGwAaQBt +AGkAdAAgAGwAaQBhAGIAaQBsAGkAdAB5ACAAYQBuAGQAIABhAHIAZQAgAGkAbgBj +AG8AcgBwAG8AcgBhAHQAZQBkACAAaABlAHIAZQBpAG4AIABiAHkAIAByAGUAZgBl +AHIAZQBuAGMAZQAuMA8GA1UdEwEB/wQFMAMBAf8wNAYIKwYBBQUHAQEEKDAmMCQG +CCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wgY8GA1UdHwSBhzCB +hDBAoD6gPIY6aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0SGlnaEFz +c3VyYW5jZUVWUm9vdENBLmNybDBAoD6gPIY6aHR0cDovL2NybDQuZGlnaWNlcnQu +Y29tL0RpZ2lDZXJ0SGlnaEFzc3VyYW5jZUVWUm9vdENBLmNybDAfBgNVHSMEGDAW +gBSxPsNpA/i/RwHUmCYaCALvY2QrwzAdBgNVHQ4EFgQUUOpzidsp+xCPnuUBINTe +eZlIg/cwDQYJKoZIhvcNAQEFBQADggEBAF1PhPGoiNOjsrycbeUpSXfh59bcqdg1 +rslx3OXb3J0kIZCmz7cBHJvUV5eR13UWpRLXuT0uiT05aYrWNTf58SHEW0CtWakv +XzoAKUMncQPkvTAyVab+hA4LmzgZLEN8rEO/dTHlIxxFVbdpCJG1z9fVsV7un5Tk +1nq5GMO41lJjHBC6iy9tXcwFOPRWBW3vnuzoYTYMFEuFFFoMg08iXFnLjIpx2vrF +EIRYzwfu45DC9fkpx1ojcflZtGQriLCnNseaIGHr+k61rmsb5OPs4tk8QUmoIKRU +9ZKNu8BVIASm2LAXFszj0Mi0PeXZhMbT9m5teMl5Q+h6N/9cNUm/ocU= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEQjCCA6ugAwIBAgIEQoclDjANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC +VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u +ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc +KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u +ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEy +MjIxNTI3MjdaFw0xNDA3MjIxNTU3MjdaMGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQK +EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNV +BAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGzOVz5vvUu+UtLTKm3+WBP8nNJUm2cSrD +1ZQ0Z6IKHLBfaaZAscS3so/QmKSpQVk609yU1jzbdDikSsxNJYL3SqVTEjju80lt +cZF+Y7arpl/DpIT4T2JRvvjF7Ns4kuMG5QiRDMQoQVX7y1qJFX5x6DW/TXIJPb46 +OFBbdzEbjbPHJEWap6xtABRaBLe6E+tRCphBQSJOZWGHgUFQpnlcid4ZSlfVLuZd +HFMsfpjNGgYWpGhz0DQEE1yhcdNafFXbXmThN4cwVgTlEbQpgBLxeTmIogIRfCdm +t4i3ePLKCqg4qwpkwr9mXZWEwaElHoddGlALIBLMQbtuC1E4uEvLAgMBAAGjggET +MIIBDzASBgNVHRMBAf8ECDAGAQH/AgEBMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggr +BgEFBQcDAgYIKwYBBQUHAwQwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdo +dHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8v +Y3JsLmVudHJ1c3QubmV0L3NlcnZlcjEuY3JsMB0GA1UdDgQWBBSxPsNpA/i/RwHU +mCYaCALvY2QrwzALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7 +UISX8+1i0BowGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEF +BQADgYEAUuVY7HCc/9EvhaYzC1rAIo348LtGIiMduEl5Xa24G8tmJnDioD2GU06r +1kjLX/ktCdpdBgXadbjtdrZXTP59uN0AXlsdaTiFufsqVLPvkp5yMnqnuI3E2o6p +NpAkoQSbB6kUCNnXcW26valgOjDLZFOnr241QiwdBAJAAE/rRa8= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC +VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u +ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc +KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u +ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 +MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE +ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j +b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF +bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg +U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ +I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 +wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC +AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb +oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 +BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p +dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk +MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp +b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu +dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 +MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi +E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa +MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI +hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN +95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd +2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= +-----END CERTIFICATE----- diff --git a/plugins/FacebookBridge/images/login-button.png b/plugins/FacebookBridge/images/login-button.png Binary files differnew file mode 100644 index 000000000..4e7766bca --- /dev/null +++ b/plugins/FacebookBridge/images/login-button.png diff --git a/plugins/FacebookBridge/lib/facebookclient.php b/plugins/FacebookBridge/lib/facebookclient.php new file mode 100644 index 000000000..d5ecd11a9 --- /dev/null +++ b/plugins/FacebookBridge/lib/facebookclient.php @@ -0,0 +1,1139 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Class for communicating with Facebook + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews <candrews@integralblue.com> + * @author Zach Copley <zach@status.net> + * @copyright 2009-2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Class for communication with Facebook + * + * @category Plugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ +class Facebookclient +{ + protected $facebook = null; // Facebook Graph client obj + protected $flink = null; // Foreign_link StatusNet -> Facebook + protected $notice = null; // The user's notice + protected $user = null; // Sender of the notice + + function __construct($notice) + { + $this->facebook = self::getFacebook(); + $this->notice = $notice; + + $this->flink = Foreign_link::getByUserID( + $notice->profile_id, + FACEBOOK_SERVICE + ); + + if (!empty($this->flink)) { + $this->user = $this->flink->getUser(); + } + } + + /* + * Get an instance of the Facebook Graph SDK object + * + * @param string $appId Application + * @param string $secret Facebook API secret + * + * @return Facebook A Facebook SDK obj + */ + static function getFacebook($appId = null, $secret = null) + { + // Check defaults and configuration for application ID and secret + if (empty($appId)) { + $appId = common_config('facebook', 'appid'); + } + + if (empty($secret)) { + $secret = common_config('facebook', 'secret'); + } + + // If there's no app ID and secret set in the local config, look + // for a global one + if (empty($appId) || empty($secret)) { + $appId = common_config('facebook', 'global_appid'); + $secret = common_config('facebook', 'global_secret'); + } + + return new Facebook( + array( + 'appId' => $appId, + 'secret' => $secret, + 'cookie' => true + ) + ); + } + + /* + * Broadcast a notice to Facebook + * + * @param Notice $notice the notice to send + */ + static function facebookBroadcastNotice($notice) + { + $client = new Facebookclient($notice); + return $client->sendNotice(); + } + + /* + * Should the notice go to Facebook? + */ + function isFacebookBound() { + + if (empty($this->flink)) { + common_log( + LOG_WARN, + sprintf( + "No Foreign_link to Facebook for the author of notice %d.", + $this->notice->id + ), + __FILE__ + ); + return false; + } + + // Avoid a loop + if ($this->notice->source == 'Facebook') { + common_log( + LOG_INFO, + sprintf( + 'Skipping notice %d because its source is Facebook.', + $this->notice->id + ), + __FILE__ + ); + return false; + } + + // If the user does not want to broadcast to Facebook, move along + if (!($this->flink->noticesync & FOREIGN_NOTICE_SEND == FOREIGN_NOTICE_SEND)) { + common_log( + LOG_INFO, + sprintf( + 'Skipping notice %d because user has FOREIGN_NOTICE_SEND bit off.', + $this->notice->id + ), + __FILE__ + ); + return false; + } + + // If it's not a reply, or if the user WANTS to send @-replies, + // then, yeah, it can go to Facebook. + if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $this->notice->content) || + ($this->flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) { + return true; + } + + return false; + } + + /* + * Determine whether we should send this notice using the Graph API or the + * old REST API and then dispatch + */ + function sendNotice() + { + // If there's nothing in the credentials field try to send via + // the Old Rest API + + if ($this->isFacebookBound()) { + common_debug("notice is facebook bound", __FILE__); + if (empty($this->flink->credentials)) { + return $this->sendOldRest(); + } else { + + // Otherwise we most likely have an access token + return $this->sendGraph(); + } + + } else { + common_debug( + sprintf( + "Skipping notice %d - not bound for Facebook", + $this->notice->id, + __FILE__ + ) + ); + } + } + + /* + * Send a notice to Facebook using the Graph API + */ + function sendGraph() + { + try { + + $fbuid = $this->flink->foreign_id; + + common_debug( + sprintf( + "Attempting use Graph API to post notice %d as a stream item for %s (%d), fbuid %d", + $this->notice->id, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + $params = array( + 'access_token' => $this->flink->credentials, + // XXX: Need to worrry about length of the message? + 'message' => $this->notice->content + ); + + $attachments = $this->notice->attachments(); + + if (!empty($attachments)) { + + // We can only send one attachment with the Graph API :( + + $first = array_shift($attachments); + + if (substr($first->mimetype, 0, 6) == 'image/' + || in_array( + $first->mimetype, + array('application/x-shockwave-flash', 'audio/mpeg' ))) { + + $params['picture'] = $first->url; + $params['caption'] = 'Click for full size'; + $params['source'] = $first->url; + } + + } + + $result = $this->facebook->api( + sprintf('/%s/feed', $fbuid), 'post', $params + ); + + // Save a mapping + Notice_to_item::saveNew($this->notice->id, $result['id']); + + common_log( + LOG_INFO, + sprintf( + "Posted notice %d as a stream item for %s (%d), fbuid %d", + $this->notice->id, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + } catch (FacebookApiException $e) { + return $this->handleFacebookError($e); + } + + return true; + } + + /* + * Send a notice to Facebook using the deprecated Old REST API. We need this + * for backwards compatibility. Users who signed up for Facebook bridging + * using the old Facebook Canvas application do not have an OAuth 2.0 + * access token. + */ + function sendOldRest() + { + try { + + $canPublish = $this->checkPermission('publish_stream'); + $canUpdate = $this->checkPermission('status_update'); + + // We prefer to use stream.publish, because it can handle + // attachments and returns the ID of the published item + + if ($canPublish == 1) { + $this->restPublishStream(); + } else if ($canUpdate == 1) { + // as a last resort we can just update the user's "status" + $this->restStatusUpdate(); + } else { + + $msg = 'Not sending notice %d to Facebook because user %s ' + . '(%d), fbuid %d, does not have \'status_update\' ' + . 'or \'publish_stream\' permission.'; + + common_log( + LOG_WARNING, + sprintf( + $msg, + $this->notice->id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id + ), + __FILE__ + ); + } + + } catch (FacebookApiException $e) { + return $this->handleFacebookError($e); + } + + return true; + } + + /* + * Query Facebook to to see if a user has permission + * + * + * + * @param $permission the permission to check for - must be either + * public_stream or status_update + * + * @return boolean result + */ + function checkPermission($permission) + { + if (!in_array($permission, array('publish_stream', 'status_update'))) { + throw new ServerException("No such permission!"); + } + + $fbuid = $this->flink->foreign_id; + + common_debug( + sprintf( + 'Checking for %s permission for user %s (%d), fbuid %d', + $permission, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + $hasPermission = $this->facebook->api( + array( + 'method' => 'users.hasAppPermission', + 'ext_perm' => $permission, + 'uid' => $fbuid + ) + ); + + if ($hasPermission == 1) { + + common_debug( + sprintf( + '%s (%d), fbuid %d has %s permission', + $permission, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + return true; + + } else { + + $logMsg = '%s (%d), fbuid $fbuid does NOT have %s permission.' + . 'Facebook returned: %s'; + + common_debug( + sprintf( + $logMsg, + $this->user->nickname, + $this->user->id, + $permission, + $fbuid, + var_export($result, true) + ), + __FILE__ + ); + + return false; + + } + } + + /* + * Handle a Facebook API Exception + * + * @param FacebookApiException $e the exception + * + */ + function handleFacebookError($e) + { + $fbuid = $this->flink->foreign_id; + $errmsg = $e->getMessage(); + $code = $e->getCode(); + + // The Facebook PHP SDK seems to always set the code attribute + // of the Exception to 0; they put the real error code in + // the message. Gar! + if ($code == 0) { + preg_match('/^\(#(?<code>\d+)\)/', $errmsg, $matches); + $code = $matches['code']; + } + + // XXX: Check for any others? + switch($code) { + case 100: // Invalid parameter + $msg = 'Facebook claims notice %d was posted with an invalid ' + . 'parameter (error code 100 - %s) Notice details: ' + . '[nickname=%s, user id=%d, fbuid=%d, content="%s"]. ' + . 'Dequeing.'; + common_log( + LOG_ERR, sprintf( + $msg, + $this->notice->id, + $errmsg, + $this->user->nickname, + $this->user->id, + $fbuid, + $this->notice->content + ), + __FILE__ + ); + return true; + break; + case 200: // Permissions error + case 250: // Updating status requires the extended permission status_update + $this->disconnect(); + return true; // dequeue + break; + case 341: // Feed action request limit reached + $msg = '%s (userid=%d, fbuid=%d) has exceeded his/her limit ' + . 'for posting notices to Facebook today. Dequeuing ' + . 'notice %d'; + common_log( + LOG_INFO, sprintf( + $msg, + $user->nickname, + $user->id, + $fbuid, + $this->notice->id + ), + __FILE__ + ); + // @fixme: We want to rety at a later time when the throttling has expired + // instead of just giving up. + return true; + break; + default: + $msg = 'Facebook returned an error we don\'t know how to deal with ' + . 'when posting notice %d. Error code: %d, error message: "%s"' + . ' Notice details: [nickname=%s, user id=%d, fbuid=%d, ' + . 'notice content="%s"]. Dequeing.'; + common_log( + LOG_ERR, sprintf( + $msg, + $this->notice->id, + $code, + $errmsg, + $this->user->nickname, + $this->user->id, + $fbuid, + $this->notice->content + ), + __FILE__ + ); + return true; // dequeue + break; + } + } + + /* + * Publish a notice to Facebook as a status update + * + * This is the least preferable way to send a notice to Facebook because + * it doesn't support attachments and the API method doesn't return + * the ID of the post on Facebook. + * + */ + function restStatusUpdate() + { + $fbuid = $this->flink->foreign_id; + + common_debug( + sprintf( + "Attempting to post notice %d as a status update for %s (%d), fbuid %d", + $this->notice->id, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + $result = $this->facebook->api( + array( + 'method' => 'users.setStatus', + 'status' => $this->formatMessage(), + 'status_includes_verb' => true, + 'uid' => $fbuid + ) + ); + + if ($result == 1) { // 1 is success + + common_log( + LOG_INFO, + sprintf( + "Posted notice %s as a status update for %s (%d), fbuid %d", + $this->notice->id, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + // There is no item ID returned for status update so we can't + // save a Notice_to_item mapping + + } else { + + $msg = sprintf( + "Error posting notice %s as a status update for %s (%d), fbuid %d - error code: %s", + $this->notice->id, + $this->user->nickname, + $this->user->id, + $fbuid, + $result // will contain 0, or an error + ); + + throw new FacebookApiException($msg, $result); + } + } + + /* + * Publish a notice to a Facebook user's stream using the old REST API + */ + function restPublishStream() + { + $fbuid = $this->flink->foreign_id; + + common_debug( + sprintf( + 'Attempting to post notice %d as stream item for %s (%d) fbuid %d', + $this->notice->id, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + $fbattachment = $this->formatAttachments(); + + $result = $this->facebook->api( + array( + 'method' => 'stream.publish', + 'message' => $this->formatMessage(), + 'attachment' => $fbattachment, + 'uid' => $fbuid + ) + ); + + if (!empty($result)) { // result will contain the item ID + + // Save a mapping + Notice_to_item::saveNew($this->notice->id, $result); + + common_log( + LOG_INFO, + sprintf( + 'Posted notice %d as a %s for %s (%d), fbuid %d', + $this->notice->id, + empty($fbattachment) ? 'stream item' : 'stream item with attachment', + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + } else { + + $msg = sprintf( + 'Could not post notice %d as a %s for %s (%d), fbuid %d - error code: %s', + $this->notice->id, + empty($fbattachment) ? 'stream item' : 'stream item with attachment', + $this->user->nickname, + $this->user->id, + $result, // result will contain an error code + $fbuid + ); + + throw new FacebookApiException($msg, $result); + } + } + + /* + * Format the text message of a stream item so it's appropriate for + * sending to Facebook. If the notice is too long, truncate it, and + * add a linkback to the original notice at the end. + * + * @return String $txt the formated message + */ + function formatMessage() + { + // Start with the plaintext source of this notice... + $txt = $this->notice->content; + + // Facebook has a 420-char hardcoded max. + if (mb_strlen($statustxt) > 420) { + $noticeUrl = common_shorten_url($this->notice->uri); + $urlLen = mb_strlen($noticeUrl); + $txt = mb_substr($statustxt, 0, 420 - ($urlLen + 3)) . ' … ' . $noticeUrl; + } + + return $txt; + } + + /* + * Format attachments for the old REST API stream.publish method + * + * Note: Old REST API supports multiple attachments per post + * + */ + function formatAttachments() + { + $attachments = $this->notice->attachments(); + + $fbattachment = array(); + $fbattachment['media'] = array(); + + foreach($attachments as $attachment) + { + if($enclosure = $attachment->getEnclosure()){ + $fbmedia = $this->getFacebookMedia($enclosure); + }else{ + $fbmedia = $this->getFacebookMedia($attachment); + } + if($fbmedia){ + $fbattachment['media'][]=$fbmedia; + }else{ + $fbattachment['name'] = ($attachment->title ? + $attachment->title : $attachment->url); + $fbattachment['href'] = $attachment->url; + } + } + if(count($fbattachment['media'])>0){ + unset($fbattachment['name']); + unset($fbattachment['href']); + } + return $fbattachment; + } + + /** + * given a File objects, returns an associative array suitable for Facebook media + */ + function getFacebookMedia($attachment) + { + $fbmedia = array(); + + if (strncmp($attachment->mimetype, 'image/', strlen('image/')) == 0) { + $fbmedia['type'] = 'image'; + $fbmedia['src'] = $attachment->url; + $fbmedia['href'] = $attachment->url; + } else if ($attachment->mimetype == 'audio/mpeg') { + $fbmedia['type'] = 'mp3'; + $fbmedia['src'] = $attachment->url; + }else if ($attachment->mimetype == 'application/x-shockwave-flash') { + $fbmedia['type'] = 'flash'; + + // http://wiki.developers.facebook.com/index.php/Attachment_%28Streams%29 + // says that imgsrc is required... but we have no value to put in it + // $fbmedia['imgsrc']=''; + + $fbmedia['swfsrc'] = $attachment->url; + }else{ + return false; + } + return $fbmedia; + } + + /* + * Disconnect a user from Facebook by deleting his Foreign_link. + * Notifies the user his account has been disconnected by email. + */ + function disconnect() + { + $fbuid = $this->flink->foreign_id; + + common_log( + LOG_INFO, + sprintf( + 'Removing Facebook link for %s (%d), fbuid %d', + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + + $result = $this->flink->delete(); + + if (empty($result)) { + common_log( + LOG_ERR, + sprintf( + 'Could not remove Facebook link for %s (%d), fbuid %d', + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + common_log_db_error($flink, 'DELETE', __FILE__); + } + + // Notify the user that we are removing their Facebook link + if (!empty($this->user->email)) { + $result = $this->mailFacebookDisconnect(); + + if (!$result) { + + $msg = 'Unable to send email to notify %s (%d), fbuid %d ' + . 'about his/her Facebook link being removed.'; + + common_log( + LOG_WARNING, + sprintf( + $msg, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + } + + } else { + + $msg = 'Unable to send email to notify %s (%d), fbuid %d ' + . 'about his/her Facebook link being removed because the ' + . 'user has not set an email address.'; + + common_log( + LOG_WARNING, + sprintf( + $msg, + $this->user->nickname, + $this->user->id, + $fbuid + ), + __FILE__ + ); + } + } + + /** + * Send a mail message to notify a user that her Facebook link + * has been terminated. + * + * @return boolean success flag + */ + function mailFacebookDisconnect() + { + $profile = $this->user->getProfile(); + + $siteName = common_config('site', 'name'); + + common_switch_locale($this->user->language); + + $subject = _m('Your Facebook connection has been removed'); + + $msg = <<<BODY +Hi %1$s, + +We're sorry to inform you we are unable to publish your notice to +Facebook, and have removed the connection between your %2$s account and +Facebook. + +This may have happened because you have removed permission for %2$s +to post on your behalf, or perhaps you have deactivated your Facebook +account. You can reconnect your %s account to Facebook at any time by +logging in with Facebook again. + +Sincerely, + +%2$s +BODY; + $body = sprintf( + _m($msg), + $this->user->nickname, + $siteName + ); + + common_switch_locale(); + + $result = mail_to_user($this->user, $subject, $body); + + if (empty($this->user->password)) { + $result = self::emailWarn($this->user); + } + + return $result; + } + + /* + * Send the user an email warning that their account has been + * disconnected and he/she has no way to login and must contact + * the site administrator for help. + * + * @param User $user the deauthorizing user + * + */ + static function emailWarn($user) + { + $profile = $user->getProfile(); + + $siteName = common_config('site', 'name'); + $siteEmail = common_config('site', 'email'); + + if (empty($siteEmail)) { + common_log( + LOG_WARNING, + "No site email address configured. Please set one." + ); + } + + common_switch_locale($user->language); + + $subject = _m('Contact the %s administrator to retrieve your account'); + + $msg = <<<BODY +Hi %1$s, + +We've noticed you have deauthorized the Facebook connection for your +%2$s account. You have not set a password for your %2$s account yet, so +you will not be able to login. If you wish to continue using your %2$s +account, please contact the site administrator (%3$s) to set a password. + +Sincerely, + +%2$s +BODY; + $body = sprintf( + _m($msg), + $user->nickname, + $siteName, + $siteEmail + ); + + common_switch_locale(); + + if (mail_to_user($user, $subject, $body)) { + common_log( + LOG_INFO, + sprintf( + 'Sent account lockout warning to %s (%d)', + $user->nickname, + $user->id + ), + __FILE__ + ); + } else { + common_log( + LOG_WARNING, + sprintf( + 'Unable to send account lockout warning to %s (%d)', + $user->nickname, + $user->id + ), + __FILE__ + ); + } + } + + /* + * Check to see if we have a mapping to a copy of this notice + * on Facebook + * + * @param Notice $notice the notice to check + * + * @return mixed null if it can't find one, or the id of the Facebook + * stream item + */ + static function facebookStatusId($notice) + { + $n2i = Notice_to_item::staticGet('notice_id', $notice->id); + + if (empty($n2i)) { + return null; + } else { + return $n2i->item_id; + } + } + + /* + * Save a Foreign_user record of a Facebook user + * + * @param object $fbuser a Facebook Graph API user obj + * See: http://developers.facebook.com/docs/reference/api/user + * @return mixed $result Id or key + * + */ + static function addFacebookUser($fbuser) + { + // remove any existing, possibly outdated, record + $luser = Foreign_user::getForeignUser($fbuser['id'], FACEBOOK_SERVICE); + + if (!empty($luser)) { + + $result = $luser->delete(); + + if ($result != false) { + common_log( + LOG_INFO, + sprintf( + 'Removed old Facebook user: %s, fbuid %d', + $fbuid['name'], + $fbuid['id'] + ), + __FILE__ + ); + } + } + + $fuser = new Foreign_user(); + + $fuser->nickname = $fbuser['name']; + $fuser->uri = $fbuser['link']; + $fuser->id = $fbuser['id']; + $fuser->service = FACEBOOK_SERVICE; + $fuser->created = common_sql_now(); + + $result = $fuser->insert(); + + if (empty($result)) { + common_log( + LOG_WARNING, + sprintf( + 'Failed to add new Facebook user: %s, fbuid %d', + $fbuser['name'], + $fbuser['id'] + ), + __FILE__ + ); + + common_log_db_error($fuser, 'INSERT', __FILE__); + } else { + common_log( + LOG_INFO, + sprintf( + 'Added new Facebook user: %s, fbuid %d', + $fbuser['name'], + $fbuser['id'] + ), + __FILE__ + ); + } + + return $result; + } + + /* + * Remove an item from a Facebook user's feed if we have a mapping + * for it. + */ + function streamRemove() + { + $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id); + + if (!empty($this->flink) && !empty($n2i)) { + + try { + + $result = $this->facebook->api( + array( + 'method' => 'stream.remove', + 'post_id' => $n2i->item_id, + 'uid' => $this->flink->foreign_id + ) + ); + + if (!empty($result) && result == true) { + + common_log( + LOG_INFO, + sprintf( + 'Deleted Facebook item: %s for %s (%d), fbuid %d', + $n2i->item_id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id + ), + __FILE__ + ); + + $n2i->delete(); + + } else { + throw new FaceboookApiException(var_export($result, true)); + } + + } catch (FacebookApiException $e) { + common_log( + LOG_WARNING, + sprintf( + 'Could not deleted Facebook item: %s for %s (%d), ' + . 'fbuid %d - (API error: %s) item already deleted ' + . 'on Facebook? ', + $n2i->item_id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id, + $e + ), + __FILE__ + ); + } + } + } + + /* + * Like an item in a Facebook user's feed if we have a mapping + * for it. + */ + function like() + { + $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id); + + if (!empty($this->flink) && !empty($n2i)) { + + try { + + $result = $this->facebook->api( + array( + 'method' => 'stream.addlike', + 'post_id' => $n2i->item_id, + 'uid' => $this->flink->foreign_id + ) + ); + + if (!empty($result) && result == true) { + + common_log( + LOG_INFO, + sprintf( + 'Added like for item: %s for %s (%d), fbuid %d', + $n2i->item_id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id + ), + __FILE__ + ); + + } else { + throw new FacebookApiException(var_export($result, true)); + } + + } catch (FacebookApiException $e) { + common_log( + LOG_WARNING, + sprintf( + 'Could not like Facebook item: %s for %s (%d), ' + . 'fbuid %d (API error: %s)', + $n2i->item_id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id, + $e + ), + __FILE__ + ); + } + } + } + + /* + * Unlike an item in a Facebook user's feed if we have a mapping + * for it. + */ + function unLike() + { + $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id); + + if (!empty($this->flink) && !empty($n2i)) { + + try { + + $result = $this->facebook->api( + array( + 'method' => 'stream.removeLike', + 'post_id' => $n2i->item_id, + 'uid' => $this->flink->foreign_id + ) + ); + + if (!empty($result) && result == true) { + + common_log( + LOG_INFO, + sprintf( + 'Removed like for item: %s for %s (%d), fbuid %d', + $n2i->item_id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id + ), + __FILE__ + ); + + } else { + throw new FacebookApiException(var_export($result, true)); + } + + } catch (FacebookApiException $e) { + common_log( + LOG_WARNING, + sprintf( + 'Could not remove like for Facebook item: %s for %s ' + . '(%d), fbuid %d (API error: %s)', + $n2i->item_id, + $this->user->nickname, + $this->user->id, + $this->flink->foreign_id, + $e + ), + __FILE__ + ); + } + } + } + +} diff --git a/plugins/FacebookBridge/lib/facebookqueuehandler.php b/plugins/FacebookBridge/lib/facebookqueuehandler.php new file mode 100644 index 000000000..1e82ff01b --- /dev/null +++ b/plugins/FacebookBridge/lib/facebookqueuehandler.php @@ -0,0 +1,61 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Queuehandler for Facebook transport + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @category Plugin + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class FacebookQueueHandler extends QueueHandler +{ + function transport() + { + return 'facebook'; + } + + function handle($notice) + { + if ($this->_isLocal($notice)) { + return Facebookclient::facebookBroadcastNotice($notice); + } + return true; + } + + /** + * Determine whether the notice was locally created + * + * @param Notice $notice the notice + * + * @return boolean locality + */ + function _isLocal($notice) + { + return ($notice->is_local == Notice::LOCAL_PUBLIC || + $notice->is_local == Notice::LOCAL_NONPUBLIC); + } +} diff --git a/plugins/FacebookBridge/locale/FacebookBridge.pot b/plugins/FacebookBridge/locale/FacebookBridge.pot new file mode 100644 index 000000000..08c0813fc --- /dev/null +++ b/plugins/FacebookBridge/locale/FacebookBridge.pot @@ -0,0 +1,294 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. TRANS: Menu item. +#. TRANS: Menu item tab. +#: FacebookBridgePlugin.php:201 FacebookBridgePlugin.php:240 +#: FacebookBridgePlugin.php:281 +msgctxt "MENU" +msgid "Facebook" +msgstr "" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookBridgePlugin.php:203 +msgid "Login or register using Facebook" +msgstr "" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookBridgePlugin.php:242 +msgid "Facebook integration configuration" +msgstr "" + +#. TRANS: Tooltip for menu item "Facebook". +#. TRANS: Page title for Facebook settings. +#: FacebookBridgePlugin.php:283 actions/facebooksettings.php:106 +msgid "Facebook settings" +msgstr "" + +#: FacebookBridgePlugin.php:547 +msgid "A plugin for integrating StatusNet with Facebook." +msgstr "" + +#: lib/facebookclient.php:776 +msgid "Your Facebook connection has been removed" +msgstr "" + +#: lib/facebookclient.php:835 +#, php-format +msgid "Contact the %s administrator to retrieve your account" +msgstr "" + +#: actions/facebookfinishlogin.php:88 +msgid "" +"You must be logged into Facebook to register a local account using Facebook." +msgstr "" + +#: actions/facebookfinishlogin.php:118 +msgid "There is already a local account linked with that Facebook account." +msgstr "" + +#: actions/facebookfinishlogin.php:141 actions/facebooksettings.php:87 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: actions/facebookfinishlogin.php:150 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: actions/facebookfinishlogin.php:167 +msgid "An unknown error has occured." +msgstr "" + +#: actions/facebookfinishlogin.php:185 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your " +"Facebook to a local account. You can either create a new local account, or " +"connect with an existing local account." +msgstr "" + +#. TRANS: Page title. +#: actions/facebookfinishlogin.php:195 +msgid "Facebook Setup" +msgstr "" + +#. TRANS: Legend. +#: actions/facebookfinishlogin.php:229 +msgid "Connection options" +msgstr "" + +#. TRANS: %s is the name of the license used by the user for their status updates. +#: actions/facebookfinishlogin.php:239 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" + +#. TRANS: Legend. +#: actions/facebookfinishlogin.php:256 +msgid "Create new account" +msgstr "" + +#: actions/facebookfinishlogin.php:258 +msgid "Create a new user with this nickname." +msgstr "" + +#. TRANS: Field label. +#: actions/facebookfinishlogin.php:262 +msgid "New nickname" +msgstr "" + +#: actions/facebookfinishlogin.php:264 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#. TRANS: Submit button. +#: actions/facebookfinishlogin.php:268 +msgctxt "BUTTON" +msgid "Create" +msgstr "" + +#: actions/facebookfinishlogin.php:274 +msgid "Connect existing account" +msgstr "" + +#: actions/facebookfinishlogin.php:276 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Facebook." +msgstr "" + +#. TRANS: Field label. +#: actions/facebookfinishlogin.php:280 +msgid "Existing nickname" +msgstr "" + +#: actions/facebookfinishlogin.php:283 +msgid "Password" +msgstr "" + +#. TRANS: Submit button. +#: actions/facebookfinishlogin.php:287 +msgctxt "BUTTON" +msgid "Connect" +msgstr "" + +#. TRANS: Client error trying to register with registrations not allowed. +#. TRANS: Client error trying to register with registrations 'invite only'. +#: actions/facebookfinishlogin.php:304 actions/facebookfinishlogin.php:314 +msgid "Registration not allowed." +msgstr "" + +#. TRANS: Client error trying to register with an invalid invitation code. +#: actions/facebookfinishlogin.php:322 +msgid "Not a valid invitation code." +msgstr "" + +#: actions/facebookfinishlogin.php:335 +msgid "Nickname not allowed." +msgstr "" + +#: actions/facebookfinishlogin.php:340 +msgid "Nickname already in use. Try another one." +msgstr "" + +#: actions/facebookfinishlogin.php:368 actions/facebookfinishlogin.php:505 +msgid "Error connecting user to Facebook." +msgstr "" + +#: actions/facebookfinishlogin.php:468 +msgid "Invalid username or password." +msgstr "" + +#: actions/facebooklogin.php:43 +msgid "Already logged in." +msgstr "" + +#. TRANS: Instructions. +#: actions/facebooklogin.php:52 +msgid "Login with your Facebook Account" +msgstr "" + +#. TRANS: Page title. +#: actions/facebooklogin.php:67 +msgid "Login with Facebook" +msgstr "" + +#: actions/facebookadminpanel.php:52 +msgid "Facebook" +msgstr "" + +#: actions/facebookadminpanel.php:62 +msgid "Facebook integration settings" +msgstr "" + +#: actions/facebookadminpanel.php:123 +msgid "Invalid Facebook ID. Max length is 255 characters." +msgstr "" + +#: actions/facebookadminpanel.php:129 +msgid "Invalid Facebook secret. Max length is 255 characters." +msgstr "" + +#: actions/facebookadminpanel.php:178 +msgid "Facebook application settings" +msgstr "" + +#: actions/facebookadminpanel.php:184 +msgid "Application ID" +msgstr "" + +#: actions/facebookadminpanel.php:185 +msgid "ID of your Facebook application" +msgstr "" + +#: actions/facebookadminpanel.php:193 +msgid "Secret" +msgstr "" + +#: actions/facebookadminpanel.php:194 +msgid "Application secret" +msgstr "" + +#: actions/facebookadminpanel.php:210 +msgid "Save" +msgstr "" + +#: actions/facebookadminpanel.php:210 +msgid "Save Facebook settings" +msgstr "" + +#: actions/facebooksettings.php:139 +msgid "Connected Facebook user" +msgstr "" + +#: actions/facebooksettings.php:166 +msgid "Publish my notices to Facebook." +msgstr "" + +#: actions/facebooksettings.php:176 +msgid "Send \"@\" replies to Facebook." +msgstr "" + +#. TRANS: Submit button to save synchronisation settings. +#: actions/facebooksettings.php:185 +msgctxt "BUTTON" +msgid "Save" +msgstr "" + +#. TRANS: Legend. +#: actions/facebooksettings.php:194 +msgid "Disconnect my account from Facebook" +msgstr "" + +#: actions/facebooksettings.php:202 +#, php-format +msgid "" +"Disconnecting your Faceboook would make it impossible to log in! Please [set " +"a password](%s) first." +msgstr "" + +#: actions/facebooksettings.php:215 +msgid "" +"Keep your %1$s account but disconnect from Facebook. You'll use your 1%$s " +"password to log in." +msgstr "" + +#. TRANS: Submit button. +#: actions/facebooksettings.php:222 +msgctxt "BUTTON" +msgid "Disconnect" +msgstr "" + +#: actions/facebooksettings.php:246 +msgid "There was a problem saving your sync preferences." +msgstr "" + +#. TRANS: Confirmation that synchronisation settings have been saved into the system. +#: actions/facebooksettings.php:249 +msgid "Sync preferences saved." +msgstr "" + +#: actions/facebooksettings.php:264 +msgid "Couldn't delete link to Facebook." +msgstr "" + +#: actions/facebooksettings.php:268 +msgid "You have disconnected from Facebook." +msgstr "" diff --git a/plugins/FacebookBridge/locale/mk/LC_MESSAGES/FacebookBridge.po b/plugins/FacebookBridge/locale/mk/LC_MESSAGES/FacebookBridge.po new file mode 100644 index 000000000..2d338e877 --- /dev/null +++ b/plugins/FacebookBridge/locale/mk/LC_MESSAGES/FacebookBridge.po @@ -0,0 +1,316 @@ +# Translation of StatusNet - FacebookBridge to Macedonian (Македонски) +# Expored from translatewiki.net +# +# Author: Bjankuloski06 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - FacebookBridge\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:00+0000\n" +"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:27+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: mk\n" +"X-Message-Group: #out-statusnet-plugin-facebookbridge\n" +"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" + +#. TRANS: Menu item. +#. TRANS: Menu item tab. +#: FacebookBridgePlugin.php:201 FacebookBridgePlugin.php:240 +#: FacebookBridgePlugin.php:281 +msgctxt "MENU" +msgid "Facebook" +msgstr "Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookBridgePlugin.php:203 +msgid "Login or register using Facebook" +msgstr "Најава или регистрација со Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookBridgePlugin.php:242 +msgid "Facebook integration configuration" +msgstr "Поставки за обединување со Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#. TRANS: Page title for Facebook settings. +#: FacebookBridgePlugin.php:283 actions/facebooksettings.php:106 +msgid "Facebook settings" +msgstr "Поставки за Facebook" + +#: FacebookBridgePlugin.php:547 +msgid "A plugin for integrating StatusNet with Facebook." +msgstr "Приклучок за обединување на StatusNet со Facebook." + +#: lib/facebookclient.php:776 +msgid "Your Facebook connection has been removed" +msgstr "Вашата врска со Facebook е отстранета" + +#: lib/facebookclient.php:835 +#, php-format +msgid "Contact the %s administrator to retrieve your account" +msgstr "Контактирајте го администраторот на %s за да си ја повртатите сметката" + +#: actions/facebookfinishlogin.php:88 +msgid "" +"You must be logged into Facebook to register a local account using Facebook." +msgstr "" +"За да регистрирате локална сметка користејќи Facebook, ќе мора да сте " +"најавени на самиот Facebook." + +#: actions/facebookfinishlogin.php:118 +msgid "There is already a local account linked with that Facebook account." +msgstr "Веќе постои локална сметка поврзана со тааа сметка на Facebook." + +#: actions/facebookfinishlogin.php:141 actions/facebooksettings.php:87 +msgid "There was a problem with your session token. Try again, please." +msgstr "Се поајви проблем со Вашиот сесиски жетон. Обидете се повторно." + +#: actions/facebookfinishlogin.php:150 +msgid "You can't register if you don't agree to the license." +msgstr "Не може да се регистрирате ако не ја прифаќате лиценцата." + +#: actions/facebookfinishlogin.php:167 +msgid "An unknown error has occured." +msgstr "Се појави непозната грешка." + +#: actions/facebookfinishlogin.php:185 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your " +"Facebook to a local account. You can either create a new local account, or " +"connect with an existing local account." +msgstr "" +"Ова е прв пат како се најавувате на %s, па затоа мораме да го поврземе " +"Вашиот профил на Facebook со локална сметка. Можете да создадете нова " +"локална сметка, или пак да се поврзете со постоечка сметка." + +#. TRANS: Page title. +#: actions/facebookfinishlogin.php:195 +msgid "Facebook Setup" +msgstr "Поставки за Facebook" + +#. TRANS: Legend. +#: actions/facebookfinishlogin.php:229 +msgid "Connection options" +msgstr "Нагодувања за врска" + +#. TRANS: %s is the name of the license used by the user for their status updates. +#: actions/facebookfinishlogin.php:239 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" +"Мојот текст и податотеки се достапни под %s, освен следниве приватни " +"податоци: лозинка, е-пошта, IM-адреса и телефонски број." + +#. TRANS: Legend. +#: actions/facebookfinishlogin.php:256 +msgid "Create new account" +msgstr "Создај нова сметка" + +#: actions/facebookfinishlogin.php:258 +msgid "Create a new user with this nickname." +msgstr "Создај нов корисник со овој прекар." + +#. TRANS: Field label. +#: actions/facebookfinishlogin.php:262 +msgid "New nickname" +msgstr "Нов прекар" + +#: actions/facebookfinishlogin.php:264 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "1-64 мали букви и бројки, без интерпункциски знаци и празни места" + +#. TRANS: Submit button. +#: actions/facebookfinishlogin.php:268 +msgctxt "BUTTON" +msgid "Create" +msgstr "Создај" + +#: actions/facebookfinishlogin.php:274 +msgid "Connect existing account" +msgstr "Поврзи постоечка сметка" + +#: actions/facebookfinishlogin.php:276 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Facebook." +msgstr "" +"Ако веќе имате сметка, најавете се со корисничкото име и лозинката за да ја " +"поврзете со профилот на Facebook." + +#. TRANS: Field label. +#: actions/facebookfinishlogin.php:280 +msgid "Existing nickname" +msgstr "Постоечки прекар" + +#: actions/facebookfinishlogin.php:283 +msgid "Password" +msgstr "Лозинка" + +#. TRANS: Submit button. +#: actions/facebookfinishlogin.php:287 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Поврзи" + +#. TRANS: Client error trying to register with registrations not allowed. +#. TRANS: Client error trying to register with registrations 'invite only'. +#: actions/facebookfinishlogin.php:304 actions/facebookfinishlogin.php:314 +msgid "Registration not allowed." +msgstr "Регистрирањето не е дозволено." + +#. TRANS: Client error trying to register with an invalid invitation code. +#: actions/facebookfinishlogin.php:322 +msgid "Not a valid invitation code." +msgstr "Ова не е важечки код за покана." + +#: actions/facebookfinishlogin.php:335 +msgid "Nickname not allowed." +msgstr "Прекарот не е дозволен." + +#: actions/facebookfinishlogin.php:340 +msgid "Nickname already in use. Try another one." +msgstr "Тој прекар е во употреба. Одберете друг." + +#: actions/facebookfinishlogin.php:368 actions/facebookfinishlogin.php:505 +msgid "Error connecting user to Facebook." +msgstr "Грешка при поврзувањето на корисникот со Facebook." + +#: actions/facebookfinishlogin.php:468 +msgid "Invalid username or password." +msgstr "Погрешно име или лозинка." + +#: actions/facebooklogin.php:43 +msgid "Already logged in." +msgstr "Веќе сте најавени." + +#. TRANS: Instructions. +#: actions/facebooklogin.php:52 +msgid "Login with your Facebook Account" +msgstr "Најава со Вашата сметка на Facebook" + +#. TRANS: Page title. +#: actions/facebooklogin.php:67 +msgid "Login with Facebook" +msgstr "Најава со Facebook" + +#: actions/facebookadminpanel.php:52 +msgid "Facebook" +msgstr "Facebook" + +#: actions/facebookadminpanel.php:62 +msgid "Facebook integration settings" +msgstr "Поставки за обединување со Facebook" + +#: actions/facebookadminpanel.php:123 +msgid "Invalid Facebook ID. Max length is 255 characters." +msgstr "Неважечка назнака (ID) за Facebook. Дозволени се највеќе 255 знаци." + +#: actions/facebookadminpanel.php:129 +msgid "Invalid Facebook secret. Max length is 255 characters." +msgstr "Неважечка тајна за Facebook. Дозволени се највеќе 255 знаци." + +#: actions/facebookadminpanel.php:178 +msgid "Facebook application settings" +msgstr "Поставки за програм за Facebook" + +#: actions/facebookadminpanel.php:184 +msgid "Application ID" +msgstr "Назнака (ID) на програмот" + +#: actions/facebookadminpanel.php:185 +msgid "ID of your Facebook application" +msgstr "Назнака (ID) на Вашиот програм за Facebook" + +#: actions/facebookadminpanel.php:193 +msgid "Secret" +msgstr "Тајна" + +#: actions/facebookadminpanel.php:194 +msgid "Application secret" +msgstr "Тајна за програмот" + +#: actions/facebookadminpanel.php:210 +msgid "Save" +msgstr "Зачувај" + +#: actions/facebookadminpanel.php:210 +msgid "Save Facebook settings" +msgstr "Зачувај поставки за Facebook" + +#: actions/facebooksettings.php:139 +msgid "Connected Facebook user" +msgstr "Поврзан корисник на Facebook" + +#: actions/facebooksettings.php:166 +msgid "Publish my notices to Facebook." +msgstr "Објавувај ми ги забелешките на Facebook." + +#: actions/facebooksettings.php:176 +msgid "Send \"@\" replies to Facebook." +msgstr "Испраќај „@“-одговори на Facebook." + +#. TRANS: Submit button to save synchronisation settings. +#: actions/facebooksettings.php:185 +msgctxt "BUTTON" +msgid "Save" +msgstr "Зачувај" + +#. TRANS: Legend. +#: actions/facebooksettings.php:194 +msgid "Disconnect my account from Facebook" +msgstr "Исклучи ми ја сметката од Facebook" + +#: actions/facebooksettings.php:202 +#, php-format +msgid "" +"Disconnecting your Faceboook would make it impossible to log in! Please [set " +"a password](%s) first." +msgstr "" +"Ако ја исклучите сметката од Faceboook, тогаш нема да можете да се " +"најавувате! Најпрвин [ставете лозинка](%s)." + +#: actions/facebooksettings.php:215 +msgid "" +"Keep your %1$s account but disconnect from Facebook. You'll use your 1%$s " +"password to log in." +msgstr "" +"Задржете ја сметката на %1$s, но исклучете ја од Facebook. За најава ќе ја " +"користите лозинката на 1%$s." + +#. TRANS: Submit button. +#: actions/facebooksettings.php:222 +msgctxt "BUTTON" +msgid "Disconnect" +msgstr "Исклучи" + +#: actions/facebooksettings.php:246 +msgid "There was a problem saving your sync preferences." +msgstr "Се појави проблем при зачувувањето на нагодувањата за усогласување." + +#. TRANS: Confirmation that synchronisation settings have been saved into the system. +#: actions/facebooksettings.php:249 +msgid "Sync preferences saved." +msgstr "Нагодувањата за усогласување се зачувани." + +#: actions/facebooksettings.php:264 +msgid "Couldn't delete link to Facebook." +msgstr "Не можев да ја избришам врската со Facebook." + +#: actions/facebooksettings.php:268 +msgid "You have disconnected from Facebook." +msgstr "Сега сте исклучени од Facebook." + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Прекарот мора да има само мали букви и бројки и да нема празни места." diff --git a/plugins/FacebookBridge/locale/nl/LC_MESSAGES/FacebookBridge.po b/plugins/FacebookBridge/locale/nl/LC_MESSAGES/FacebookBridge.po new file mode 100644 index 000000000..359425d22 --- /dev/null +++ b/plugins/FacebookBridge/locale/nl/LC_MESSAGES/FacebookBridge.po @@ -0,0 +1,324 @@ +# Translation of StatusNet - FacebookBridge to Dutch (Nederlands) +# Expored from translatewiki.net +# +# Author: Siebrand +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - FacebookBridge\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:00+0000\n" +"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:27+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: nl\n" +"X-Message-Group: #out-statusnet-plugin-facebookbridge\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Menu item. +#. TRANS: Menu item tab. +#: FacebookBridgePlugin.php:201 FacebookBridgePlugin.php:240 +#: FacebookBridgePlugin.php:281 +msgctxt "MENU" +msgid "Facebook" +msgstr "Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookBridgePlugin.php:203 +msgid "Login or register using Facebook" +msgstr "Aanmelden of registreren via Facebook" + +#. TRANS: Tooltip for menu item "Facebook". +#: FacebookBridgePlugin.php:242 +msgid "Facebook integration configuration" +msgstr "Instellingen voor Facebookintegratie" + +#. TRANS: Tooltip for menu item "Facebook". +#. TRANS: Page title for Facebook settings. +#: FacebookBridgePlugin.php:283 actions/facebooksettings.php:106 +msgid "Facebook settings" +msgstr "Facebookinstellingen" + +#: FacebookBridgePlugin.php:547 +msgid "A plugin for integrating StatusNet with Facebook." +msgstr "Een plug-in voor het integreren van StatusNet met Facebook." + +#: lib/facebookclient.php:776 +msgid "Your Facebook connection has been removed" +msgstr "Uw koppeling met Facebook is verwijderd" + +#: lib/facebookclient.php:835 +#, php-format +msgid "Contact the %s administrator to retrieve your account" +msgstr "" +"Neem contact op met de beheerder van %s om uw gebruikersgegevens te " +"verkrijgen" + +#: actions/facebookfinishlogin.php:88 +msgid "" +"You must be logged into Facebook to register a local account using Facebook." +msgstr "" +"U moet aangemeld zijn bij Facebook om een lokale gebruiker via Facebook te " +"kunnen registreren." + +#: actions/facebookfinishlogin.php:118 +msgid "There is already a local account linked with that Facebook account." +msgstr "Er is al een lokale gebruiker verbonden met deze Facebookgebruiker." + +#: actions/facebookfinishlogin.php:141 actions/facebooksettings.php:87 +msgid "There was a problem with your session token. Try again, please." +msgstr "" +"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, " +"alstublieft." + +#: actions/facebookfinishlogin.php:150 +msgid "You can't register if you don't agree to the license." +msgstr "U kunt zich niet registreren als u niet met de licentie akkoord gaat." + +#: actions/facebookfinishlogin.php:167 +msgid "An unknown error has occured." +msgstr "Er is een onbekende fout opgetreden." + +#: actions/facebookfinishlogin.php:185 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your " +"Facebook to a local account. You can either create a new local account, or " +"connect with an existing local account." +msgstr "" +"De is de eerste keer dat u aanmeldt bij %s en dan moeten we uw " +"Facebookgebruiker koppelen met uw lokale gebruiker. U kunt een nieuwe lokale " +"gebruiker aanmaken of koppelen met een bestaande gebruiker als u die al hebt." + +#. TRANS: Page title. +#: actions/facebookfinishlogin.php:195 +msgid "Facebook Setup" +msgstr "Facebookinstellingen" + +#. TRANS: Legend. +#: actions/facebookfinishlogin.php:229 +msgid "Connection options" +msgstr "Koppelingsinstellingen" + +#. TRANS: %s is the name of the license used by the user for their status updates. +#: actions/facebookfinishlogin.php:239 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" +"Mijn teksten en bestanden zijn beschikbaar onder %s, behalve de volgende " +"privégegevens: wachtwoord, e-mailadres, IM-adres, telefoonnummer." + +#. TRANS: Legend. +#: actions/facebookfinishlogin.php:256 +msgid "Create new account" +msgstr "Nieuwe gebruiker aanmaken" + +#: actions/facebookfinishlogin.php:258 +msgid "Create a new user with this nickname." +msgstr "Nieuwe gebruiker aanmaken met deze gebruikersnaam." + +#. TRANS: Field label. +#: actions/facebookfinishlogin.php:262 +msgid "New nickname" +msgstr "Nieuwe gebruikersnaam" + +#: actions/facebookfinishlogin.php:264 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties" + +#. TRANS: Submit button. +#: actions/facebookfinishlogin.php:268 +msgctxt "BUTTON" +msgid "Create" +msgstr "Aanmaken" + +#: actions/facebookfinishlogin.php:274 +msgid "Connect existing account" +msgstr "Verbinden met een bestaande gebruiker" + +#: actions/facebookfinishlogin.php:276 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Facebook." +msgstr "" +"Als u al een gebruiker hebt, meld dan aan met uw gebruikersnaam en " +"wachtwoord om deze daarna te koppelen met uw Facebookgebruiker." + +#. TRANS: Field label. +#: actions/facebookfinishlogin.php:280 +msgid "Existing nickname" +msgstr "Bestaande gebruikersnaam" + +#: actions/facebookfinishlogin.php:283 +msgid "Password" +msgstr "Wachtwoord" + +#. TRANS: Submit button. +#: actions/facebookfinishlogin.php:287 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Koppelen" + +#. TRANS: Client error trying to register with registrations not allowed. +#. TRANS: Client error trying to register with registrations 'invite only'. +#: actions/facebookfinishlogin.php:304 actions/facebookfinishlogin.php:314 +msgid "Registration not allowed." +msgstr "Registratie is niet toegestaan." + +#. TRANS: Client error trying to register with an invalid invitation code. +#: actions/facebookfinishlogin.php:322 +msgid "Not a valid invitation code." +msgstr "De uitnodigingscode is ongeldig." + +#: actions/facebookfinishlogin.php:335 +msgid "Nickname not allowed." +msgstr "Gebruikersnaam niet toegestaan." + +#: actions/facebookfinishlogin.php:340 +msgid "Nickname already in use. Try another one." +msgstr "" +"De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam." + +#: actions/facebookfinishlogin.php:368 actions/facebookfinishlogin.php:505 +msgid "Error connecting user to Facebook." +msgstr "Fout bij het verbinden van de gebruiker met Facebook." + +#: actions/facebookfinishlogin.php:468 +msgid "Invalid username or password." +msgstr "Ongeldige gebruikersnaam of wachtwoord." + +#: actions/facebooklogin.php:43 +msgid "Already logged in." +msgstr "U bent al aangemeld." + +#. TRANS: Instructions. +#: actions/facebooklogin.php:52 +msgid "Login with your Facebook Account" +msgstr "Aanmelden met uw Facebookgebruiker" + +#. TRANS: Page title. +#: actions/facebooklogin.php:67 +msgid "Login with Facebook" +msgstr "Aanmelden met Facebook" + +#: actions/facebookadminpanel.php:52 +msgid "Facebook" +msgstr "Facebook" + +#: actions/facebookadminpanel.php:62 +msgid "Facebook integration settings" +msgstr "Instellingen voor Facebookkoppeling" + +#: actions/facebookadminpanel.php:123 +msgid "Invalid Facebook ID. Max length is 255 characters." +msgstr "Ongeldig Facebook-ID. De maximale lengte is 255 tekens." + +#: actions/facebookadminpanel.php:129 +msgid "Invalid Facebook secret. Max length is 255 characters." +msgstr "Ongeldig Facebookgeheim. De maximale lengte is 255 tekens." + +#: actions/facebookadminpanel.php:178 +msgid "Facebook application settings" +msgstr "Applicatieinstellingen voor Facebook" + +#: actions/facebookadminpanel.php:184 +msgid "Application ID" +msgstr "Applicatie-ID" + +#: actions/facebookadminpanel.php:185 +msgid "ID of your Facebook application" +msgstr "ID van uw Facebookapplicatie" + +#: actions/facebookadminpanel.php:193 +msgid "Secret" +msgstr "Geheim" + +#: actions/facebookadminpanel.php:194 +msgid "Application secret" +msgstr "Applicatiegeheim" + +#: actions/facebookadminpanel.php:210 +msgid "Save" +msgstr "Opslaan" + +#: actions/facebookadminpanel.php:210 +msgid "Save Facebook settings" +msgstr "Facebookinstellingen opslaan" + +#: actions/facebooksettings.php:139 +msgid "Connected Facebook user" +msgstr "Gekoppelde Facebookgebruiker" + +#: actions/facebooksettings.php:166 +msgid "Publish my notices to Facebook." +msgstr "Mijn mededelingen publiceren op Facebook." + +#: actions/facebooksettings.php:176 +msgid "Send \"@\" replies to Facebook." +msgstr "Antwoorden met \"@\" naar Facebook verzenden." + +#. TRANS: Submit button to save synchronisation settings. +#: actions/facebooksettings.php:185 +msgctxt "BUTTON" +msgid "Save" +msgstr "Opslaan" + +#. TRANS: Legend. +#: actions/facebooksettings.php:194 +msgid "Disconnect my account from Facebook" +msgstr "Mijn gebruiker loskoppelen van Facebook" + +#: actions/facebooksettings.php:202 +#, php-format +msgid "" +"Disconnecting your Faceboook would make it impossible to log in! Please [set " +"a password](%s) first." +msgstr "" +"Door los te koppelen van Faceboook zou u niet meer kunnen aanmelden! [Stel " +"eerst een wachtwoord in](%s)." + +#: actions/facebooksettings.php:215 +msgid "" +"Keep your %1$s account but disconnect from Facebook. You'll use your 1%$s " +"password to log in." +msgstr "" +"Uw gebruiker bij %1$s behouden maar deze loskoppelen van Facebook. U kunt uw " +"wachtwoord van %1$s gebruiken om aan te melden." + +#. TRANS: Submit button. +#: actions/facebooksettings.php:222 +msgctxt "BUTTON" +msgid "Disconnect" +msgstr "Loskoppelen" + +#: actions/facebooksettings.php:246 +msgid "There was a problem saving your sync preferences." +msgstr "" +"Er is een fout opgetreden tijdens het opslaan van uw " +"synchronisatievoorkeuren." + +#. TRANS: Confirmation that synchronisation settings have been saved into the system. +#: actions/facebooksettings.php:249 +msgid "Sync preferences saved." +msgstr "Uw synchronisatievoorkeuren zijn opgeslagen." + +#: actions/facebooksettings.php:264 +msgid "Couldn't delete link to Facebook." +msgstr "Het was niet mogelijk de verwijzing naar Facebook te verwijderen." + +#: actions/facebooksettings.php:268 +msgid "You have disconnected from Facebook." +msgstr "U bent losgekoppeld van Facebook." + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties " +#~ "zijn niet toegestaan." diff --git a/plugins/FirePHP/locale/de/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/de/LC_MESSAGES/FirePHP.po new file mode 100644 index 000000000..1efa9ffa6 --- /dev/null +++ b/plugins/FirePHP/locale/de/LC_MESSAGES/FirePHP.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - FirePHP to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - FirePHP\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:55+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:45+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-firephp\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: FirePHPPlugin.php:68 +msgid "The FirePHP plugin writes StatusNet's log output to FirePHP." +msgstr "" +"Das FirePHP-Plugin schreibt die Konsolenausgabe von StatusNet an FirePHP." diff --git a/plugins/FollowEveryone/locale/de/LC_MESSAGES/FollowEveryone.po b/plugins/FollowEveryone/locale/de/LC_MESSAGES/FollowEveryone.po new file mode 100644 index 000000000..f322865ca --- /dev/null +++ b/plugins/FollowEveryone/locale/de/LC_MESSAGES/FollowEveryone.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - FollowEveryone to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - FollowEveryone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:57+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:45+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-followeveryone\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: FollowEveryonePlugin.php:203 +msgid "New users follow everyone at registration and are followed in return." +msgstr "" +"Neue Benutzer folgen jedem nach der Registrierung und werden im Gegenzug " +"ebenfalls gefolgt." diff --git a/plugins/FollowEveryone/locale/fr/LC_MESSAGES/FollowEveryone.po b/plugins/FollowEveryone/locale/fr/LC_MESSAGES/FollowEveryone.po new file mode 100644 index 000000000..33d9f1fee --- /dev/null +++ b/plugins/FollowEveryone/locale/fr/LC_MESSAGES/FollowEveryone.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - FollowEveryone to French (Français) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - FollowEveryone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:57+0000\n" +"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:45+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fr\n" +"X-Message-Group: #out-statusnet-plugin-followeveryone\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: FollowEveryonePlugin.php:203 +msgid "New users follow everyone at registration and are followed in return." +msgstr "" +"Les nouveaux utilisateurs suivent tout le monde lors de l’inscription et " +"sont suivis en retour." diff --git a/plugins/ForceGroup/locale/te/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/te/LC_MESSAGES/ForceGroup.po new file mode 100644 index 000000000..2bf7fc856 --- /dev/null +++ b/plugins/ForceGroup/locale/te/LC_MESSAGES/ForceGroup.po @@ -0,0 +1,36 @@ +# Translation of StatusNet - ForceGroup to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ForceGroup\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:40:58+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:46+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-forcegroup\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Server exception. +#. TRANS: %1$s is a user nickname, %2$s is a group nickname. +#: ForceGroupPlugin.php:78 +#, php-format +msgid "Could not join user %1$s to group %2$s." +msgstr "వాడుకరి %1$sని %2$s గుంపులో చేర్చలేకపోయాం." + +#. TRANS: Plugin description. +#: ForceGroupPlugin.php:104 +msgid "" +"Allows forced group memberships and forces all notices to appear in groups " +"that users were forced in." +msgstr "" diff --git a/plugins/GoogleAnalytics/locale/de/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/de/LC_MESSAGES/GoogleAnalytics.po new file mode 100644 index 000000000..c812b591e --- /dev/null +++ b/plugins/GoogleAnalytics/locale/de/LC_MESSAGES/GoogleAnalytics.po @@ -0,0 +1,30 @@ +# Translation of StatusNet - GoogleAnalytics to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - GoogleAnalytics\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:00+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:47+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-googleanalytics\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: GoogleAnalyticsPlugin.php:80 +msgid "" +"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to " +"track web access." +msgstr "" +"Benutzung von <a href=\"http://www.google.com/analytics/\">Google Analytics</" +"a> zur Verfolgung des Web-Zugangs." diff --git a/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po index 5a6317a9a..649c3db64 100644 --- a/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po +++ b/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Gravatar\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:40+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:04+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:04+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:47+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-gravatar\n" @@ -24,12 +24,11 @@ msgstr "" #: GravatarPlugin.php:60 msgid "Set Gravatar" -msgstr "" +msgstr "Gravatar einstellen" #: GravatarPlugin.php:63 msgid "If you want to use your Gravatar image, click \"Add\"." -msgstr "" -"Falls Sie Ihr Gravatar Bild verwenden wollen, klicken sie \"Hinzufügen\"" +msgstr "Falls du dein Gravatar-Bild verwenden willst, klicke auf „Hinzufügen“." #: GravatarPlugin.php:68 msgid "Add" @@ -41,8 +40,7 @@ msgstr "Gravatar löschen" #: GravatarPlugin.php:81 msgid "If you want to remove your Gravatar image, click \"Remove\"." -msgstr "" -"Falls Sie Ihr Gravatar Bild entfernen wollen, klicken sie \"Entfernen\"" +msgstr "Falls du dein Gravatar-Bild entfernen willst, klicke auf „Entfernen“." #: GravatarPlugin.php:86 msgid "Remove" @@ -50,16 +48,15 @@ msgstr "Entfernen" #: GravatarPlugin.php:91 msgid "To use a Gravatar first enter in an email address." -msgstr "" -"Um einen Gravatar zuverwenden geben Sie zunächst in eine E-Mail-Adresse ein." +msgstr "Um einen Gravatar zu verwenden, gib zunächst eine E-Mail-Adresse ein." #: GravatarPlugin.php:140 msgid "You do not have an email address set in your profile." -msgstr "" +msgstr "Du hast keine E-Mail-Adresse in deinem Profil eingetragen." #: GravatarPlugin.php:158 msgid "Failed to save Gravatar to the database." -msgstr "" +msgstr "Konnte Gravatar nicht in der Datenbank speichern." #: GravatarPlugin.php:162 msgid "Gravatar added." diff --git a/plugins/GroupFavorited/locale/GroupFavorited.pot b/plugins/GroupFavorited/locale/GroupFavorited.pot index c6c2f1114..041126fad 100644 --- a/plugins/GroupFavorited/locale/GroupFavorited.pot +++ b/plugins/GroupFavorited/locale/GroupFavorited.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-04 18: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" @@ -17,13 +17,13 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "" diff --git a/plugins/GroupFavorited/locale/br/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/br/LC_MESSAGES/GroupFavorited.po index 7362f0505..6ca70c83f 100644 --- a/plugins/GroupFavorited/locale/br/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/br/LC_MESSAGES/GroupFavorited.po @@ -9,26 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "" diff --git a/plugins/GroupFavorited/locale/de/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/de/LC_MESSAGES/GroupFavorited.po index c820c89e1..cc8988658 100644 --- a/plugins/GroupFavorited/locale/de/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/de/LC_MESSAGES/GroupFavorited.po @@ -10,26 +10,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Beliebte Beiträge in der %s-Gruppe" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Beliebte Beiträge in der %1$s-Gruppe, Seite %2$d" diff --git a/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po index 6af511ae6..3b3419d5a 100644 --- a/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po @@ -9,26 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Mensajes populares en el grupo %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Mensajes populares en el grupo %1$s, página %2$d" diff --git a/plugins/GroupFavorited/locale/fr/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/fr/LC_MESSAGES/GroupFavorited.po index 9cfb10efc..3facce573 100644 --- a/plugins/GroupFavorited/locale/fr/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/fr/LC_MESSAGES/GroupFavorited.po @@ -9,26 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Messages populaires dans le groupe %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Messages populaires dans le groupe %1$s, page %2$d" diff --git a/plugins/GroupFavorited/locale/gl/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/gl/LC_MESSAGES/GroupFavorited.po new file mode 100644 index 000000000..f1739e3f2 --- /dev/null +++ b/plugins/GroupFavorited/locale/gl/LC_MESSAGES/GroupFavorited.po @@ -0,0 +1,53 @@ +# Translation of StatusNet - GroupFavorited to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - GroupFavorited\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:12+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:41:58+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-groupfavorited\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: %s is a group name. +#: groupfavoritedaction.php:48 +#, php-format +msgid "Popular posts in %s group" +msgstr "" + +#. TRANS: %1$s is a group name, %2$s is a group number. +#: groupfavoritedaction.php:51 +#, php-format +msgid "Popular posts in %1$s group, page %2$d" +msgstr "" + +#. TRANS: Menu item in the group navigation page. +#: GroupFavoritedPlugin.php:72 +msgctxt "MENU" +msgid "Popular" +msgstr "Populares" + +#. TRANS: Tooltip for menu item in the group navigation page. +#. TRANS: %s is the nickname of the group. +#: GroupFavoritedPlugin.php:75 +#, php-format +msgctxt "TOOLTIP" +msgid "Popular notices in %s group" +msgstr "" + +#. TRANS: Plugin description. +#: GroupFavoritedPlugin.php:99 +msgid "This plugin adds a menu item for popular notices in groups." +msgstr "" diff --git a/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po index 03eb3e3da..f1e424cd1 100644 --- a/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po @@ -9,26 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Messages popular in gruppo %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Messages popular in gruppo %1$s, pagina %2$d" diff --git a/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po index 1d1a43a0d..5aada9eca 100644 --- a/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po @@ -9,26 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Популарни објави во групата %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Популарни објави во групата %1$s, страница %2$d" diff --git a/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po index 1d8a2b57e..bf5669877 100644 --- a/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po @@ -10,26 +10,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Populaire berichten in de groep %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Populaire berichten in de groep %1$s, pagina %2$d" diff --git a/plugins/GroupFavorited/locale/ru/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/ru/LC_MESSAGES/GroupFavorited.po index 63e84c453..1cb4433d8 100644 --- a/plugins/GroupFavorited/locale/ru/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/ru/LC_MESSAGES/GroupFavorited.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" @@ -23,13 +23,13 @@ msgstr "" "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Популярные сообщения в группе %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "" diff --git a/plugins/GroupFavorited/locale/te/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/te/LC_MESSAGES/GroupFavorited.po new file mode 100644 index 000000000..d1a5cac0d --- /dev/null +++ b/plugins/GroupFavorited/locale/te/LC_MESSAGES/GroupFavorited.po @@ -0,0 +1,53 @@ +# Translation of StatusNet - GroupFavorited to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - GroupFavorited\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:06+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:30:12+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-groupfavorited\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: %s is a group name. +#: groupfavoritedaction.php:48 +#, php-format +msgid "Popular posts in %s group" +msgstr "%s గుంపులో జనరంజకమైన టపాలు" + +#. TRANS: %1$s is a group name, %2$s is a group number. +#: groupfavoritedaction.php:51 +#, php-format +msgid "Popular posts in %1$s group, page %2$d" +msgstr "%1$s గుంపులో జనరంజకమైన టపాలు, %2$dవ పుట" + +#. TRANS: Menu item in the group navigation page. +#: GroupFavoritedPlugin.php:72 +msgctxt "MENU" +msgid "Popular" +msgstr "ప్రాచుర్యం" + +#. TRANS: Tooltip for menu item in the group navigation page. +#. TRANS: %s is the nickname of the group. +#: GroupFavoritedPlugin.php:75 +#, php-format +msgctxt "TOOLTIP" +msgid "Popular notices in %s group" +msgstr "%s గుంపులో జనరంజకమైన టపాలు" + +#. TRANS: Plugin description. +#: GroupFavoritedPlugin.php:99 +msgid "This plugin adds a menu item for popular notices in groups." +msgstr "" diff --git a/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po index 31a1077bd..4091155de 100644 --- a/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po @@ -9,26 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tl\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Tanyag na mga pagpapaskila sa loob ng pangkat na %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Tanyag na mga pagpapaskila sa loob ng pangkat na %1$s, pahina %2$d" diff --git a/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po index d0a44340a..143c0cae8 100644 --- a/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po +++ b/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - GroupFavorited\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:41+0000\n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:28+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:53+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-groupfavorited\n" @@ -23,13 +23,13 @@ msgstr "" "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" #. TRANS: %s is a group name. -#: groupfavoritedaction.php:53 +#: groupfavoritedaction.php:48 #, php-format msgid "Popular posts in %s group" msgstr "Популярні повідомлення спільноти %s" #. TRANS: %1$s is a group name, %2$s is a group number. -#: groupfavoritedaction.php:56 +#: groupfavoritedaction.php:51 #, php-format msgid "Popular posts in %1$s group, page %2$d" msgstr "Популярні повідомлення спільноти %1$s, сторінка %2$d" diff --git a/plugins/Imap/locale/br/LC_MESSAGES/Imap.po b/plugins/Imap/locale/br/LC_MESSAGES/Imap.po new file mode 100644 index 000000000..392ee0126 --- /dev/null +++ b/plugins/Imap/locale/br/LC_MESSAGES/Imap.po @@ -0,0 +1,54 @@ +# Translation of StatusNet - Imap to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Imap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:07+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:48+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-imap\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: imapmailhandler.php:30 +msgid "Error" +msgstr "Fazi" + +#: imapmanager.php:51 +msgid "" +"ImapManager should be created using its constructor, not the using the " +"static get method." +msgstr "" + +#: ImapPlugin.php:54 +msgid "A mailbox must be specified." +msgstr "Ur boest lizhiri a rank bezañ spisaet." + +#: ImapPlugin.php:57 +msgid "A user must be specified." +msgstr "Un anv-implijer a rank bezañ spisaet." + +#: ImapPlugin.php:60 +msgid "A password must be specified." +msgstr "Ur ger-tremen a rank bezañ spisaet." + +#: ImapPlugin.php:63 +msgid "A poll_frequency must be specified." +msgstr "" + +#: ImapPlugin.php:103 +msgid "" +"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for " +"incoming mail containing user posts." +msgstr "" diff --git a/plugins/LilUrl/locale/de/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/de/LC_MESSAGES/LilUrl.po new file mode 100644 index 000000000..c1cee1ae4 --- /dev/null +++ b/plugins/LilUrl/locale/de/LC_MESSAGES/LilUrl.po @@ -0,0 +1,31 @@ +# Translation of StatusNet - LilUrl to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LilUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:21+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:51+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-lilurl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: LilUrlPlugin.php:43 +msgid "A serviceUrl must be specified." +msgstr "Eine „serviceUrl“ muss angegeben werden." + +#: LilUrlPlugin.php:68 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "Benutzung des <a href=\"http://%1$s/\">%1$s</a>-URL-Kürzungsdienstes." diff --git a/plugins/LinkPreview/LinkPreviewPlugin.php b/plugins/LinkPreview/LinkPreviewPlugin.php new file mode 100644 index 000000000..65f896ca2 --- /dev/null +++ b/plugins/LinkPreview/LinkPreviewPlugin.php @@ -0,0 +1,101 @@ +<?php +/* + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Some UI extras for now... + * + * @package LinkPreviewPlugin + * @maintainer Brion Vibber <brion@status.net> + */ +class LinkPreviewPlugin extends Plugin +{ + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'LinkPreview', + 'version' => STATUSNET_VERSION, + 'author' => 'Brion Vibber', + 'homepage' => 'http://status.net/wiki/Plugin:LinkPreview', + 'rawdescription' => + _m('UI extensions previewing thumbnails from links.')); + + return true; + } + + /** + * Load JS at runtime if we're logged in. + * + * @param Action $action + * @return boolean hook result + */ + function onEndShowScripts($action) + { + $user = common_current_user(); + if ($user && common_config('attachments', 'process_links')) { + $action->script('plugins/LinkPreview/linkpreview.min.js'); + $data = json_encode(array( + 'api' => common_local_url('oembedproxy'), + 'width' => common_config('attachments', 'thumbwidth'), + 'height' => common_config('attachments', 'thumbheight'), + )); + $action->inlineScript('$(function() {SN.Init.LinkPreview && SN.Init.LinkPreview('.$data.');})'); + } + return true; + } + + /** + * Autoloader + * + * Loads our classes if they're requested. + * + * @param string $cls Class requested + * + * @return boolean hook return + */ + function onAutoload($cls) + { + $lower = strtolower($cls); + switch ($lower) + { + case 'oembedproxyaction': + require_once dirname(__FILE__) . '/' . $lower . '.php'; + return false; + default: + return true; + } + } + + /** + * Hook for RouterInitialized event. + * + * @param Net_URL_Mapper $m URL mapper + * + * @return boolean hook return + */ + function onStartInitializeRouter($m) + { + $m->connect('main/oembed/proxy', + array('action' => 'oembedproxy')); + + return true; + } +} diff --git a/plugins/LinkPreview/linkpreview.js b/plugins/LinkPreview/linkpreview.js new file mode 100644 index 000000000..407934c5a --- /dev/null +++ b/plugins/LinkPreview/linkpreview.js @@ -0,0 +1,247 @@ +/** + * (c) 2010 StatusNet, Inc. + */ + +(function() { + /** + * Quickie wrapper around ooembed JSON lookup + */ + var oEmbed = { + api: 'http://oohembed.com/oohembed', + width: 100, + height: 75, + cache: {}, + callbacks: {}, + + /** + * Do a cached oEmbed lookup for the given URL. + * + * @param {String} url + * @param {function} callback + */ + lookup: function(url, callback) + { + if (typeof oEmbed.cache[url] == "object") { + // We already have a successful lookup. + callback(oEmbed.cache[url]); + } else if (typeof oEmbed.callbacks[url] == "undefined") { + // No lookup yet... Start it! + oEmbed.callbacks[url] = [callback]; + + oEmbed.rawLookup(url, function(data) { + oEmbed.cache[url] = data; + var callbacks = oEmbed.callbacks[url]; + oEmbed.callbacks[url] = undefined; + for (var i = 0; i < callbacks.length; i++) { + callbacks[i](data); + } + }); + } else { + // A lookup is in progress. + oEmbed.callbacks[url].push(callback); + } + }, + + /** + * Do an oEmbed lookup for the given URL. + * + * @fixme proxy through ourselves if possible? + * @fixme use the global thumbnail size settings + * + * @param {String} url + * @param {function} callback + */ + rawLookup: function(url, callback) + { + var params = { + url: url, + format: 'json', + maxwidth: oEmbed.width, + maxheight: oEmbed.height, + token: $('#token').val() + }; + $.ajax({ + url: oEmbed.api, + data: params, + dataType: 'json', + success: function(data, xhr) { + callback(data); + }, + error: function(xhr, textStatus, errorThrown) { + callback(null); + } + }); + } + }; + + var LinkPreview = { + links: [], + state: [], + refresh: [], + + /** + * Find URL links from the source text that may be interesting. + * + * @param {String} text + * @return {Array} list of URLs + */ + findLinks: function (text) + { + // @fixme match this to core code + var re = /(?:^| )(https?:\/\/.+?\/.+?)(?= |$)/mg; + var links = []; + var matches; + while ((matches = re.exec(text)) !== null) { + links.push(matches[1]); + } + return links; + }, + + /** + * Start looking up info for a link preview... + * May start async data loads. + * + * @param {number} col: column number to insert preview into + */ + prepLinkPreview: function(col) + { + var id = 'link-preview-' + col; + var url = LinkPreview.links[col]; + LinkPreview.refresh[col] = false; + LinkPreview.markLoading(col); + + oEmbed.lookup(url, function(data) { + var thumb = null; + var width = 100; + if (data && typeof data.thumbnail_url == "string") { + thumb = data.thumbnail_url; + if (typeof data.thumbnail_width !== "undefined") { + if (data.thumbnail_width < width) { + width = data.thumbnail_width; + } + } + } else if (data && data.type == 'photo' && typeof data.url == "string") { + thumb = data.url; + if (typeof data.width !== "undefined") { + if (data.width < width) { + width = data.width; + } + } + } + + if (thumb) { + var link = $('<span class="inline-attachment"><a><img/></a></span>'); + link.find('a') + .attr('href', url) + .attr('target', '_blank') + .last() + .find('img') + .attr('src', thumb) + .attr('width', width) + .attr('title', data.title || data.url || url); + $('#' + id).empty(); + $('#' + id).append(link); + } else { + // No thumbnail available or error retriving it. + LinkPreview.clearLink(col); + } + + if (LinkPreview.refresh[col]) { + // Darn user has typed more characters. + // Go fetch another link! + LinkPreview.prepLinkPreview(col); + } else { + LinkPreview.markDone(col); + } + }); + }, + + /** + * Update the live preview section with links found in the given text. + * May start async data loads. + * + * @param {String} text: free-form input text + */ + previewLinks: function(text) + { + var i; + var old = LinkPreview.links; + var links = LinkPreview.findLinks(text); + LinkPreview.links = links; + + // Check for existing common elements... + for (i = 0; i < old.length && i < links.length; i++) { + if (links[i] != old[i]) { + if (LinkPreview.state[i] == "loading") { + // Slate this column for a refresh when this one's done. + LinkPreview.refresh[i] = true; + } else { + // Change an existing entry! + LinkPreview.prepLinkPreview(i); + } + } + } + if (links.length > old.length) { + // Adding new entries, whee! + for (i = old.length; i < links.length; i++) { + LinkPreview.addPreviewArea(i); + LinkPreview.prepLinkPreview(i); + } + } else if (old.length > links.length) { + // Remove preview entries for links that have been removed. + for (i = links.length; i < old.length; i++) { + LinkPreview.clearLink(i); + } + } + }, + + addPreviewArea: function(col) { + var id = 'link-preview-' + col; + $('#link-preview').append('<span id="' + id + '"></span>'); + }, + + clearLink: function(col) { + var id = 'link-preview-' + col; + $('#' + id).html(''); + }, + + markLoading: function(col) { + LinkPreview.state[col] = "loading"; + var id = 'link-preview-' + col; + $('#' + id).attr('style', 'opacity: 0.5'); + }, + + markDone: function(col) { + LinkPreview.state[col] = "done"; + var id = 'link-preview-' + col; + $('#' + id).removeAttr('style'); + }, + + /** + * Clear out any link preview data. + */ + clear: function() { + LinkPreview.links = []; + $('#link-preview').empty(); + } + }; + + SN.Init.LinkPreview = function(params) { + if (params.api) oEmbed.api = params.api; + if (params.width) oEmbed.width = params.width; + if (params.height) oEmbed.height = params.height; + + $('#form_notice') + .append('<div id="link-preview" class="thumbnails"></div>') + .bind('reset', function() { + LinkPreview.clear(); + }); + + // Piggyback on the counter update... + var origCounter = SN.U.Counter; + SN.U.Counter = function(form) { + LinkPreview.previewLinks($('#notice_data-text').val()); + return origCounter(form); + } + } +})(); diff --git a/plugins/LinkPreview/linkpreview.min.js b/plugins/LinkPreview/linkpreview.min.js new file mode 100644 index 000000000..a6fb9dba8 --- /dev/null +++ b/plugins/LinkPreview/linkpreview.min.js @@ -0,0 +1 @@ +(function(){var a={api:"http://oohembed.com/oohembed",width:100,height:75,cache:{},callbacks:{},lookup:function(c,d){if(typeof a.cache[c]=="object"){d(a.cache[c])}else{if(typeof a.callbacks[c]=="undefined"){a.callbacks[c]=[d];a.rawLookup(c,function(g){a.cache[c]=g;var f=a.callbacks[c];a.callbacks[c]=undefined;for(var e=0;e<f.length;e++){f[e](g)}})}else{a.callbacks[c].push(d)}}},rawLookup:function(c,e){var d={url:c,format:"json",maxwidth:a.width,maxheight:a.height,token:$("#token").val()};$.ajax({url:a.api,data:d,dataType:"json",success:function(f,g){e(f)},error:function(g,h,f){e(null)}})}};var b={links:[],state:[],refresh:[],findLinks:function(f){var d=/(?:^| )(https?:\/\/.+?\/.+?)(?= |$)/mg;var c=[];var e;while((e=d.exec(f))!==null){c.push(e[1])}return c},prepLinkPreview:function(d){var e="link-preview-"+d;var c=b.links[d];b.refresh[d]=false;b.markLoading(d);a.lookup(c,function(i){var f=null;var g=100;if(i&&typeof i.thumbnail_url=="string"){f=i.thumbnail_url;if(typeof i.thumbnail_width!=="undefined"){if(i.thumbnail_width<g){g=i.thumbnail_width}}}else{if(i&&i.type=="photo"&&typeof i.url=="string"){f=i.url;if(typeof i.width!=="undefined"){if(i.width<g){g=i.width}}}}if(f){var h=$('<span class="inline-attachment"><a><img/></a></span>');h.find("a").attr("href",c).attr("target","_blank").last().find("img").attr("src",f).attr("width",g).attr("title",i.title||i.url||c);$("#"+e).empty();$("#"+e).append(h)}else{b.clearLink(d)}if(b.refresh[d]){b.prepLinkPreview(d)}else{b.markDone(d)}})},previewLinks:function(f){var e;var c=b.links;var d=b.findLinks(f);b.links=d;for(e=0;e<c.length&&e<d.length;e++){if(d[e]!=c[e]){if(b.state[e]=="loading"){b.refresh[e]=true}else{b.prepLinkPreview(e)}}}if(d.length>c.length){for(e=c.length;e<d.length;e++){b.addPreviewArea(e);b.prepLinkPreview(e)}}else{if(c.length>d.length){for(e=d.length;e<c.length;e++){b.clearLink(e)}}}},addPreviewArea:function(c){var d="link-preview-"+c;$("#link-preview").append('<span id="'+d+'"></span>')},clearLink:function(c){var d="link-preview-"+c;$("#"+d).html("")},markLoading:function(c){b.state[c]="loading";var d="link-preview-"+c;$("#"+d).attr("style","opacity: 0.5")},markDone:function(c){b.state[c]="done";var d="link-preview-"+c;$("#"+d).removeAttr("style")},clear:function(){b.links=[];$("#link-preview").empty()}};SN.Init.LinkPreview=function(c){if(c.api){a.api=c.api}if(c.width){a.width=c.width}if(c.height){a.height=c.height}$("#form_notice").append('<div id="link-preview" class="thumbnails"></div>').bind("reset",function(){b.clear()});var d=SN.U.Counter;SN.U.Counter=function(e){b.previewLinks($("#notice_data-text").val());return d(e)}}})();
\ No newline at end of file diff --git a/plugins/LinkPreview/locale/LinkPreview.pot b/plugins/LinkPreview/locale/LinkPreview.pot new file mode 100644 index 000000000..202060391 --- /dev/null +++ b/plugins/LinkPreview/locale/LinkPreview.pot @@ -0,0 +1,21 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: LinkPreviewPlugin.php:39 +msgid "UI extensions previewing thumbnails from links." +msgstr "" diff --git a/plugins/LinkPreview/locale/fr/LC_MESSAGES/LinkPreview.po b/plugins/LinkPreview/locale/fr/LC_MESSAGES/LinkPreview.po new file mode 100644 index 000000000..30ad1b676 --- /dev/null +++ b/plugins/LinkPreview/locale/fr/LC_MESSAGES/LinkPreview.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - LinkPreview to French (Français) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LinkPreview\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:34+0000\n" +"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fr\n" +"X-Message-Group: #out-statusnet-plugin-linkpreview\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: LinkPreviewPlugin.php:39 +msgid "UI extensions previewing thumbnails from links." +msgstr "" +"Extensions d’interface utilisateur pour prévisualiser des vignettes depuis " +"les liens." diff --git a/plugins/LinkPreview/locale/mk/LC_MESSAGES/LinkPreview.po b/plugins/LinkPreview/locale/mk/LC_MESSAGES/LinkPreview.po new file mode 100644 index 000000000..72de65a42 --- /dev/null +++ b/plugins/LinkPreview/locale/mk/LC_MESSAGES/LinkPreview.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - LinkPreview to Macedonian (Македонски) +# Expored from translatewiki.net +# +# Author: Bjankuloski06 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LinkPreview\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:34+0000\n" +"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: mk\n" +"X-Message-Group: #out-statusnet-plugin-linkpreview\n" +"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" + +#: LinkPreviewPlugin.php:39 +msgid "UI extensions previewing thumbnails from links." +msgstr "" +"Додатоци за корисничкиот посредник што даваат преглед на минијатури од врски." diff --git a/plugins/LinkPreview/locale/nl/LC_MESSAGES/LinkPreview.po b/plugins/LinkPreview/locale/nl/LC_MESSAGES/LinkPreview.po new file mode 100644 index 000000000..371d63614 --- /dev/null +++ b/plugins/LinkPreview/locale/nl/LC_MESSAGES/LinkPreview.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - LinkPreview to Dutch (Nederlands) +# Expored from translatewiki.net +# +# Author: Siebrand +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LinkPreview\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:34+0000\n" +"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: nl\n" +"X-Message-Group: #out-statusnet-plugin-linkpreview\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: LinkPreviewPlugin.php:39 +msgid "UI extensions previewing thumbnails from links." +msgstr "" +"Gebruikersinterfaceuitbreiding voor het weergeven van miniaturen voor " +"verwijzingen." diff --git a/plugins/LinkPreview/oembedproxyaction.php b/plugins/LinkPreview/oembedproxyaction.php new file mode 100644 index 000000000..bc80ee5cf --- /dev/null +++ b/plugins/LinkPreview/oembedproxyaction.php @@ -0,0 +1,87 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * StatusNet-only extensions to the Twitter-like API + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + * @package StatusNet + * @author Brion Vibber <brion@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Oembed proxy implementation + * + * This class provides an interface for our JS-side code to pull info on + * links from other sites, using either native oEmbed, our own custom + * handlers, or the oohEmbed.com offsite proxy service as configured. + * + * @category oEmbed + * @package StatusNet + * @author Brion Vibber <brion@status.net> + * @copyright 2010 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class OembedproxyAction extends OembedAction +{ + + function handle($args) + { + // Trigger short error responses; not a human-readable web page. + StatusNet::setApi(true); + + // We're not a general oEmbed proxy service; limit to valid sessions. + $token = $this->trimmed('token'); + if (!$token || $token != common_session_token()) { + $this->clientError(_('There was a problem with your session token. '. + 'Try again, please.')); + } + + $format = $this->arg('format'); + if ($format && $format != 'json') { + throw new ClientException('Invalid format; only JSON supported.'); + } + + $url = $this->arg('url'); + if (!common_valid_http_url($url)) { + throw new ClientException('Invalid URL.'); + } + + $params = array(); + if ($this->arg('maxwidth')) { + $params['maxwidth'] = $this->arg('maxwidth'); + } + if ($this->arg('maxheight')) { + $params['maxheight'] = $this->arg('maxheight'); + } + + $data = oEmbedHelper::getObject($url, $params); + + $this->init_document('json'); + print json_encode($data); + } + +} diff --git a/plugins/LogFilter/LogFilterPlugin.php b/plugins/LogFilter/LogFilterPlugin.php new file mode 100644 index 000000000..e2153e959 --- /dev/null +++ b/plugins/LogFilter/LogFilterPlugin.php @@ -0,0 +1,94 @@ +<?php +/* + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Example to disable all debug messages and those containing 'About to push': + * addPlugin('LogFilter', array( + * 'priority' => array(LOG_DEBUG => false), + * 'regex' => array('/About to push/' => false) + * )); + * + * @todo add an admin panel + * + * @package LogFilterPlugin + * @maintainer Brion Vibber <brion@status.net> + */ +class LogFilterPlugin extends Plugin +{ + public $default = true; // Set to false to require opting things in + public $priority = array(); // override by priority: array(LOG_ERR => true, LOG_DEBUG => false) + public $regex = array(); // override by regex match of message: array('/twitter/i' => false) + + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'LogFilter', + 'version' => STATUSNET_VERSION, + 'author' => 'Brion Vibber', + 'homepage' => 'http://status.net/wiki/Plugin:LogFilter', + 'rawdescription' => + _m('Provides server-side setting to filter log output by type or keyword.')); + + return true; + } + + /** + * Hook for the StartLog event in common_log(). + * If a message doesn't pass our filters, we'll abort it. + * + * @param string $priority + * @param string $msg + * @param string $filename + * @return boolean hook result code + */ + function onStartLog(&$priority, &$msg, &$filename) + { + if ($this->filter($priority, $msg)) { + // Let it through + return true; + } else { + // Abort -- this line will go to /dev/null :) + return false; + } + } + + /** + * Do the filtering... + * + * @param string $priority + * @param string $msg + * @return boolean true to let the log message be processed + */ + function filter($priority, $msg) + { + $state = $this->default; + if (array_key_exists($priority, $this->priority)) { + $state = $this->priority[$priority]; + } + foreach ($this->regex as $regex => $override) { + if (preg_match($regex, $msg)) { + $state = $override; + } + } + return $state; + } +} diff --git a/plugins/LogFilter/locale/LogFilter.pot b/plugins/LogFilter/locale/LogFilter.pot new file mode 100644 index 000000000..5e75144e0 --- /dev/null +++ b/plugins/LogFilter/locale/LogFilter.pot @@ -0,0 +1,21 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: LogFilterPlugin.php:49 +msgid "Provides server-side setting to filter log output by type or keyword." +msgstr "" diff --git a/plugins/LogFilter/locale/fr/LC_MESSAGES/LogFilter.po b/plugins/LogFilter/locale/fr/LC_MESSAGES/LogFilter.po new file mode 100644 index 000000000..e80766b87 --- /dev/null +++ b/plugins/LogFilter/locale/fr/LC_MESSAGES/LogFilter.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - LogFilter to French (Français) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LogFilter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:35+0000\n" +"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:50+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fr\n" +"X-Message-Group: #out-statusnet-plugin-logfilter\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: LogFilterPlugin.php:49 +msgid "Provides server-side setting to filter log output by type or keyword." +msgstr "" +"Fournit une configuration côté serveur pour filtrer la sortie du journal " +"d’activité par type ou par mot-clé." diff --git a/plugins/LogFilter/locale/mk/LC_MESSAGES/LogFilter.po b/plugins/LogFilter/locale/mk/LC_MESSAGES/LogFilter.po new file mode 100644 index 000000000..3dcd8b888 --- /dev/null +++ b/plugins/LogFilter/locale/mk/LC_MESSAGES/LogFilter.po @@ -0,0 +1,28 @@ +# Translation of StatusNet - LogFilter to Macedonian (Македонски) +# Expored from translatewiki.net +# +# Author: Bjankuloski06 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LogFilter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:35+0000\n" +"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:50+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: mk\n" +"X-Message-Group: #out-statusnet-plugin-logfilter\n" +"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" + +#: LogFilterPlugin.php:49 +msgid "Provides server-side setting to filter log output by type or keyword." +msgstr "" +"Овозможува поставка кај опслужувачот за филтрирање на дневничките изводи по " +"тип или клучен збор." diff --git a/plugins/LogFilter/locale/nl/LC_MESSAGES/LogFilter.po b/plugins/LogFilter/locale/nl/LC_MESSAGES/LogFilter.po new file mode 100644 index 000000000..4fe9d9c5c --- /dev/null +++ b/plugins/LogFilter/locale/nl/LC_MESSAGES/LogFilter.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - LogFilter to Dutch (Nederlands) +# Expored from translatewiki.net +# +# Author: Siebrand +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - LogFilter\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:35+0000\n" +"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:50+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: nl\n" +"X-Message-Group: #out-statusnet-plugin-logfilter\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: LogFilterPlugin.php:49 +msgid "Provides server-side setting to filter log output by type or keyword." +msgstr "" +"Biedt serverinstellingen om logboekuitvoer te filteren op type of trefwoord." diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php index 08465e0a7..d1a7bd0ed 100644 --- a/plugins/Mapstraction/MapstractionPlugin.php +++ b/plugins/Mapstraction/MapstractionPlugin.php @@ -67,10 +67,10 @@ class MapstractionPlugin extends Plugin { $m->connect(':nickname/all/map', array('action' => 'allmap'), - array('nickname' => '['.NICKNAME_FMT.']{1,64}')); + array('nickname' => Nickname::DISPLAY_FMT)); $m->connect(':nickname/map', array('action' => 'usermap'), - array('nickname' => '['.NICKNAME_FMT.']{1,64}')); + array('nickname' => Nickname::DISPLAY_FMT)); return true; } @@ -156,7 +156,8 @@ class MapstractionPlugin extends Plugin ' var user = null; '. (($actionName == 'showstream') ? ' user = scrapeUser(); ' : '') . ' var notices = scrapeNotices(user); ' . - ' showMapstraction($("#map_canvas"), notices); '. + ' var canvas = $("#map_canvas")[0]; ' . + ' if (typeof(canvas) != "undefined") { showMapstraction(canvas, notices); } '. '});'); } diff --git a/plugins/Mapstraction/locale/Mapstraction.pot b/plugins/Mapstraction/locale/Mapstraction.pot index 292a541c0..ba15f7044 100644 --- a/plugins/Mapstraction/locale/Mapstraction.pot +++ b/plugins/Mapstraction/locale/Mapstraction.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,16 +16,16 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -41,19 +41,19 @@ msgstr "" #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "" diff --git a/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po index 6552915b9..64150e661 100644 --- a/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:46+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Kartenn" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -46,19 +46,19 @@ msgstr "An implijer-mañ n'eus profil ebet dezhañ." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Kartenn mignoned %s" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, fuzzy, php-format msgid "%1$s friends map, page %2$d" msgstr "%s gartenn, pajenn %d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "%s gartenn, pajenn %d" diff --git a/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po index 0299a5d15..d5d69e6df 100644 --- a/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po @@ -10,28 +10,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:46+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Karte" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "in voller Größe" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -49,19 +49,19 @@ msgstr "Benutzer hat kein Profil." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Karte der Freunde von %s" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "Karte der Freunde von %1$s, Seite %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "%s-Karte, Seite %d" diff --git a/plugins/Mapstraction/locale/es/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/es/LC_MESSAGES/Mapstraction.po new file mode 100644 index 000000000..3b1ab9e91 --- /dev/null +++ b/plugins/Mapstraction/locale/es/LC_MESSAGES/Mapstraction.po @@ -0,0 +1,65 @@ +# Translation of StatusNet - Mapstraction to Spanish (Español) +# Expored from translatewiki.net +# +# Author: Locos epraix +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Mapstraction\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:18+0000\n" +"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:16+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: es\n" +"X-Message-Group: #out-statusnet-plugin-mapstraction\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: MapstractionPlugin.php:179 +msgid "Map" +msgstr "Mapa" + +#. TRANS: Clickable item to allow opening the map in full size. +#: MapstractionPlugin.php:191 +msgid "Full size" +msgstr "" + +#: MapstractionPlugin.php:203 +msgid "" +"Show maps of users' and friends' notices with <a href=\"http://www." +"mapstraction.com/\">Mapstraction</a>." +msgstr "" + +#: map.php:72 +msgid "No such user." +msgstr "" + +#: map.php:79 +msgid "User has no profile." +msgstr "Usuario no tiene perfil." + +#. TRANS: Page title. +#. TRANS: %s is a user nickname. +#: allmap.php:69 +#, php-format +msgid "%s friends map" +msgstr "" + +#. TRANS: Page title. +#. TRANS: %1$s is a user nickname, %2$d is a page number. +#: allmap.php:75 +#, php-format +msgid "%1$s friends map, page %2$d" +msgstr "" + +#: usermap.php:68 +#, php-format +msgid "%s map, page %d" +msgstr "" diff --git a/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po index 8e6007152..f7edafd26 100644 --- a/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fi\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Kartta" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Täysi koko" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -46,19 +46,19 @@ msgstr "Käyttäjällä ei ole profiilia." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Kartta käyttäjän %s ystävistä" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, fuzzy, php-format msgid "%1$s friends map, page %2$d" msgstr "Kartta käyttäjän %s ystävistä" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "" diff --git a/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po index a75da34ec..29553119a 100644 --- a/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po @@ -10,28 +10,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Cartographie" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Pleine taille" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -49,19 +49,19 @@ msgstr "Aucun profil ne correspond à cet utilisateur." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Carte des amis de %s" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "Carte des amis de %1$s, page %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "Carte %s, page %d" diff --git a/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po index 5df0d1404..5cbed8711 100644 --- a/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: gl\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Mapa" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Tamaño completo" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -46,19 +46,19 @@ msgstr "O usuario non ten perfil." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "" diff --git a/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po index 72249a654..4f0b76a3d 100644 --- a/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Mappa" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Dimension complete" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -48,19 +48,19 @@ msgstr "Le usator non ha un profilo." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Mappa del amicos de %s" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "Mappa de amicos de %1$s, pagina %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "Mappa de %s, pagina %d" diff --git a/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po index cf7be70ab..7b5e5d61d 100644 --- a/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Карта" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Полна големина" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -48,19 +48,19 @@ msgstr "Корисникот нема профил." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Карта на пријатели на %s" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "Карта на пријатели на %1$s, страница %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "Карта на %s, стр. %d" diff --git a/plugins/Mapstraction/locale/nb/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/nb/LC_MESSAGES/Mapstraction.po index b478de888..aac4b3087 100644 --- a/plugins/Mapstraction/locale/nb/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/nb/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: no\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Kart" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Full størrelse" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -48,19 +48,19 @@ msgstr "Bruker har ingen profil." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "%s vennekart" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "%1$s vennekart, side %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "%s kart, side %d" diff --git a/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po index fdc68490e..e46f581ff 100644 --- a/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po @@ -10,28 +10,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:25+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Kaart" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Groter" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -49,19 +49,19 @@ msgstr "Deze gebruiker heeft geen profiel." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Kaart van %s en vrienden" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "Kaart van vrienden van %1$s, pagina %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "Kaart van %s, pagina %d" diff --git a/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po index 93ad72cc3..8fe7dc8f0 100644 --- a/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po @@ -9,29 +9,29 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:26+0000\n" "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= " "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Карта" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Полный размер" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -47,19 +47,19 @@ msgstr "У пользователя нет профиля." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Карта друзей: %s" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, fuzzy, php-format msgid "%1$s friends map, page %2$d" msgstr "Карта друзей: %s" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "" diff --git a/plugins/Mapstraction/locale/ta/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/ta/LC_MESSAGES/Mapstraction.po index 301117348..b6b98ad46 100644 --- a/plugins/Mapstraction/locale/ta/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/ta/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:26+0000\n" "Language-Team: Tamil <http://translatewiki.net/wiki/Portal:ta>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ta\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "வரைபடம்" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "முழு அளவு" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -46,19 +46,19 @@ msgstr "" #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "" diff --git a/plugins/Mapstraction/locale/te/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/te/LC_MESSAGES/Mapstraction.po new file mode 100644 index 000000000..e9e6b6313 --- /dev/null +++ b/plugins/Mapstraction/locale/te/LC_MESSAGES/Mapstraction.po @@ -0,0 +1,64 @@ +# Translation of StatusNet - Mapstraction to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Mapstraction\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:19+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:16+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-mapstraction\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: MapstractionPlugin.php:179 +msgid "Map" +msgstr "పటం" + +#. TRANS: Clickable item to allow opening the map in full size. +#: MapstractionPlugin.php:191 +msgid "Full size" +msgstr "పూర్తి పరిమాణం" + +#: MapstractionPlugin.php:203 +msgid "" +"Show maps of users' and friends' notices with <a href=\"http://www." +"mapstraction.com/\">Mapstraction</a>." +msgstr "" + +#: map.php:72 +msgid "No such user." +msgstr "" + +#: map.php:79 +msgid "User has no profile." +msgstr "" + +#. TRANS: Page title. +#. TRANS: %s is a user nickname. +#: allmap.php:69 +#, php-format +msgid "%s friends map" +msgstr "" + +#. TRANS: Page title. +#. TRANS: %1$s is a user nickname, %2$d is a page number. +#: allmap.php:75 +#, php-format +msgid "%1$s friends map, page %2$d" +msgstr "" + +#: usermap.php:68 +#, php-format +msgid "%s map, page %d" +msgstr "" diff --git a/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po index 49d27836b..c1977a7d5 100644 --- a/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po @@ -9,28 +9,28 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:26+0000\n" "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tl\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Mapa" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Buong sukat" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -48,19 +48,19 @@ msgstr "Walang balangkas ang tagagamit." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "%s na mapa ng mga kaibigan" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr " %1$s mapa ng mga kaibigan, pahina %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "%s na mapa, pahina %d" diff --git a/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po index 9a43d791e..4e8bcd463 100644 --- a/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po @@ -9,29 +9,29 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:26+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= " "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "Мапа" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "Повний розмір" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -49,19 +49,19 @@ msgstr "Користувач не має профілю." #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "Мапа друзів %s." #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "Мапа друзів %1$s, сторінка %2$d" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "Мапа друзів %s, сторінка %d" diff --git a/plugins/Mapstraction/locale/zh_CN/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/zh_CN/LC_MESSAGES/Mapstraction.po index 47f07d159..e9c2fba78 100644 --- a/plugins/Mapstraction/locale/zh_CN/LC_MESSAGES/Mapstraction.po +++ b/plugins/Mapstraction/locale/zh_CN/LC_MESSAGES/Mapstraction.po @@ -9,29 +9,29 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Mapstraction\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:26+0000\n" "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-" "hans>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:29:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:30:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: #out-statusnet-plugin-mapstraction\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: MapstractionPlugin.php:178 +#: MapstractionPlugin.php:179 msgid "Map" msgstr "地图" #. TRANS: Clickable item to allow opening the map in full size. -#: MapstractionPlugin.php:190 +#: MapstractionPlugin.php:191 msgid "Full size" msgstr "完整尺寸" -#: MapstractionPlugin.php:202 +#: MapstractionPlugin.php:203 msgid "" "Show maps of users' and friends' notices with <a href=\"http://www." "mapstraction.com/\">Mapstraction</a>." @@ -49,19 +49,19 @@ msgstr "用户没有个人信息。" #. TRANS: Page title. #. TRANS: %s is a user nickname. -#: allmap.php:74 +#: allmap.php:69 #, php-format msgid "%s friends map" msgstr "%s 好友地图" #. TRANS: Page title. #. TRANS: %1$s is a user nickname, %2$d is a page number. -#: allmap.php:80 +#: allmap.php:75 #, php-format msgid "%1$s friends map, page %2$d" msgstr "%1$s 好友地图,第 %2$d 页。" -#: usermap.php:73 +#: usermap.php:68 #, php-format msgid "%s map, page %d" msgstr "%s 地图,第 %d 页" diff --git a/plugins/Mapstraction/map.php b/plugins/Mapstraction/map.php index 50ff82b67..dbba4edd0 100644 --- a/plugins/Mapstraction/map.php +++ b/plugins/Mapstraction/map.php @@ -53,7 +53,7 @@ class MapAction extends OwnerDesignAction parent::prepare($args); $nickname_arg = $this->arg('nickname'); - $nickname = common_canonical_nickname($nickname_arg); + $nickname = Nickname::normalize($nickname_arg); // Permanent redirect on non-canonical nickname diff --git a/plugins/Memcache/locale/de/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/de/LC_MESSAGES/Memcache.po index 2b8a4bbb9..c590f0f2b 100644 --- a/plugins/Memcache/locale/de/LC_MESSAGES/Memcache.po +++ b/plugins/Memcache/locale/de/LC_MESSAGES/Memcache.po @@ -2,6 +2,7 @@ # Expored from translatewiki.net # # Author: Apmon +# Author: The Evil IP address # -- # This file is distributed under the same license as the StatusNet package. # @@ -9,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Memcache\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:47+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:26+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:57:05+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:12:53+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-memcache\n" @@ -25,5 +26,5 @@ msgstr "" msgid "" "Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results." msgstr "" -"Verwende <a href=\"http://memcached.org/\">Memcached</a> um Anfragen " -"zwischenzuspeichern" +"Verwendung von <a href=\"http://memcached.org/\">Memcached</a> zur " +"Zwischenspeicherung von Anfragen" diff --git a/plugins/Memcached/locale/de/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/de/LC_MESSAGES/Memcached.po new file mode 100644 index 000000000..8dec70860 --- /dev/null +++ b/plugins/Memcached/locale/de/LC_MESSAGES/Memcached.po @@ -0,0 +1,29 @@ +# Translation of StatusNet - Memcached to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Memcached\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:30+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:35:21+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-memcached\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: MemcachedPlugin.php:218 +msgid "" +"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results." +msgstr "" +"Verwendung von <a href=\"http://memcached.org/\">Memcached</a> zur " +"Zwischenspeicherung von Anfragen" diff --git a/plugins/Memcached/locale/ja/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/ja/LC_MESSAGES/Memcached.po new file mode 100644 index 000000000..fea6080bc --- /dev/null +++ b/plugins/Memcached/locale/ja/LC_MESSAGES/Memcached.po @@ -0,0 +1,29 @@ +# Translation of StatusNet - Memcached to Japanese (日本語) +# Expored from translatewiki.net +# +# Author: Iwai.masaharu +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Memcached\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:31+0000\n" +"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:53+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ja\n" +"X-Message-Group: #out-statusnet-plugin-memcached\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: MemcachedPlugin.php:218 +msgid "" +"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results." +msgstr "" +"クエリー結果のキャッシュに <a href=\"http://memcached.org/\">Memcached</a> を" +"使う" diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php index a48c52b56..1bdccae7a 100644 --- a/plugins/Meteor/MeteorPlugin.php +++ b/plugins/Meteor/MeteorPlugin.php @@ -89,7 +89,7 @@ class MeteorPlugin extends RealtimePlugin { $scripts = parent::_getScripts(); $scripts[] = 'http://'.$this->webserver.(($this->webport == 80) ? '':':'.$this->webport).'/meteor.js'; - $scripts[] = common_path('plugins/Meteor/meteorupdater.js'); + $scripts[] = common_path('plugins/Meteor/meteorupdater.min.js'); return $scripts; } diff --git a/plugins/Meteor/locale/br/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/br/LC_MESSAGES/Meteor.po new file mode 100644 index 000000000..3a18c2f91 --- /dev/null +++ b/plugins/Meteor/locale/br/LC_MESSAGES/Meteor.po @@ -0,0 +1,38 @@ +# Translation of StatusNet - Meteor to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Meteor\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:21+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:18+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-meteor\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Exception. %1$s is the control server, %2$s is the control port. +#: MeteorPlugin.php:115 +#, php-format +msgid "Couldn't connect to %1$s on %2$s." +msgstr "Dibosupl eo kevreañ ouzh %1$s war %2$s." + +#. TRANS: Exception. %s is the Meteor message that could not be added. +#: MeteorPlugin.php:128 +#, php-format +msgid "Error adding meteor message \"%s\"" +msgstr "" + +#: MeteorPlugin.php:158 +msgid "Plugin to do \"real time\" updates using Comet/Bayeux." +msgstr "" diff --git a/plugins/Meteor/locale/de/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/de/LC_MESSAGES/Meteor.po new file mode 100644 index 000000000..1eeb0372c --- /dev/null +++ b/plugins/Meteor/locale/de/LC_MESSAGES/Meteor.po @@ -0,0 +1,38 @@ +# Translation of StatusNet - Meteor to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Meteor\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:33+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:12:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-meteor\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Exception. %1$s is the control server, %2$s is the control port. +#: MeteorPlugin.php:115 +#, php-format +msgid "Couldn't connect to %1$s on %2$s." +msgstr "Konnte nicht mit %1$s auf %2$s verbinden." + +#. TRANS: Exception. %s is the Meteor message that could not be added. +#: MeteorPlugin.php:128 +#, php-format +msgid "Error adding meteor message \"%s\"" +msgstr "Fehler beim Hinzufügen der Meteor-Nachricht „%s“" + +#: MeteorPlugin.php:158 +msgid "Plugin to do \"real time\" updates using Comet/Bayeux." +msgstr "Plugin für Echtzeit-Aktualisierungen mit Comet/Bayeux." diff --git a/plugins/Meteor/meteorupdater.min.js b/plugins/Meteor/meteorupdater.min.js new file mode 100644 index 000000000..61928ab4f --- /dev/null +++ b/plugins/Meteor/meteorupdater.min.js @@ -0,0 +1 @@ +var MeteorUpdater=function(){return{init:function(c,a,b){Meteor.callbacks.process=function(d){RealtimeUpdate.receive(JSON.parse(d))};Meteor.host=c;Meteor.port=a;Meteor.joinChannel(b,0);Meteor.connect()}}}();
\ No newline at end of file diff --git a/plugins/MobileProfile/locale/es/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/es/LC_MESSAGES/MobileProfile.po new file mode 100644 index 000000000..68091bd5b --- /dev/null +++ b/plugins/MobileProfile/locale/es/LC_MESSAGES/MobileProfile.po @@ -0,0 +1,78 @@ +# Translation of StatusNet - MobileProfile to Spanish (Español) +# Expored from translatewiki.net +# +# Author: Locos epraix +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - MobileProfile\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:23+0000\n" +"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:19+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: es\n" +"X-Message-Group: #out-statusnet-plugin-mobileprofile\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: MobileProfilePlugin.php:193 +msgid "This page is not available in a media type you accept." +msgstr "" + +#: MobileProfilePlugin.php:310 +msgid "Home" +msgstr "" + +#: MobileProfilePlugin.php:312 +msgid "Account" +msgstr "Cuenta" + +#: MobileProfilePlugin.php:314 +msgid "Connect" +msgstr "Conectar" + +#: MobileProfilePlugin.php:317 +msgid "Admin" +msgstr "" + +#: MobileProfilePlugin.php:317 +msgid "Change site configuration" +msgstr "" + +#: MobileProfilePlugin.php:321 +msgid "Invite" +msgstr "Invitar" + +#: MobileProfilePlugin.php:324 +msgid "Logout" +msgstr "Cerrar sesión" + +#: MobileProfilePlugin.php:328 +msgid "Register" +msgstr "" + +#: MobileProfilePlugin.php:331 +msgid "Login" +msgstr "" + +#: MobileProfilePlugin.php:335 +msgid "Search" +msgstr "" + +#: MobileProfilePlugin.php:361 +msgid "Attach" +msgstr "" + +#: MobileProfilePlugin.php:365 +msgid "Attach a file" +msgstr "" + +#: MobileProfilePlugin.php:417 +msgid "XHTML MobileProfile output for supporting user agents." +msgstr "" diff --git a/plugins/MobileProfile/locale/ps/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/ps/LC_MESSAGES/MobileProfile.po new file mode 100644 index 000000000..28d74d481 --- /dev/null +++ b/plugins/MobileProfile/locale/ps/LC_MESSAGES/MobileProfile.po @@ -0,0 +1,78 @@ +# Translation of StatusNet - MobileProfile to Pashto (پښتو) +# Expored from translatewiki.net +# +# Author: Ahmed-Najib-Biabani-Ibrahimkhel +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - MobileProfile\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:23+0000\n" +"Language-Team: Pashto <http://translatewiki.net/wiki/Portal:ps>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:19+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ps\n" +"X-Message-Group: #out-statusnet-plugin-mobileprofile\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: MobileProfilePlugin.php:193 +msgid "This page is not available in a media type you accept." +msgstr "" + +#: MobileProfilePlugin.php:310 +msgid "Home" +msgstr "کور" + +#: MobileProfilePlugin.php:312 +msgid "Account" +msgstr "" + +#: MobileProfilePlugin.php:314 +msgid "Connect" +msgstr "" + +#: MobileProfilePlugin.php:317 +msgid "Admin" +msgstr "" + +#: MobileProfilePlugin.php:317 +msgid "Change site configuration" +msgstr "" + +#: MobileProfilePlugin.php:321 +msgid "Invite" +msgstr "" + +#: MobileProfilePlugin.php:324 +msgid "Logout" +msgstr "وتل" + +#: MobileProfilePlugin.php:328 +msgid "Register" +msgstr "" + +#: MobileProfilePlugin.php:331 +msgid "Login" +msgstr "ننوتل" + +#: MobileProfilePlugin.php:335 +msgid "Search" +msgstr "پلټل" + +#: MobileProfilePlugin.php:361 +msgid "Attach" +msgstr "" + +#: MobileProfilePlugin.php:365 +msgid "Attach a file" +msgstr "" + +#: MobileProfilePlugin.php:417 +msgid "XHTML MobileProfile output for supporting user agents." +msgstr "" diff --git a/plugins/MobileProfile/locale/te/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/te/LC_MESSAGES/MobileProfile.po new file mode 100644 index 000000000..e42e36be8 --- /dev/null +++ b/plugins/MobileProfile/locale/te/LC_MESSAGES/MobileProfile.po @@ -0,0 +1,78 @@ +# Translation of StatusNet - MobileProfile to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - MobileProfile\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:36+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:50+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-mobileprofile\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: MobileProfilePlugin.php:193 +msgid "This page is not available in a media type you accept." +msgstr "" + +#: MobileProfilePlugin.php:310 +msgid "Home" +msgstr "ముంగిలి" + +#: MobileProfilePlugin.php:312 +msgid "Account" +msgstr "ఖాతా" + +#: MobileProfilePlugin.php:314 +msgid "Connect" +msgstr "" + +#: MobileProfilePlugin.php:317 +msgid "Admin" +msgstr "" + +#: MobileProfilePlugin.php:317 +msgid "Change site configuration" +msgstr "" + +#: MobileProfilePlugin.php:321 +msgid "Invite" +msgstr "ఆహ్వానించు" + +#: MobileProfilePlugin.php:324 +msgid "Logout" +msgstr "నిష్క్రమించండి" + +#: MobileProfilePlugin.php:328 +msgid "Register" +msgstr "నమోదవ్వండి" + +#: MobileProfilePlugin.php:331 +msgid "Login" +msgstr "ప్రవేశించండి" + +#: MobileProfilePlugin.php:335 +msgid "Search" +msgstr "వెతుకు" + +#: MobileProfilePlugin.php:361 +msgid "Attach" +msgstr "" + +#: MobileProfilePlugin.php:365 +msgid "Attach a file" +msgstr "" + +#: MobileProfilePlugin.php:417 +msgid "XHTML MobileProfile output for supporting user agents." +msgstr "" diff --git a/plugins/ModHelper/locale/es/LC_MESSAGES/ModHelper.po b/plugins/ModHelper/locale/es/LC_MESSAGES/ModHelper.po new file mode 100644 index 000000000..fc9306762 --- /dev/null +++ b/plugins/ModHelper/locale/es/LC_MESSAGES/ModHelper.po @@ -0,0 +1,29 @@ +# Translation of StatusNet - ModHelper to Spanish (Español) +# Expored from translatewiki.net +# +# Author: Locos epraix +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ModHelper\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:37+0000\n" +"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:51+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: es\n" +"X-Message-Group: #out-statusnet-plugin-modhelper\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ModHelperPlugin.php:37 +msgid "" +"Lets users who have been manually marked as \"modhelper\"s silence accounts." +msgstr "" +"Permite a los usuarios que han sido marcados manualmente como \"modhelper\" " +"silenciar cuentas." diff --git a/plugins/ModPlus/ModPlusPlugin.php b/plugins/ModPlus/ModPlusPlugin.php new file mode 100644 index 000000000..3e7a8c745 --- /dev/null +++ b/plugins/ModPlus/ModPlusPlugin.php @@ -0,0 +1,116 @@ +<?php +/* + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +/** + * Some UI extras for now... + * + * @package ModPlusPlugin + * @maintainer Brion Vibber <brion@status.net> + */ +class ModPlusPlugin extends Plugin +{ + function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'ModPlus', + 'version' => STATUSNET_VERSION, + 'author' => 'Brion Vibber', + 'homepage' => 'http://status.net/wiki/Plugin:ModPlus', + 'rawdescription' => + _m('UI extensions for profile moderation actions.')); + + return true; + } + + /** + * Load JS at runtime if we're logged in. + * + * @param Action $action + * @return boolean hook result + */ + function onEndShowScripts($action) + { + $user = common_current_user(); + if ($user) { + $action->script('plugins/ModPlus/modplus.js'); + } + return true; + } + + function onEndShowStatusNetStyles($action) { + $action->cssLink('plugins/ModPlus/modplus.css'); + return true; + } + + /** + * Autoloader + * + * Loads our classes if they're requested. + * + * @param string $cls Class requested + * + * @return boolean hook return + */ + function onAutoload($cls) + { + switch ($cls) + { + case 'RemoteprofileAction': + case 'RemoteProfileAction': + require_once dirname(__FILE__) . '/remoteprofileaction.php'; + return false; + default: + return true; + } + } + + /** + * Add OpenID-related paths to the router table + * + * Hook for RouterInitialized event. + * + * @param Net_URL_Mapper $m URL mapper + * + * @return boolean hook return + */ + function onStartInitializeRouter($m) + { + $m->connect('user/remote/:id', + array('action' => 'remoteprofile'), + array('id' => '[\d]+')); + + return true; + } + + function onStartShowNoticeItem($item) + { + $profile = $item->profile; + $isRemote = !(User::staticGet('id', $profile->id)); + if ($isRemote) { + $target = common_local_url('remoteprofile', array('id' => $profile->id)); + $label = _m('Remote profile options...'); + $item->out->elementStart('div', 'remote-profile-options'); + $item->out->element('a', array('href' => $target), $label); + $item->out->elementEnd('div'); + } + } +} diff --git a/plugins/ModPlus/locale/ModPlus.pot b/plugins/ModPlus/locale/ModPlus.pot new file mode 100644 index 000000000..025b521a0 --- /dev/null +++ b/plugins/ModPlus/locale/ModPlus.pot @@ -0,0 +1,43 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+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" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ModPlusPlugin.php:39 +msgid "UI extensions for profile moderation actions." +msgstr "" + +#: ModPlusPlugin.php:110 +msgid "Remote profile options..." +msgstr "" + +#: remoteprofileaction.php:51 +#, php-format +msgid "%s on %s" +msgstr "" + +#: remoteprofileaction.php:62 +#, php-format +msgid "" +"This remote profile is registered on another site; see [%s's original " +"profile page on %s](%s)." +msgstr "" + +#: remoteprofileaction.php:70 +msgid "" +"Site moderators have silenced this profile, which prevents delivery of new " +"messages to any users on this site." +msgstr "" diff --git a/plugins/ModPlus/locale/fr/LC_MESSAGES/ModPlus.po b/plugins/ModPlus/locale/fr/LC_MESSAGES/ModPlus.po new file mode 100644 index 000000000..5cf777ed6 --- /dev/null +++ b/plugins/ModPlus/locale/fr/LC_MESSAGES/ModPlus.po @@ -0,0 +1,54 @@ +# Translation of StatusNet - ModPlus to French (Français) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ModPlus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:41+0000\n" +"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fr\n" +"X-Message-Group: #out-statusnet-plugin-modplus\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ModPlusPlugin.php:39 +msgid "UI extensions for profile moderation actions." +msgstr "" +"Extensions d’interface utilisateur pour les actions de modération des " +"profils." + +#: ModPlusPlugin.php:110 +msgid "Remote profile options..." +msgstr "Options de profil distantes..." + +#: remoteprofileaction.php:51 +#, php-format +msgid "%s on %s" +msgstr "%s sur %s" + +#: remoteprofileaction.php:62 +#, php-format +msgid "" +"This remote profile is registered on another site; see [%s's original " +"profile page on %s](%s)." +msgstr "" +"Ce profil distant est enregistré sur un autre site ; voir [la page de profil " +"originale de %s sur %s] (%s)." + +#: remoteprofileaction.php:70 +msgid "" +"Site moderators have silenced this profile, which prevents delivery of new " +"messages to any users on this site." +msgstr "" +"Les modérateurs du site ont réduit ce profil au silence, ce qui empêche " +"l’envoi de nouveaux messages aux utilisateurs de ce site." diff --git a/plugins/ModPlus/locale/mk/LC_MESSAGES/ModPlus.po b/plugins/ModPlus/locale/mk/LC_MESSAGES/ModPlus.po new file mode 100644 index 000000000..d14db652a --- /dev/null +++ b/plugins/ModPlus/locale/mk/LC_MESSAGES/ModPlus.po @@ -0,0 +1,54 @@ +# Translation of StatusNet - ModPlus to Macedonian (Македонски) +# Expored from translatewiki.net +# +# Author: Bjankuloski06 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ModPlus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:41+0000\n" +"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: mk\n" +"X-Message-Group: #out-statusnet-plugin-modplus\n" +"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" + +#: ModPlusPlugin.php:39 +msgid "UI extensions for profile moderation actions." +msgstr "" +"Додатоци за кориснички посредник наменети за постапки за административна " +"контрола на профили." + +#: ModPlusPlugin.php:110 +msgid "Remote profile options..." +msgstr "Нагодувања на далечински профил..." + +#: remoteprofileaction.php:51 +#, php-format +msgid "%s on %s" +msgstr "%s на %s" + +#: remoteprofileaction.php:62 +#, php-format +msgid "" +"This remote profile is registered on another site; see [%s's original " +"profile page on %s](%s)." +msgstr "" +"Овој далечински профил е регистриран на друго мреж. место. Погледајте ја [%" +"s's изворната профилна страница на %s](%s)." + +#: remoteprofileaction.php:70 +msgid "" +"Site moderators have silenced this profile, which prevents delivery of new " +"messages to any users on this site." +msgstr "" +"Администраторите го замолчиле овој профил, што оневозможува праќање нови " +"пораки на било кој корисник на мрежното место." diff --git a/plugins/ModPlus/locale/nl/LC_MESSAGES/ModPlus.po b/plugins/ModPlus/locale/nl/LC_MESSAGES/ModPlus.po new file mode 100644 index 000000000..2cc8b5b4d --- /dev/null +++ b/plugins/ModPlus/locale/nl/LC_MESSAGES/ModPlus.po @@ -0,0 +1,54 @@ +# Translation of StatusNet - ModPlus to Dutch (Nederlands) +# Expored from translatewiki.net +# +# Author: Siebrand +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ModPlus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:57:41+0000\n" +"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 20:20:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: nl\n" +"X-Message-Group: #out-statusnet-plugin-modplus\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ModPlusPlugin.php:39 +msgid "UI extensions for profile moderation actions." +msgstr "" +"Uitbreiding van de gebruikersinterface voor handelingen ten aanzien van " +"profielmoderatie." + +#: ModPlusPlugin.php:110 +msgid "Remote profile options..." +msgstr "Instellingen voor profiel op andere server..." + +#: remoteprofileaction.php:51 +#, php-format +msgid "%s on %s" +msgstr "%s op %s" + +#: remoteprofileaction.php:62 +#, php-format +msgid "" +"This remote profile is registered on another site; see [%s's original " +"profile page on %s](%s)." +msgstr "" +"Dit profiel op een andere server is geregistreerd bij een andere site. Zie " +"[de originele profielpagina van %s op %s](%s)." + +#: remoteprofileaction.php:70 +msgid "" +"Site moderators have silenced this profile, which prevents delivery of new " +"messages to any users on this site." +msgstr "" +"Moderatoren van de site hebben dit profiel het zwijgen opgeleverd waardoor " +"nieuwe berichten zenden aan gebruikers van deze site niet mogelijk is." diff --git a/plugins/ModPlus/modplus.css b/plugins/ModPlus/modplus.css new file mode 100644 index 000000000..8d2fc8fba --- /dev/null +++ b/plugins/ModPlus/modplus.css @@ -0,0 +1,23 @@ +.remote-profile-options { + position: absolute; + z-index: 999; + + background: url(../../theme/base/images/icons/twotone/green/admin.gif) no-repeat 8px 8px white; + border: solid 1px #c0c0c0; + + margin-top: 56px; + + padding: 6px 16px; + padding-left: 32px; + + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + -msie-border-radius: 8px; + border-radius: 8px; + + box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3); + -moz-box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3); + -webkit-box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3); + + display: none; +} diff --git a/plugins/ModPlus/modplus.js b/plugins/ModPlus/modplus.js new file mode 100644 index 000000000..2e90de4f1 --- /dev/null +++ b/plugins/ModPlus/modplus.js @@ -0,0 +1,23 @@ +/** + * modplus.js + * (c) 2010 StatusNet, Inc + */ + +$(function() { + function ModPlus_setup(notice) { + if ($(notice).find('.remote-profile-options').size()) { + var $options = $(notice).find('.remote-profile-options'); + $options.prepend($()) + $(notice).find('.author').mouseenter(function(event) { + $(notice).find('.remote-profile-options').fadeIn(); + }); + $(notice).mouseleave(function(event) { + $(notice).find('.remote-profile-options').fadeOut(); + }); + } + } + + $('.notice').each(function() { + ModPlus_setup(this); + }); +}); diff --git a/plugins/ModPlus/remoteprofileaction.php b/plugins/ModPlus/remoteprofileaction.php new file mode 100644 index 000000000..caa5e6fbf --- /dev/null +++ b/plugins/ModPlus/remoteprofileaction.php @@ -0,0 +1,106 @@ +<?php +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class RemoteProfileAction extends ShowstreamAction +{ + function prepare($args) + { + OwnerDesignAction::prepare($args); // skip the ProfileAction code and replace it... + + $id = $this->arg('id'); + $this->user = false; + $this->profile = Profile::staticGet('id', $id); + + if (!$this->profile) { + $this->serverError(_('User has no profile.')); + return false; + } + + $user = User::staticGet('id', $this->profile->id); + if ($user) { + // This is a local user -- send to their regular profile. + $url = common_local_url('showstream', array('nickname' => $user->nickname)); + common_redirect($url); + return false; + } + + $this->tag = $this->trimmed('tag'); + $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1; + common_set_returnto($this->selfUrl()); + return true; + } + + function handle($args) + { + // skip yadis thingy + $this->showPage(); + } + + function title() + { + // maybe fixed in 0.9.x + if (!empty($this->profile->fullname)) { + $base = $this->profile->fullname . ' (' . $this->profile->nickname . ') '; + } else { + $base = $this->profile->nickname; + } + $host = parse_url($this->profile->profileurl, PHP_URL_HOST); + return sprintf(_m('%s on %s'), $base, $host); + } + + /** + * Instead of showing notices, link to the original offsite profile. + */ + function showNotices() + { + $url = $this->profile->profileurl; + $host = parse_url($url, PHP_URL_HOST); + $markdown = sprintf( + _m('This remote profile is registered on another site; see [%s\'s original profile page on %s](%s).'), + $this->profile->nickname, + $host, + $url); + $html = common_markup_to_html($markdown); + $this->raw($html); + + if ($this->profile->hasRole(Profile_role::SILENCED)) { + $markdown = _m('Site moderators have silenced this profile, which prevents delivery of new messages to any users on this site.'); + $this->raw(common_markup_to_html($markdown)); + } + } + + function getFeeds() + { + // none + } + + /** + * Don't do various extra stuff, and also trim some things to avoid crawlers. + */ + function extraHead() + { + $this->element('meta', array('name' => 'robots', + 'content' => 'noindex,nofollow')); + } + + function showLocalNav() + { + $nav = new PublicGroupNav($this); + $nav->show(); + } + + function showSections() + { + ProfileAction::showSections(); + // skip tag cloud + } + + function showStatistics() + { + // skip + } + +}
\ No newline at end of file diff --git a/plugins/NoticeTitle/NoticeTitlePlugin.php b/plugins/NoticeTitle/NoticeTitlePlugin.php index a3b4489f2..054c3d3e4 100644 --- a/plugins/NoticeTitle/NoticeTitlePlugin.php +++ b/plugins/NoticeTitle/NoticeTitlePlugin.php @@ -259,12 +259,17 @@ class NoticeTitlePlugin extends Plugin * @return boolean hook value */ - function onStartActivityTitle(&$notice, &$xs, &$output) + function onEndNoticeAsActivity($notice, &$activity) { $title = Notice_title::fromNotice($notice); if (!empty($title)) { - $output = $title; + foreach ($activity->objects as $obj) { + if ($obj->id == $notice->uri) { + $obj->title = $title; + break; + } + } } return true; diff --git a/plugins/NoticeTitle/locale/ar/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/ar/LC_MESSAGES/NoticeTitle.po new file mode 100644 index 000000000..546a08de3 --- /dev/null +++ b/plugins/NoticeTitle/locale/ar/LC_MESSAGES/NoticeTitle.po @@ -0,0 +1,34 @@ +# Translation of StatusNet - NoticeTitle to Arabic (العربية) +# Expored from translatewiki.net +# +# Author: OsamaK +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - NoticeTitle\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:38+0000\n" +"Language-Team: Arabic <http://translatewiki.net/wiki/Portal:ar>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:29:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ar\n" +"X-Message-Group: #out-statusnet-plugin-noticetitle\n" +"Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ( (n == 1) ? 1 : ( (n == " +"2) ? 2 : ( (n%100 >= 3 && n%100 <= 10) ? 3 : ( (n%100 >= 11 && n%100 <= " +"99) ? 4 : 5 ) ) ) );\n" + +#: NoticeTitlePlugin.php:132 +msgid "Adds optional titles to notices." +msgstr "يضيف عناوين اختيارية إلى الإشعارات." + +#. TRANS: Page title. %1$s is the title, %2$s is the site name. +#: NoticeTitlePlugin.php:309 +#, php-format +msgid "%1$s - %2$s" +msgstr "%1$s - %2$s" diff --git a/plugins/NoticeTitle/locale/de/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/de/LC_MESSAGES/NoticeTitle.po new file mode 100644 index 000000000..363480494 --- /dev/null +++ b/plugins/NoticeTitle/locale/de/LC_MESSAGES/NoticeTitle.po @@ -0,0 +1,32 @@ +# Translation of StatusNet - NoticeTitle to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - NoticeTitle\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:38+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:29:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-noticetitle\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: NoticeTitlePlugin.php:132 +msgid "Adds optional titles to notices." +msgstr "Fügt Nachrichten optionale Titel hinzu." + +#. TRANS: Page title. %1$s is the title, %2$s is the site name. +#: NoticeTitlePlugin.php:309 +#, php-format +msgid "%1$s - %2$s" +msgstr "%1$s – %2$s" diff --git a/plugins/NoticeTitle/locale/ne/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/ne/LC_MESSAGES/NoticeTitle.po new file mode 100644 index 000000000..670be0a6f --- /dev/null +++ b/plugins/NoticeTitle/locale/ne/LC_MESSAGES/NoticeTitle.po @@ -0,0 +1,32 @@ +# Translation of StatusNet - NoticeTitle to Nepali (नेपाली) +# Expored from translatewiki.net +# +# Author: Bhawani Gautam Rhk +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - NoticeTitle\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:39+0000\n" +"Language-Team: Nepali <http://translatewiki.net/wiki/Portal:ne>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:29:26+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ne\n" +"X-Message-Group: #out-statusnet-plugin-noticetitle\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: NoticeTitlePlugin.php:132 +msgid "Adds optional titles to notices." +msgstr "सूचनाकोलागि वैकल्पिक शीर्षकहरु जोड्छ" + +#. TRANS: Page title. %1$s is the title, %2$s is the site name. +#: NoticeTitlePlugin.php:309 +#, php-format +msgid "%1$s - %2$s" +msgstr "%1$s - %2$s" diff --git a/plugins/NoticeTitle/locale/pl/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/pl/LC_MESSAGES/NoticeTitle.po new file mode 100644 index 000000000..64b208fa5 --- /dev/null +++ b/plugins/NoticeTitle/locale/pl/LC_MESSAGES/NoticeTitle.po @@ -0,0 +1,33 @@ +# Translation of StatusNet - NoticeTitle to Polish (Polski) +# Expored from translatewiki.net +# +# Author: Raven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - NoticeTitle\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:28:38+0000\n" +"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:51+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: pl\n" +"X-Message-Group: #out-statusnet-plugin-noticetitle\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && " +"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#: NoticeTitlePlugin.php:132 +msgid "Adds optional titles to notices." +msgstr "" + +#. TRANS: Page title. %1$s is the title, %2$s is the site name. +#: NoticeTitlePlugin.php:309 +#, php-format +msgid "%1$s - %2$s" +msgstr "%1$s - %2$s" diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index e38d52d3d..f846a2fc8 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -52,8 +52,6 @@ class OStatusPlugin extends Plugin function onRouterInitialized($m) { // Discovery actions - $m->connect('main/xrd', - array('action' => 'userxrd')); $m->connect('main/ownerxrd', array('action' => 'ownerxrd')); $m->connect('main/ostatus', @@ -1010,11 +1008,43 @@ class OStatusPlugin extends Plugin return true; } - function onStartHostMetaLinks(&$links) { - $url = common_local_url('userxrd'); - $url.= '?uri={uri}'; - $links[] = array('rel' => Discovery::LRDD_REL, - 'template' => $url, - 'title' => array('Resource Descriptor')); + function onEndXrdActionLinks(&$xrd, $user) + { + $xrd->links[] = array('rel' => Discovery::UPDATESFROM, + 'href' => common_local_url('ApiTimelineUser', + array('id' => $user->id, + 'format' => 'atom')), + 'type' => 'application/atom+xml'); + + // Salmon + $salmon_url = common_local_url('usersalmon', + array('id' => $user->id)); + + $xrd->links[] = array('rel' => Salmon::REL_SALMON, + 'href' => $salmon_url); + // XXX : Deprecated - to be removed. + $xrd->links[] = array('rel' => Salmon::NS_REPLIES, + 'href' => $salmon_url); + + $xrd->links[] = array('rel' => Salmon::NS_MENTIONS, + 'href' => $salmon_url); + + // Get this user's keypair + $magickey = Magicsig::staticGet('user_id', $user->id); + if (!$magickey) { + // No keypair yet, let's generate one. + $magickey = new Magicsig(); + $magickey->generate($user->id); + } + + $xrd->links[] = array('rel' => Magicsig::PUBLICKEYREL, + 'href' => 'data:application/magic-public-key,'. $magickey->toString(false)); + + // TODO - finalize where the redirect should go on the publisher + $url = common_local_url('ostatussub') . '?profile={uri}'; + $xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe', + 'template' => $url ); + + return true; } } diff --git a/plugins/OStatus/actions/userxrd.php b/plugins/OStatus/actions/userxrd.php deleted file mode 100644 index 575a07c40..000000000 --- a/plugins/OStatus/actions/userxrd.php +++ /dev/null @@ -1,65 +0,0 @@ -<?php -/* - * StatusNet - the distributed open-source microblogging tool - * Copyright (C) 2010, StatusNet, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -if (!defined('STATUSNET')) { - exit(1); -} - -/** - * @package OStatusPlugin - * @maintainer James Walker <james@status.net> - */ -class UserxrdAction extends XrdAction -{ - function prepare($args) - { - parent::prepare($args); - - $this->uri = $this->trimmed('uri'); - $this->uri = Discovery::normalize($this->uri); - - if (Discovery::isWebfinger($this->uri)) { - $parts = explode('@', substr(urldecode($this->uri), 5)); - if (count($parts) == 2) { - list($nick, $domain) = $parts; - // @fixme confirm the domain too - // @fixme if domain checking is added, ensure that it will not - // cause problems with sites that have changed domains! - $nick = common_canonical_nickname($nick); - $this->user = User::staticGet('nickname', $nick); - } - } else { - $this->user = User::staticGet('uri', $this->uri); - if (empty($this->user)) { - // try and get it by profile url - $profile = Profile::staticGet('profileurl', $this->uri); - if (!empty($profile)) { - $this->user = User::staticGet('id', $profile->id); - } - } - } - - if (!$this->user) { - $this->clientError(_m('No such user.'), 404); - return false; - } - - return true; - } -} diff --git a/plugins/OStatus/lib/xrdaction.php b/plugins/OStatus/lib/xrdaction.php deleted file mode 100644 index 371c11080..000000000 --- a/plugins/OStatus/lib/xrdaction.php +++ /dev/null @@ -1,127 +0,0 @@ -<?php -/* - * StatusNet - the distributed open-source microblogging tool - * Copyright (C) 2010, StatusNet, Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/** - * @package OStatusPlugin - * @maintainer James Walker <james@status.net> - */ - -if (!defined('STATUSNET')) { - exit(1); -} - -class XrdAction extends Action -{ - public $uri; - - public $user; - - public $xrd; - - function handle() - { - $nick = $this->user->nickname; - $profile = $this->user->getProfile(); - - if (empty($this->xrd)) { - $xrd = new XRD(); - } else { - $xrd = $this->xrd; - } - - if (empty($xrd->subject)) { - $xrd->subject = Discovery::normalize($this->uri); - } - - // Possible aliases for the user - - $uris = array($this->user->uri, $profile->profileurl); - - // FIXME: Webfinger generation code should live somewhere on its own - - $path = common_config('site', 'path'); - - if (empty($path)) { - $uris[] = sprintf('acct:%s@%s', $nick, common_config('site', 'server')); - } - - foreach ($uris as $uri) { - if ($uri != $xrd->subject) { - $xrd->alias[] = $uri; - } - } - - $xrd->links[] = array('rel' => Discovery::PROFILEPAGE, - 'type' => 'text/html', - 'href' => $profile->profileurl); - - $xrd->links[] = array('rel' => Discovery::UPDATESFROM, - 'href' => common_local_url('ApiTimelineUser', - array('id' => $this->user->id, - 'format' => 'atom')), - 'type' => 'application/atom+xml'); - - // hCard - $xrd->links[] = array('rel' => Discovery::HCARD, - 'type' => 'text/html', - 'href' => common_local_url('hcard', array('nickname' => $nick))); - - // XFN - $xrd->links[] = array('rel' => 'http://gmpg.org/xfn/11', - 'type' => 'text/html', - 'href' => $profile->profileurl); - // FOAF - $xrd->links[] = array('rel' => 'describedby', - 'type' => 'application/rdf+xml', - 'href' => common_local_url('foaf', - array('nickname' => $nick))); - - // Salmon - $salmon_url = common_local_url('usersalmon', - array('id' => $this->user->id)); - - $xrd->links[] = array('rel' => Salmon::REL_SALMON, - 'href' => $salmon_url); - // XXX : Deprecated - to be removed. - $xrd->links[] = array('rel' => Salmon::NS_REPLIES, - 'href' => $salmon_url); - - $xrd->links[] = array('rel' => Salmon::NS_MENTIONS, - 'href' => $salmon_url); - - // Get this user's keypair - $magickey = Magicsig::staticGet('user_id', $this->user->id); - if (!$magickey) { - // No keypair yet, let's generate one. - $magickey = new Magicsig(); - $magickey->generate($this->user->id); - } - - $xrd->links[] = array('rel' => Magicsig::PUBLICKEYREL, - 'href' => 'data:application/magic-public-key,'. $magickey->toString(false)); - - // TODO - finalize where the redirect should go on the publisher - $url = common_local_url('ostatussub') . '?profile={uri}'; - $xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe', - 'template' => $url ); - - header('Content-type: application/xrd+xml'); - print $xrd->toXML(); - } -} diff --git a/plugins/OStatus/locale/OStatus.pot b/plugins/OStatus/locale/OStatus.pot index 745a87c98..1a95a43bf 100644 --- a/plugins/OStatus/locale/OStatus.pot +++ b/plugins/OStatus/locale/OStatus.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-02 22:51+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+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" @@ -18,94 +18,94 @@ msgstr "" #. TRANS: Link description for link to subscribe to a remote user. #. TRANS: Link text for a user to subscribe to an OStatus user. -#: OStatusPlugin.php:229 OStatusPlugin.php:939 +#: OStatusPlugin.php:225 OStatusPlugin.php:935 msgid "Subscribe" msgstr "" #. TRANS: Link description for link to join a remote group. -#: OStatusPlugin.php:248 OStatusPlugin.php:657 actions/ostatussub.php:109 +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 msgid "Join" msgstr "" #. TRANSLATE: %s is a domain. -#: OStatusPlugin.php:461 +#: OStatusPlugin.php:457 #, php-format msgid "Sent from %s via OStatus" msgstr "" #. TRANS: Exception. -#: OStatusPlugin.php:533 +#: OStatusPlugin.php:529 msgid "Could not set up remote subscription." msgstr "" -#: OStatusPlugin.php:607 +#: OStatusPlugin.php:603 msgid "Unfollow" msgstr "" #. TRANS: Success message for unsubscribe from user attempt through OStatus. #. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. -#: OStatusPlugin.php:610 +#: OStatusPlugin.php:606 #, php-format msgid "%1$s stopped following %2$s." msgstr "" -#: OStatusPlugin.php:638 +#: OStatusPlugin.php:634 msgid "Could not set up remote group membership." msgstr "" #. TRANS: Success message for subscribe to group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the subscribed group's name. -#: OStatusPlugin.php:660 +#: OStatusPlugin.php:656 #, php-format msgid "%1$s has joined group %2$s." msgstr "" #. TRANS: Exception. -#: OStatusPlugin.php:669 +#: OStatusPlugin.php:665 msgid "Failed joining remote group." msgstr "" -#: OStatusPlugin.php:709 +#: OStatusPlugin.php:705 msgid "Leave" msgstr "" #. TRANS: Success message for unsubscribe from group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. -#: OStatusPlugin.php:712 +#: OStatusPlugin.php:708 #, php-format msgid "%1$s has left group %2$s." msgstr "" -#: OStatusPlugin.php:787 +#: OStatusPlugin.php:783 msgid "Disfavor" msgstr "" #. TRANS: Success message for remove a favorite notice through OStatus. #. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. -#: OStatusPlugin.php:790 +#: OStatusPlugin.php:786 #, php-format msgid "%1$s marked notice %2$s as no longer a favorite." msgstr "" #. TRANS: Link text for link to remote subscribe. -#: OStatusPlugin.php:866 +#: OStatusPlugin.php:862 msgid "Remote" msgstr "" #. TRANS: Title for activity. -#: OStatusPlugin.php:906 +#: OStatusPlugin.php:902 msgid "Profile update" msgstr "" #. TRANS: Ping text for remote profile update through OStatus. #. TRANS: %s is user that updated their profile. -#: OStatusPlugin.php:909 +#: OStatusPlugin.php:905 #, php-format msgid "%s has updated their profile page." msgstr "" #. TRANS: Plugin description. -#: OStatusPlugin.php:954 +#: OStatusPlugin.php:950 msgid "" "Follow people across social networks that implement <a href=\"http://ostatus." "org/\">OStatus</a>." @@ -344,16 +344,6 @@ msgid "Unable to find services for %s." msgstr "" #. TRANS: Exception. -#: lib/xrd.php:64 -msgid "Invalid XML." -msgstr "" - -#. TRANS: Exception. -#: lib/xrd.php:69 -msgid "Invalid XML, missing XRD root." -msgstr "" - -#. TRANS: Exception. #: lib/magicenvelope.php:80 msgid "Unable to locate signer public key." msgstr "" @@ -423,7 +413,7 @@ msgstr "" msgid "Invalid URL passed for %1$s: \"%2$s\"" msgstr "" -#: actions/userxrd.php:59 actions/ownerxrd.php:39 actions/usersalmon.php:43 +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 msgid "No such user." msgstr "" diff --git a/plugins/OStatus/locale/br/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/br/LC_MESSAGES/OStatus.po new file mode 100644 index 000000000..924e4039e --- /dev/null +++ b/plugins/OStatus/locale/br/LC_MESSAGES/OStatus.po @@ -0,0 +1,756 @@ +# Translation of StatusNet - OStatus to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OStatus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:02+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-ostatus\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Link description for link to subscribe to a remote user. +#. TRANS: Link text for a user to subscribe to an OStatus user. +#: OStatusPlugin.php:225 OStatusPlugin.php:935 +msgid "Subscribe" +msgstr "Koumanantiñ" + +#. TRANS: Link description for link to join a remote group. +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 +msgid "Join" +msgstr "Stagañ" + +#. TRANSLATE: %s is a domain. +#: OStatusPlugin.php:457 +#, php-format +msgid "Sent from %s via OStatus" +msgstr "Kaset adalek %s dre OStatus" + +#. TRANS: Exception. +#: OStatusPlugin.php:529 +msgid "Could not set up remote subscription." +msgstr "" + +#: OStatusPlugin.php:603 +msgid "Unfollow" +msgstr "Chom hep heuliañ" + +#. TRANS: Success message for unsubscribe from user attempt through OStatus. +#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. +#: OStatusPlugin.php:606 +#, php-format +msgid "%1$s stopped following %2$s." +msgstr "" + +#: OStatusPlugin.php:634 +msgid "Could not set up remote group membership." +msgstr "" + +#. TRANS: Success message for subscribe to group attempt through OStatus. +#. TRANS: %1$s is the member name, %2$s is the subscribed group's name. +#: OStatusPlugin.php:656 +#, php-format +msgid "%1$s has joined group %2$s." +msgstr "" + +#. TRANS: Exception. +#: OStatusPlugin.php:665 +msgid "Failed joining remote group." +msgstr "" + +#: OStatusPlugin.php:705 +msgid "Leave" +msgstr "Kuitaat" + +#. TRANS: Success message for unsubscribe from group attempt through OStatus. +#. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. +#: OStatusPlugin.php:708 +#, php-format +msgid "%1$s has left group %2$s." +msgstr "" + +#: OStatusPlugin.php:783 +msgid "Disfavor" +msgstr "" + +#. TRANS: Success message for remove a favorite notice through OStatus. +#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. +#: OStatusPlugin.php:786 +#, php-format +msgid "%1$s marked notice %2$s as no longer a favorite." +msgstr "" + +#. TRANS: Link text for link to remote subscribe. +#: OStatusPlugin.php:862 +msgid "Remote" +msgstr "" + +#. TRANS: Title for activity. +#: OStatusPlugin.php:902 +msgid "Profile update" +msgstr "" + +#. TRANS: Ping text for remote profile update through OStatus. +#. TRANS: %s is user that updated their profile. +#: OStatusPlugin.php:905 +#, php-format +msgid "%s has updated their profile page." +msgstr "" + +#. TRANS: Plugin description. +#: OStatusPlugin.php:950 +msgid "" +"Follow people across social networks that implement <a href=\"http://ostatus." +"org/\">OStatus</a>." +msgstr "" + +#: classes/FeedSub.php:252 +msgid "Attempting to start PuSH subscription for feed with no hub." +msgstr "" + +#: classes/FeedSub.php:282 +msgid "Attempting to end PuSH subscription for feed with no hub." +msgstr "" + +#. TRANS: Server exception. %s is a URI. +#: classes/Ostatus_profile.php:192 +#, php-format +msgid "Invalid ostatus_profile state: both group and profile IDs set for %s." +msgstr "" + +#. TRANS: Server exception. %s is a URI. +#: classes/Ostatus_profile.php:195 +#, php-format +msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s." +msgstr "" + +#. TRANS: Server exception. +#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type. +#: classes/Ostatus_profile.php:285 +#, php-format +msgid "Invalid actor passed to %1$s: %2$s." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:378 +msgid "" +"Invalid type passed to Ostatus_profile::notify. It must be XML string or " +"Activity entry." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:409 +msgid "Unknown feed format." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:433 +msgid "RSS feed without a channel." +msgstr "" + +#. TRANS: Client exception. +#: classes/Ostatus_profile.php:478 +msgid "Can't handle that kind of post." +msgstr "" + +#. TRANS: Client exception. %s is a source URI. +#: classes/Ostatus_profile.php:561 +#, php-format +msgid "No content for notice %s." +msgstr "" + +#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime +#. TRANS: this will usually be replaced with localised text from StatusNet core messages. +#: classes/Ostatus_profile.php:596 +msgid "Show more" +msgstr "Diskouez muioc'h" + +#. TRANS: Exception. %s is a profile URL. +#: classes/Ostatus_profile.php:789 +#, php-format +msgid "Could not reach profile page %s." +msgstr "" + +#. TRANS: Exception. %s is a URL. +#: classes/Ostatus_profile.php:847 +#, php-format +msgid "Could not find a feed URL for profile page %s." +msgstr "" + +#. TRANS: Feed sub exception. +#: classes/Ostatus_profile.php:985 +msgid "Can't find enough profile information to make a feed." +msgstr "" + +#. TRANS: Server exception. %s is a URL. +#: classes/Ostatus_profile.php:1045 +#, php-format +msgid "Invalid avatar URL %s." +msgstr "" + +#. TRANS: Server exception. %s is a URI. +#: classes/Ostatus_profile.php:1056 +#, php-format +msgid "Tried to update avatar for unsaved remote profile %s." +msgstr "" + +#. TRANS: Server exception. %s is a URL. +#: classes/Ostatus_profile.php:1066 +#, php-format +msgid "Unable to fetch avatar from %s." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:1292 +msgid "Local user can't be referenced as remote." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:1297 +msgid "Local group can't be referenced as remote." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360 +msgid "Can't save local profile." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:1368 +msgid "Can't save OStatus profile." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655 +msgid "Not a valid webfinger address." +msgstr "" + +#. TRANS: Exception. %s is a webfinger address. +#: classes/Ostatus_profile.php:1737 +#, php-format +msgid "Couldn't save profile for \"%s\"." +msgstr "" + +#. TRANS: Exception. %s is a webfinger address. +#: classes/Ostatus_profile.php:1756 +#, php-format +msgid "Couldn't save ostatus_profile for \"%s\"." +msgstr "" + +#. TRANS: Exception. %s is a webfinger address. +#: classes/Ostatus_profile.php:1764 +#, php-format +msgid "Couldn't find a valid profile for \"%s\"." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:1807 +msgid "Could not store HTML content of long post as file." +msgstr "" + +#. TRANS: Client exception. %s is a HTTP status code. +#: classes/HubSub.php:212 +#, php-format +msgid "Hub subscriber verification returned HTTP %s." +msgstr "" + +#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response. +#: classes/HubSub.php:359 +#, php-format +msgid "Callback returned status: %1$s. Body: %2$s" +msgstr "" + +#. TRANS: Client error. POST is a HTTP command. It should not be translated. +#: lib/salmonaction.php:42 +msgid "This method requires a POST." +msgstr "" + +#. TRANS: Client error. Do not translate "application/magic-envelope+xml" +#: lib/salmonaction.php:47 +msgid "Salmon requires \"application/magic-envelope+xml\"." +msgstr "" + +#. TRANS: Client error. +#: lib/salmonaction.php:57 +msgid "Salmon signature verification failed." +msgstr "" + +#. TRANS: Client error. +#: lib/salmonaction.php:69 +msgid "Salmon post must be an Atom entry." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:118 +msgid "Unrecognized activity type." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:127 +msgid "This target doesn't understand posts." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:133 +msgid "This target doesn't understand follows." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:139 +msgid "This target doesn't understand unfollows." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:145 +msgid "This target doesn't understand favorites." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:151 +msgid "This target doesn't understand unfavorites." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:157 +msgid "This target doesn't understand share events." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:163 +msgid "This target doesn't understand joins." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:169 +msgid "This target doesn't understand leave events." +msgstr "" + +#. TRANS: Exception. +#: lib/salmonaction.php:197 +msgid "Received a salmon slap from unidentified actor." +msgstr "" + +#. TRANS: Exception. +#: lib/discovery.php:110 +#, php-format +msgid "Unable to find services for %s." +msgstr "" + +#. TRANS: Exception. +#: lib/magicenvelope.php:80 +msgid "Unable to locate signer public key." +msgstr "" + +#. TRANS: Exception. +#: lib/salmon.php:93 +msgid "Salmon invalid actor for signing." +msgstr "" + +#: tests/gettext-speedtest.php:57 +msgid "Feeds" +msgstr "Lanvioù" + +#. TRANS: Client exception. +#: actions/pushhub.php:70 +msgid "Publishing outside feeds not supported." +msgstr "" + +#. TRANS: Client exception. %s is a mode. +#: actions/pushhub.php:73 +#, php-format +msgid "Unrecognized mode \"%s\"." +msgstr "" + +#. TRANS: Client exception. %s is a topic. +#: actions/pushhub.php:93 +#, php-format +msgid "" +"Unsupported hub.topic %s this hub only serves local user and group Atom " +"feeds." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:99 +#, php-format +msgid "Invalid hub.verify \"%s\". It must be sync or async." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:105 +#, php-format +msgid "Invalid hub.lease \"%s\". It must be empty or positive integer." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:113 +#, php-format +msgid "Invalid hub.secret \"%s\". It must be under 200 bytes." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:165 +#, php-format +msgid "Invalid hub.topic \"%s\". User doesn't exist." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:174 +#, php-format +msgid "Invalid hub.topic \"%s\". Group doesn't exist." +msgstr "" + +#. TRANS: Client exception. +#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL. +#: actions/pushhub.php:199 +#, php-format +msgid "Invalid URL passed for %1$s: \"%2$s\"" +msgstr "" + +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 +msgid "No such user." +msgstr "N'eus ket eus an implijer-se." + +#. TRANS: Client error. +#: actions/usersalmon.php:37 actions/groupsalmon.php:40 +msgid "No ID." +msgstr "ID ebet" + +#. TRANS: Client exception. +#: actions/usersalmon.php:81 +msgid "In reply to unknown notice." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:86 +msgid "In reply to a notice not by this user and not mentioning this user." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:163 +msgid "Could not save new favorite." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:195 +msgid "Can't favorite/unfavorite without an object." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:207 +msgid "Can't handle that kind of object for liking/faving." +msgstr "" + +#. TRANS: Client exception. %s is an object ID. +#: actions/usersalmon.php:214 +#, php-format +msgid "Notice with ID %s unknown." +msgstr "" + +#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID. +#: actions/usersalmon.php:219 +#, php-format +msgid "Notice with ID %1$s not posted by %2$s." +msgstr "" + +#. TRANS: Field label. +#: actions/ostatusgroup.php:78 +msgid "Join group" +msgstr "Mont er strollad" + +#. TRANS: Tooltip for field label "Join group". +#: actions/ostatusgroup.php:81 +msgid "OStatus group's address, like http://example.net/group/nickname." +msgstr "" + +#. TRANS: Button text. +#: actions/ostatusgroup.php:86 actions/ostatussub.php:75 +msgctxt "BUTTON" +msgid "Continue" +msgstr "Kenderc'hel" + +#: actions/ostatusgroup.php:105 +msgid "You are already a member of this group." +msgstr "" + +#. TRANS: OStatus remote group subscription dialog error. +#: actions/ostatusgroup.php:140 +msgid "Already a member!" +msgstr "Ezel oc'h dija !" + +#. TRANS: OStatus remote group subscription dialog error. +#: actions/ostatusgroup.php:151 +msgid "Remote group join failed!" +msgstr "" + +#. TRANS: OStatus remote group subscription dialog error. +#: actions/ostatusgroup.php:155 +msgid "Remote group join aborted!" +msgstr "" + +#. TRANS: Page title for OStatus remote group join form +#: actions/ostatusgroup.php:167 +msgid "Confirm joining remote group" +msgstr "" + +#. TRANS: Instructions. +#: actions/ostatusgroup.php:178 +msgid "" +"You can subscribe to groups from other supported sites. Paste the group's " +"profile URI below:" +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:47 +msgid "No such group." +msgstr "N'eus ket eus ar strollad-se." + +#. TRANS: Client error. +#: actions/groupsalmon.php:53 +msgid "Can't accept remote posts for a remote group." +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:127 +msgid "Can't read profile to set up group membership." +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:131 actions/groupsalmon.php:174 +msgid "Groups can't join groups." +msgstr "" + +#: actions/groupsalmon.php:144 +msgid "You have been blocked from that group by the admin." +msgstr "" + +#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname. +#: actions/groupsalmon.php:159 +#, php-format +msgid "Could not join remote user %1$s to group %2$s." +msgstr "" + +#: actions/groupsalmon.php:171 +msgid "Can't read profile to cancel group membership." +msgstr "" + +#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname. +#: actions/groupsalmon.php:188 +#, php-format +msgid "Could not remove remote user %1$s from group %2$s." +msgstr "" + +#. TRANS: Field label for a field that takes an OStatus user address. +#: actions/ostatussub.php:68 +msgid "Subscribe to" +msgstr "Koumanantiñ da" + +#. TRANS: Tooltip for field label "Subscribe to". +#: actions/ostatussub.php:71 +msgid "" +"OStatus user's address, like nickname@example.com or http://example.net/" +"nickname" +msgstr "" + +#. TRANS: Button text. +#. TRANS: Tooltip for button "Join". +#: actions/ostatussub.php:112 +msgctxt "BUTTON" +msgid "Join this group" +msgstr "Mont er strollad-se" + +#. TRANS: Button text. +#: actions/ostatussub.php:115 +msgctxt "BUTTON" +msgid "Confirm" +msgstr "Kadarnaat" + +#. TRANS: Tooltip for button "Confirm". +#: actions/ostatussub.php:117 +msgid "Subscribe to this user" +msgstr "" + +#: actions/ostatussub.php:138 +msgid "You are already subscribed to this user." +msgstr "" + +#: actions/ostatussub.php:167 +msgid "Photo" +msgstr "Skeudenn" + +#: actions/ostatussub.php:178 +msgid "Nickname" +msgstr "Lesanv" + +#: actions/ostatussub.php:199 +msgid "Location" +msgstr "Lec'hiadur" + +#: actions/ostatussub.php:208 +msgid "URL" +msgstr "URL" + +#: actions/ostatussub.php:220 +msgid "Note" +msgstr "Notenn" + +#. TRANS: Error text. +#: actions/ostatussub.php:256 actions/ostatussub.php:263 +#: actions/ostatussub.php:288 +msgid "" +"Sorry, we could not reach that address. Please make sure that the OStatus " +"address is like nickname@example.com or http://example.net/nickname." +msgstr "" + +#. TRANS: Error text. +#: actions/ostatussub.php:267 actions/ostatussub.php:271 +#: actions/ostatussub.php:275 actions/ostatussub.php:279 +#: actions/ostatussub.php:283 +msgid "" +"Sorry, we could not reach that feed. Please try that OStatus address again " +"later." +msgstr "" + +#. TRANS: OStatus remote subscription dialog error. +#: actions/ostatussub.php:317 +msgid "Already subscribed!" +msgstr "Koumanantet dija !" + +#. TRANS: OStatus remote subscription dialog error. +#: actions/ostatussub.php:322 +msgid "Remote subscription failed!" +msgstr "" + +#: actions/ostatussub.php:369 actions/ostatusinit.php:64 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#. TRANS: Form title. +#: actions/ostatussub.php:397 actions/ostatusinit.php:83 +msgid "Subscribe to user" +msgstr "En em goumanantiñ d'un implijer" + +#. TRANS: Page title for OStatus remote subscription form +#: actions/ostatussub.php:417 +msgid "Confirm" +msgstr "Kadarnaat" + +#. TRANS: Instructions. +#: actions/ostatussub.php:429 +msgid "" +"You can subscribe to users from other supported sites. Paste their address " +"or profile URI below:" +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:42 +msgid "You can use the local subscription!" +msgstr "" + +#. TRANS: Form legend. +#: actions/ostatusinit.php:98 +#, php-format +msgid "Join group %s" +msgstr "Mont er strollad %s" + +#. TRANS: Button text. +#: actions/ostatusinit.php:100 +msgctxt "BUTTON" +msgid "Join" +msgstr "Stagañ" + +#. TRANS: Form legend. +#: actions/ostatusinit.php:103 +#, php-format +msgid "Subscribe to %s" +msgstr "Koumanantiñ da %s" + +#. TRANS: Button text. +#: actions/ostatusinit.php:105 +msgctxt "BUTTON" +msgid "Subscribe" +msgstr "Koumanantiñ" + +#. TRANS: Field label. +#: actions/ostatusinit.php:118 +msgid "User nickname" +msgstr "Lesanv an implijer" + +#: actions/ostatusinit.php:119 +msgid "Nickname of the user you want to follow." +msgstr "Lesanv an implijer ho peus c'hoant heuliañ." + +#. TRANS: Field label. +#: actions/ostatusinit.php:124 +msgid "Profile Account" +msgstr "Kont profil" + +#. TRANS: Tooltip for field label "Profile Account". +#: actions/ostatusinit.php:126 +msgid "Your account id (e.g. user@identi.ca)." +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:148 +msgid "Must provide a remote profile." +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:160 +msgid "Couldn't look up OStatus account profile." +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:173 +msgid "Couldn't confirm remote profile address." +msgstr "" + +#. TRANS: Page title. +#: actions/ostatusinit.php:218 +msgid "OStatus Connect" +msgstr "" + +#: actions/pushcallback.php:50 +msgid "Empty or invalid feed id." +msgstr "" + +#. TRANS: Server exception. %s is a feed ID. +#: actions/pushcallback.php:56 +#, php-format +msgid "Unknown PuSH feed id %s" +msgstr "" + +#. TRANS: Client exception. %s is an invalid feed name. +#: actions/pushcallback.php:96 +#, php-format +msgid "Bad hub.topic feed \"%s\"." +msgstr "" + +#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given. +#: actions/pushcallback.php:101 +#, php-format +msgid "Bad hub.verify_token %1$s for %2$s." +msgstr "" + +#. TRANS: Client exception. %s is an invalid topic. +#: actions/pushcallback.php:108 +#, php-format +msgid "Unexpected subscribe request for %s." +msgstr "" + +#. TRANS: Client exception. %s is an invalid topic. +#: actions/pushcallback.php:113 +#, php-format +msgid "Unexpected unsubscribe request for %s." +msgstr "" diff --git a/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po index 2d0a49c31..b48ea90c6 100644 --- a/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po +++ b/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OStatus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-02 22:51+0000\n" -"PO-Revision-Date: 2010-11-02 22:54:51+0000\n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:58:00+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:45:02+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-ostatus\n" @@ -24,94 +24,94 @@ msgstr "" #. TRANS: Link description for link to subscribe to a remote user. #. TRANS: Link text for a user to subscribe to an OStatus user. -#: OStatusPlugin.php:229 OStatusPlugin.php:939 +#: OStatusPlugin.php:225 OStatusPlugin.php:935 msgid "Subscribe" msgstr "S'abonner" #. TRANS: Link description for link to join a remote group. -#: OStatusPlugin.php:248 OStatusPlugin.php:657 actions/ostatussub.php:109 +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 msgid "Join" msgstr "Rejoindre" #. TRANSLATE: %s is a domain. -#: OStatusPlugin.php:461 +#: OStatusPlugin.php:457 #, php-format msgid "Sent from %s via OStatus" msgstr "Envoyé depuis %s via OStatus" #. TRANS: Exception. -#: OStatusPlugin.php:533 +#: OStatusPlugin.php:529 msgid "Could not set up remote subscription." msgstr "Impossible de mettre en place l’abonnement distant." -#: OStatusPlugin.php:607 +#: OStatusPlugin.php:603 msgid "Unfollow" msgstr "Ne plus suivre" #. TRANS: Success message for unsubscribe from user attempt through OStatus. #. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. -#: OStatusPlugin.php:610 +#: OStatusPlugin.php:606 #, php-format msgid "%1$s stopped following %2$s." msgstr "%1$s a cessé de suivre %2$s." -#: OStatusPlugin.php:638 +#: OStatusPlugin.php:634 msgid "Could not set up remote group membership." msgstr "Impossible de mettre en place l’appartenance au groupe distant." #. TRANS: Success message for subscribe to group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the subscribed group's name. -#: OStatusPlugin.php:660 +#: OStatusPlugin.php:656 #, php-format msgid "%1$s has joined group %2$s." msgstr "%1$s a rejoint le groupe %2$s." #. TRANS: Exception. -#: OStatusPlugin.php:669 +#: OStatusPlugin.php:665 msgid "Failed joining remote group." msgstr "Échec lors de l’adhésion au groupe distant." -#: OStatusPlugin.php:709 +#: OStatusPlugin.php:705 msgid "Leave" msgstr "Sortir" #. TRANS: Success message for unsubscribe from group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. -#: OStatusPlugin.php:712 +#: OStatusPlugin.php:708 #, php-format msgid "%1$s has left group %2$s." msgstr "%1$s a quitté le groupe %2$s." -#: OStatusPlugin.php:787 +#: OStatusPlugin.php:783 msgid "Disfavor" msgstr "Retirer des favoris" #. TRANS: Success message for remove a favorite notice through OStatus. #. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. -#: OStatusPlugin.php:790 +#: OStatusPlugin.php:786 #, php-format msgid "%1$s marked notice %2$s as no longer a favorite." msgstr "%1$s a retiré l’avis %2$s de ses favoris." #. TRANS: Link text for link to remote subscribe. -#: OStatusPlugin.php:866 +#: OStatusPlugin.php:862 msgid "Remote" msgstr "À distance" #. TRANS: Title for activity. -#: OStatusPlugin.php:906 +#: OStatusPlugin.php:902 msgid "Profile update" msgstr "Mise à jour du profil" #. TRANS: Ping text for remote profile update through OStatus. #. TRANS: %s is user that updated their profile. -#: OStatusPlugin.php:909 +#: OStatusPlugin.php:905 #, php-format msgid "%s has updated their profile page." msgstr "%s a mis à jour sa page de profil." #. TRANS: Plugin description. -#: OStatusPlugin.php:954 +#: OStatusPlugin.php:950 msgid "" "Follow people across social networks that implement <a href=\"http://ostatus." "org/\">OStatus</a>." @@ -371,16 +371,6 @@ msgid "Unable to find services for %s." msgstr "Impossible de trouver des services pour « %s »." #. TRANS: Exception. -#: lib/xrd.php:64 -msgid "Invalid XML." -msgstr "XML invalide." - -#. TRANS: Exception. -#: lib/xrd.php:69 -msgid "Invalid XML, missing XRD root." -msgstr "XML invalide, racine XRD manquante." - -#. TRANS: Exception. #: lib/magicenvelope.php:80 msgid "Unable to locate signer public key." msgstr "Impossible de trouver la clé publique du signataire." @@ -459,7 +449,7 @@ msgstr "Le sujet de concentrateur « %s » est invalide. Le groupe n’existe pa msgid "Invalid URL passed for %1$s: \"%2$s\"" msgstr "URL invalide passée à la méthode « %1$s » : « %2$s »" -#: actions/userxrd.php:59 actions/ownerxrd.php:39 actions/usersalmon.php:43 +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 msgid "No such user." msgstr "Utilisateur inexistant." diff --git a/plugins/OStatus/locale/gl/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/gl/LC_MESSAGES/OStatus.po new file mode 100644 index 000000000..48874e907 --- /dev/null +++ b/plugins/OStatus/locale/gl/LC_MESSAGES/OStatus.po @@ -0,0 +1,756 @@ +# Translation of StatusNet - OStatus to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OStatus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:02+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-ostatus\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Link description for link to subscribe to a remote user. +#. TRANS: Link text for a user to subscribe to an OStatus user. +#: OStatusPlugin.php:225 OStatusPlugin.php:935 +msgid "Subscribe" +msgstr "Subscribirse" + +#. TRANS: Link description for link to join a remote group. +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 +msgid "Join" +msgstr "Unirse" + +#. TRANSLATE: %s is a domain. +#: OStatusPlugin.php:457 +#, php-format +msgid "Sent from %s via OStatus" +msgstr "" + +#. TRANS: Exception. +#: OStatusPlugin.php:529 +msgid "Could not set up remote subscription." +msgstr "" + +#: OStatusPlugin.php:603 +msgid "Unfollow" +msgstr "" + +#. TRANS: Success message for unsubscribe from user attempt through OStatus. +#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. +#: OStatusPlugin.php:606 +#, php-format +msgid "%1$s stopped following %2$s." +msgstr "" + +#: OStatusPlugin.php:634 +msgid "Could not set up remote group membership." +msgstr "" + +#. TRANS: Success message for subscribe to group attempt through OStatus. +#. TRANS: %1$s is the member name, %2$s is the subscribed group's name. +#: OStatusPlugin.php:656 +#, php-format +msgid "%1$s has joined group %2$s." +msgstr "" + +#. TRANS: Exception. +#: OStatusPlugin.php:665 +msgid "Failed joining remote group." +msgstr "" + +#: OStatusPlugin.php:705 +msgid "Leave" +msgstr "Deixar" + +#. TRANS: Success message for unsubscribe from group attempt through OStatus. +#. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. +#: OStatusPlugin.php:708 +#, php-format +msgid "%1$s has left group %2$s." +msgstr "" + +#: OStatusPlugin.php:783 +msgid "Disfavor" +msgstr "" + +#. TRANS: Success message for remove a favorite notice through OStatus. +#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. +#: OStatusPlugin.php:786 +#, php-format +msgid "%1$s marked notice %2$s as no longer a favorite." +msgstr "" + +#. TRANS: Link text for link to remote subscribe. +#: OStatusPlugin.php:862 +msgid "Remote" +msgstr "" + +#. TRANS: Title for activity. +#: OStatusPlugin.php:902 +msgid "Profile update" +msgstr "Actualización do perfil" + +#. TRANS: Ping text for remote profile update through OStatus. +#. TRANS: %s is user that updated their profile. +#: OStatusPlugin.php:905 +#, php-format +msgid "%s has updated their profile page." +msgstr "" + +#. TRANS: Plugin description. +#: OStatusPlugin.php:950 +msgid "" +"Follow people across social networks that implement <a href=\"http://ostatus." +"org/\">OStatus</a>." +msgstr "" + +#: classes/FeedSub.php:252 +msgid "Attempting to start PuSH subscription for feed with no hub." +msgstr "" + +#: classes/FeedSub.php:282 +msgid "Attempting to end PuSH subscription for feed with no hub." +msgstr "" + +#. TRANS: Server exception. %s is a URI. +#: classes/Ostatus_profile.php:192 +#, php-format +msgid "Invalid ostatus_profile state: both group and profile IDs set for %s." +msgstr "" + +#. TRANS: Server exception. %s is a URI. +#: classes/Ostatus_profile.php:195 +#, php-format +msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s." +msgstr "" + +#. TRANS: Server exception. +#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type. +#: classes/Ostatus_profile.php:285 +#, php-format +msgid "Invalid actor passed to %1$s: %2$s." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:378 +msgid "" +"Invalid type passed to Ostatus_profile::notify. It must be XML string or " +"Activity entry." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:409 +msgid "Unknown feed format." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:433 +msgid "RSS feed without a channel." +msgstr "" + +#. TRANS: Client exception. +#: classes/Ostatus_profile.php:478 +msgid "Can't handle that kind of post." +msgstr "" + +#. TRANS: Client exception. %s is a source URI. +#: classes/Ostatus_profile.php:561 +#, php-format +msgid "No content for notice %s." +msgstr "" + +#. TRANS: Shown when a notice is longer than supported and/or when attachments are present. At runtime +#. TRANS: this will usually be replaced with localised text from StatusNet core messages. +#: classes/Ostatus_profile.php:596 +msgid "Show more" +msgstr "Mostrar máis" + +#. TRANS: Exception. %s is a profile URL. +#: classes/Ostatus_profile.php:789 +#, php-format +msgid "Could not reach profile page %s." +msgstr "" + +#. TRANS: Exception. %s is a URL. +#: classes/Ostatus_profile.php:847 +#, php-format +msgid "Could not find a feed URL for profile page %s." +msgstr "" + +#. TRANS: Feed sub exception. +#: classes/Ostatus_profile.php:985 +msgid "Can't find enough profile information to make a feed." +msgstr "" + +#. TRANS: Server exception. %s is a URL. +#: classes/Ostatus_profile.php:1045 +#, php-format +msgid "Invalid avatar URL %s." +msgstr "" + +#. TRANS: Server exception. %s is a URI. +#: classes/Ostatus_profile.php:1056 +#, php-format +msgid "Tried to update avatar for unsaved remote profile %s." +msgstr "" + +#. TRANS: Server exception. %s is a URL. +#: classes/Ostatus_profile.php:1066 +#, php-format +msgid "Unable to fetch avatar from %s." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:1292 +msgid "Local user can't be referenced as remote." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:1297 +msgid "Local group can't be referenced as remote." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:1349 classes/Ostatus_profile.php:1360 +msgid "Can't save local profile." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:1368 +msgid "Can't save OStatus profile." +msgstr "" + +#. TRANS: Exception. +#: classes/Ostatus_profile.php:1627 classes/Ostatus_profile.php:1655 +msgid "Not a valid webfinger address." +msgstr "" + +#. TRANS: Exception. %s is a webfinger address. +#: classes/Ostatus_profile.php:1737 +#, php-format +msgid "Couldn't save profile for \"%s\"." +msgstr "" + +#. TRANS: Exception. %s is a webfinger address. +#: classes/Ostatus_profile.php:1756 +#, php-format +msgid "Couldn't save ostatus_profile for \"%s\"." +msgstr "" + +#. TRANS: Exception. %s is a webfinger address. +#: classes/Ostatus_profile.php:1764 +#, php-format +msgid "Couldn't find a valid profile for \"%s\"." +msgstr "" + +#. TRANS: Server exception. +#: classes/Ostatus_profile.php:1807 +msgid "Could not store HTML content of long post as file." +msgstr "" + +#. TRANS: Client exception. %s is a HTTP status code. +#: classes/HubSub.php:212 +#, php-format +msgid "Hub subscriber verification returned HTTP %s." +msgstr "" + +#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response. +#: classes/HubSub.php:359 +#, php-format +msgid "Callback returned status: %1$s. Body: %2$s" +msgstr "" + +#. TRANS: Client error. POST is a HTTP command. It should not be translated. +#: lib/salmonaction.php:42 +msgid "This method requires a POST." +msgstr "" + +#. TRANS: Client error. Do not translate "application/magic-envelope+xml" +#: lib/salmonaction.php:47 +msgid "Salmon requires \"application/magic-envelope+xml\"." +msgstr "" + +#. TRANS: Client error. +#: lib/salmonaction.php:57 +msgid "Salmon signature verification failed." +msgstr "" + +#. TRANS: Client error. +#: lib/salmonaction.php:69 +msgid "Salmon post must be an Atom entry." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:118 +msgid "Unrecognized activity type." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:127 +msgid "This target doesn't understand posts." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:133 +msgid "This target doesn't understand follows." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:139 +msgid "This target doesn't understand unfollows." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:145 +msgid "This target doesn't understand favorites." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:151 +msgid "This target doesn't understand unfavorites." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:157 +msgid "This target doesn't understand share events." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:163 +msgid "This target doesn't understand joins." +msgstr "" + +#. TRANS: Client exception. +#: lib/salmonaction.php:169 +msgid "This target doesn't understand leave events." +msgstr "" + +#. TRANS: Exception. +#: lib/salmonaction.php:197 +msgid "Received a salmon slap from unidentified actor." +msgstr "" + +#. TRANS: Exception. +#: lib/discovery.php:110 +#, php-format +msgid "Unable to find services for %s." +msgstr "" + +#. TRANS: Exception. +#: lib/magicenvelope.php:80 +msgid "Unable to locate signer public key." +msgstr "" + +#. TRANS: Exception. +#: lib/salmon.php:93 +msgid "Salmon invalid actor for signing." +msgstr "" + +#: tests/gettext-speedtest.php:57 +msgid "Feeds" +msgstr "Fontes de novas" + +#. TRANS: Client exception. +#: actions/pushhub.php:70 +msgid "Publishing outside feeds not supported." +msgstr "" + +#. TRANS: Client exception. %s is a mode. +#: actions/pushhub.php:73 +#, php-format +msgid "Unrecognized mode \"%s\"." +msgstr "" + +#. TRANS: Client exception. %s is a topic. +#: actions/pushhub.php:93 +#, php-format +msgid "" +"Unsupported hub.topic %s this hub only serves local user and group Atom " +"feeds." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:99 +#, php-format +msgid "Invalid hub.verify \"%s\". It must be sync or async." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:105 +#, php-format +msgid "Invalid hub.lease \"%s\". It must be empty or positive integer." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:113 +#, php-format +msgid "Invalid hub.secret \"%s\". It must be under 200 bytes." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:165 +#, php-format +msgid "Invalid hub.topic \"%s\". User doesn't exist." +msgstr "" + +#. TRANS: Client exception. +#: actions/pushhub.php:174 +#, php-format +msgid "Invalid hub.topic \"%s\". Group doesn't exist." +msgstr "" + +#. TRANS: Client exception. +#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL. +#: actions/pushhub.php:199 +#, php-format +msgid "Invalid URL passed for %1$s: \"%2$s\"" +msgstr "" + +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 +msgid "No such user." +msgstr "" + +#. TRANS: Client error. +#: actions/usersalmon.php:37 actions/groupsalmon.php:40 +msgid "No ID." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:81 +msgid "In reply to unknown notice." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:86 +msgid "In reply to a notice not by this user and not mentioning this user." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:163 +msgid "Could not save new favorite." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:195 +msgid "Can't favorite/unfavorite without an object." +msgstr "" + +#. TRANS: Client exception. +#: actions/usersalmon.php:207 +msgid "Can't handle that kind of object for liking/faving." +msgstr "" + +#. TRANS: Client exception. %s is an object ID. +#: actions/usersalmon.php:214 +#, php-format +msgid "Notice with ID %s unknown." +msgstr "" + +#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID. +#: actions/usersalmon.php:219 +#, php-format +msgid "Notice with ID %1$s not posted by %2$s." +msgstr "" + +#. TRANS: Field label. +#: actions/ostatusgroup.php:78 +msgid "Join group" +msgstr "Unirse ao grupo" + +#. TRANS: Tooltip for field label "Join group". +#: actions/ostatusgroup.php:81 +msgid "OStatus group's address, like http://example.net/group/nickname." +msgstr "" + +#. TRANS: Button text. +#: actions/ostatusgroup.php:86 actions/ostatussub.php:75 +msgctxt "BUTTON" +msgid "Continue" +msgstr "" + +#: actions/ostatusgroup.php:105 +msgid "You are already a member of this group." +msgstr "" + +#. TRANS: OStatus remote group subscription dialog error. +#: actions/ostatusgroup.php:140 +msgid "Already a member!" +msgstr "" + +#. TRANS: OStatus remote group subscription dialog error. +#: actions/ostatusgroup.php:151 +msgid "Remote group join failed!" +msgstr "" + +#. TRANS: OStatus remote group subscription dialog error. +#: actions/ostatusgroup.php:155 +msgid "Remote group join aborted!" +msgstr "" + +#. TRANS: Page title for OStatus remote group join form +#: actions/ostatusgroup.php:167 +msgid "Confirm joining remote group" +msgstr "" + +#. TRANS: Instructions. +#: actions/ostatusgroup.php:178 +msgid "" +"You can subscribe to groups from other supported sites. Paste the group's " +"profile URI below:" +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:47 +msgid "No such group." +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:53 +msgid "Can't accept remote posts for a remote group." +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:127 +msgid "Can't read profile to set up group membership." +msgstr "" + +#. TRANS: Client error. +#: actions/groupsalmon.php:131 actions/groupsalmon.php:174 +msgid "Groups can't join groups." +msgstr "" + +#: actions/groupsalmon.php:144 +msgid "You have been blocked from that group by the admin." +msgstr "" + +#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname. +#: actions/groupsalmon.php:159 +#, php-format +msgid "Could not join remote user %1$s to group %2$s." +msgstr "" + +#: actions/groupsalmon.php:171 +msgid "Can't read profile to cancel group membership." +msgstr "" + +#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname. +#: actions/groupsalmon.php:188 +#, php-format +msgid "Could not remove remote user %1$s from group %2$s." +msgstr "" + +#. TRANS: Field label for a field that takes an OStatus user address. +#: actions/ostatussub.php:68 +msgid "Subscribe to" +msgstr "Subscribirse a" + +#. TRANS: Tooltip for field label "Subscribe to". +#: actions/ostatussub.php:71 +msgid "" +"OStatus user's address, like nickname@example.com or http://example.net/" +"nickname" +msgstr "" + +#. TRANS: Button text. +#. TRANS: Tooltip for button "Join". +#: actions/ostatussub.php:112 +msgctxt "BUTTON" +msgid "Join this group" +msgstr "Unirse a este grupo" + +#. TRANS: Button text. +#: actions/ostatussub.php:115 +msgctxt "BUTTON" +msgid "Confirm" +msgstr "Confirmar" + +#. TRANS: Tooltip for button "Confirm". +#: actions/ostatussub.php:117 +msgid "Subscribe to this user" +msgstr "Subscribirse a este usuario" + +#: actions/ostatussub.php:138 +msgid "You are already subscribed to this user." +msgstr "Xa está subscrito a este usuario." + +#: actions/ostatussub.php:167 +msgid "Photo" +msgstr "Foto" + +#: actions/ostatussub.php:178 +msgid "Nickname" +msgstr "Alcume" + +#: actions/ostatussub.php:199 +msgid "Location" +msgstr "Localización" + +#: actions/ostatussub.php:208 +msgid "URL" +msgstr "URL" + +#: actions/ostatussub.php:220 +msgid "Note" +msgstr "Nota" + +#. TRANS: Error text. +#: actions/ostatussub.php:256 actions/ostatussub.php:263 +#: actions/ostatussub.php:288 +msgid "" +"Sorry, we could not reach that address. Please make sure that the OStatus " +"address is like nickname@example.com or http://example.net/nickname." +msgstr "" + +#. TRANS: Error text. +#: actions/ostatussub.php:267 actions/ostatussub.php:271 +#: actions/ostatussub.php:275 actions/ostatussub.php:279 +#: actions/ostatussub.php:283 +msgid "" +"Sorry, we could not reach that feed. Please try that OStatus address again " +"later." +msgstr "" + +#. TRANS: OStatus remote subscription dialog error. +#: actions/ostatussub.php:317 +msgid "Already subscribed!" +msgstr "Xa está subscrito!" + +#. TRANS: OStatus remote subscription dialog error. +#: actions/ostatussub.php:322 +msgid "Remote subscription failed!" +msgstr "" + +#: actions/ostatussub.php:369 actions/ostatusinit.php:64 +msgid "There was a problem with your session token. Try again, please." +msgstr "Houbo un erro co seu pase. Inténteo de novo." + +#. TRANS: Form title. +#: actions/ostatussub.php:397 actions/ostatusinit.php:83 +msgid "Subscribe to user" +msgstr "Subscribirse ao usuario" + +#. TRANS: Page title for OStatus remote subscription form +#: actions/ostatussub.php:417 +msgid "Confirm" +msgstr "Confirmar" + +#. TRANS: Instructions. +#: actions/ostatussub.php:429 +msgid "" +"You can subscribe to users from other supported sites. Paste their address " +"or profile URI below:" +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:42 +msgid "You can use the local subscription!" +msgstr "Pode usar a subscrición local!" + +#. TRANS: Form legend. +#: actions/ostatusinit.php:98 +#, php-format +msgid "Join group %s" +msgstr "Unirse ao grupo \"%s\"" + +#. TRANS: Button text. +#: actions/ostatusinit.php:100 +msgctxt "BUTTON" +msgid "Join" +msgstr "Unirse" + +#. TRANS: Form legend. +#: actions/ostatusinit.php:103 +#, php-format +msgid "Subscribe to %s" +msgstr "Subscribirse a %s" + +#. TRANS: Button text. +#: actions/ostatusinit.php:105 +msgctxt "BUTTON" +msgid "Subscribe" +msgstr "Subscribirse" + +#. TRANS: Field label. +#: actions/ostatusinit.php:118 +msgid "User nickname" +msgstr "Alcume do usuario" + +#: actions/ostatusinit.php:119 +msgid "Nickname of the user you want to follow." +msgstr "Alcume do usuario ao que quere seguir." + +#. TRANS: Field label. +#: actions/ostatusinit.php:124 +msgid "Profile Account" +msgstr "Conta de perfil" + +#. TRANS: Tooltip for field label "Profile Account". +#: actions/ostatusinit.php:126 +msgid "Your account id (e.g. user@identi.ca)." +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:148 +msgid "Must provide a remote profile." +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:160 +msgid "Couldn't look up OStatus account profile." +msgstr "" + +#. TRANS: Client error. +#: actions/ostatusinit.php:173 +msgid "Couldn't confirm remote profile address." +msgstr "" + +#. TRANS: Page title. +#: actions/ostatusinit.php:218 +msgid "OStatus Connect" +msgstr "" + +#: actions/pushcallback.php:50 +msgid "Empty or invalid feed id." +msgstr "" + +#. TRANS: Server exception. %s is a feed ID. +#: actions/pushcallback.php:56 +#, php-format +msgid "Unknown PuSH feed id %s" +msgstr "" + +#. TRANS: Client exception. %s is an invalid feed name. +#: actions/pushcallback.php:96 +#, php-format +msgid "Bad hub.topic feed \"%s\"." +msgstr "" + +#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given. +#: actions/pushcallback.php:101 +#, php-format +msgid "Bad hub.verify_token %1$s for %2$s." +msgstr "" + +#. TRANS: Client exception. %s is an invalid topic. +#: actions/pushcallback.php:108 +#, php-format +msgid "Unexpected subscribe request for %s." +msgstr "" + +#. TRANS: Client exception. %s is an invalid topic. +#: actions/pushcallback.php:113 +#, php-format +msgid "Unexpected unsubscribe request for %s." +msgstr "" diff --git a/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po index f2f322de0..7a6f4c6b1 100644 --- a/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po +++ b/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OStatus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-02 22:51+0000\n" -"PO-Revision-Date: 2010-11-02 22:54:51+0000\n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:58:00+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:45:02+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-ostatus\n" @@ -23,94 +23,94 @@ msgstr "" #. TRANS: Link description for link to subscribe to a remote user. #. TRANS: Link text for a user to subscribe to an OStatus user. -#: OStatusPlugin.php:229 OStatusPlugin.php:939 +#: OStatusPlugin.php:225 OStatusPlugin.php:935 msgid "Subscribe" msgstr "Subscriber" #. TRANS: Link description for link to join a remote group. -#: OStatusPlugin.php:248 OStatusPlugin.php:657 actions/ostatussub.php:109 +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 msgid "Join" msgstr "Inscriber" #. TRANSLATE: %s is a domain. -#: OStatusPlugin.php:461 +#: OStatusPlugin.php:457 #, php-format msgid "Sent from %s via OStatus" msgstr "Inviate de %s via OStatus" #. TRANS: Exception. -#: OStatusPlugin.php:533 +#: OStatusPlugin.php:529 msgid "Could not set up remote subscription." msgstr "Non poteva configurar le subscription remote." -#: OStatusPlugin.php:607 +#: OStatusPlugin.php:603 msgid "Unfollow" msgstr "Non plus sequer" #. TRANS: Success message for unsubscribe from user attempt through OStatus. #. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. -#: OStatusPlugin.php:610 +#: OStatusPlugin.php:606 #, php-format msgid "%1$s stopped following %2$s." msgstr "%1$s cessava de sequer %2$s." -#: OStatusPlugin.php:638 +#: OStatusPlugin.php:634 msgid "Could not set up remote group membership." msgstr "Non poteva configurar le membrato del gruppo remote." #. TRANS: Success message for subscribe to group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the subscribed group's name. -#: OStatusPlugin.php:660 +#: OStatusPlugin.php:656 #, php-format msgid "%1$s has joined group %2$s." msgstr "%1$s se ha jungite al gruppo %2$s." #. TRANS: Exception. -#: OStatusPlugin.php:669 +#: OStatusPlugin.php:665 msgid "Failed joining remote group." msgstr "Falleva de facer se membro del gruppo remote." -#: OStatusPlugin.php:709 +#: OStatusPlugin.php:705 msgid "Leave" msgstr "Quitar" #. TRANS: Success message for unsubscribe from group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. -#: OStatusPlugin.php:712 +#: OStatusPlugin.php:708 #, php-format msgid "%1$s has left group %2$s." msgstr "%1$s ha quitate le gruppo %2$s." -#: OStatusPlugin.php:787 +#: OStatusPlugin.php:783 msgid "Disfavor" msgstr "Disfavorir" #. TRANS: Success message for remove a favorite notice through OStatus. #. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. -#: OStatusPlugin.php:790 +#: OStatusPlugin.php:786 #, php-format msgid "%1$s marked notice %2$s as no longer a favorite." msgstr "%1$s marcava le nota %2$s como non plus favorite." #. TRANS: Link text for link to remote subscribe. -#: OStatusPlugin.php:866 +#: OStatusPlugin.php:862 msgid "Remote" msgstr "Remote" #. TRANS: Title for activity. -#: OStatusPlugin.php:906 +#: OStatusPlugin.php:902 msgid "Profile update" msgstr "Actualisation de profilo" #. TRANS: Ping text for remote profile update through OStatus. #. TRANS: %s is user that updated their profile. -#: OStatusPlugin.php:909 +#: OStatusPlugin.php:905 #, php-format msgid "%s has updated their profile page." msgstr "%s ha actualisate su pagina de profilo." #. TRANS: Plugin description. -#: OStatusPlugin.php:954 +#: OStatusPlugin.php:950 msgid "" "Follow people across social networks that implement <a href=\"http://ostatus." "org/\">OStatus</a>." @@ -356,16 +356,6 @@ msgid "Unable to find services for %s." msgstr "Incapace de trovar servicios pro %s." #. TRANS: Exception. -#: lib/xrd.php:64 -msgid "Invalid XML." -msgstr "XML invalide." - -#. TRANS: Exception. -#: lib/xrd.php:69 -msgid "Invalid XML, missing XRD root." -msgstr "XML invalide, radice XRD mancante." - -#. TRANS: Exception. #: lib/magicenvelope.php:80 msgid "Unable to locate signer public key." msgstr "Incapace de localisar le clave public del signator." @@ -438,7 +428,7 @@ msgstr "Invalide hub.topic \"%s\". Gruppo non existe." msgid "Invalid URL passed for %1$s: \"%2$s\"" msgstr "Invalide URL passate pro %1$s: \"%2$s\"" -#: actions/userxrd.php:59 actions/ownerxrd.php:39 actions/usersalmon.php:43 +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 msgid "No such user." msgstr "Iste usator non existe." diff --git a/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po index fe2cb7e10..4512fe5cb 100644 --- a/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po +++ b/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OStatus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-02 22:51+0000\n" -"PO-Revision-Date: 2010-11-02 22:54:51+0000\n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:58:00+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:45:02+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-ostatus\n" @@ -23,94 +23,94 @@ msgstr "" #. TRANS: Link description for link to subscribe to a remote user. #. TRANS: Link text for a user to subscribe to an OStatus user. -#: OStatusPlugin.php:229 OStatusPlugin.php:939 +#: OStatusPlugin.php:225 OStatusPlugin.php:935 msgid "Subscribe" msgstr "Претплати се" #. TRANS: Link description for link to join a remote group. -#: OStatusPlugin.php:248 OStatusPlugin.php:657 actions/ostatussub.php:109 +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 msgid "Join" msgstr "Зачлени се" #. TRANSLATE: %s is a domain. -#: OStatusPlugin.php:461 +#: OStatusPlugin.php:457 #, php-format msgid "Sent from %s via OStatus" msgstr "Испратено од %s преку OStatus" #. TRANS: Exception. -#: OStatusPlugin.php:533 +#: OStatusPlugin.php:529 msgid "Could not set up remote subscription." msgstr "Не можев да ја поставам далечинската претплата." -#: OStatusPlugin.php:607 +#: OStatusPlugin.php:603 msgid "Unfollow" msgstr "Престани со следење" #. TRANS: Success message for unsubscribe from user attempt through OStatus. #. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. -#: OStatusPlugin.php:610 +#: OStatusPlugin.php:606 #, php-format msgid "%1$s stopped following %2$s." msgstr "%1$s престана да го/ја следи %2$s." -#: OStatusPlugin.php:638 +#: OStatusPlugin.php:634 msgid "Could not set up remote group membership." msgstr "Не можев да го поставам членството во далечинската група." #. TRANS: Success message for subscribe to group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the subscribed group's name. -#: OStatusPlugin.php:660 +#: OStatusPlugin.php:656 #, php-format msgid "%1$s has joined group %2$s." msgstr "%1$s се зачлени во групата %2$s." #. TRANS: Exception. -#: OStatusPlugin.php:669 +#: OStatusPlugin.php:665 msgid "Failed joining remote group." msgstr "Не успеав да Ве зачленам во далечинската група." -#: OStatusPlugin.php:709 +#: OStatusPlugin.php:705 msgid "Leave" msgstr "Напушти" #. TRANS: Success message for unsubscribe from group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. -#: OStatusPlugin.php:712 +#: OStatusPlugin.php:708 #, php-format msgid "%1$s has left group %2$s." msgstr "%1$s ја напушти групата %2$s." -#: OStatusPlugin.php:787 +#: OStatusPlugin.php:783 msgid "Disfavor" msgstr "Откажи бендисана" #. TRANS: Success message for remove a favorite notice through OStatus. #. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. -#: OStatusPlugin.php:790 +#: OStatusPlugin.php:786 #, php-format msgid "%1$s marked notice %2$s as no longer a favorite." msgstr "%1$s повеќе не ја бендисува забелешката %2$s." #. TRANS: Link text for link to remote subscribe. -#: OStatusPlugin.php:866 +#: OStatusPlugin.php:862 msgid "Remote" msgstr "Далечински" #. TRANS: Title for activity. -#: OStatusPlugin.php:906 +#: OStatusPlugin.php:902 msgid "Profile update" msgstr "Поднова на профил" #. TRANS: Ping text for remote profile update through OStatus. #. TRANS: %s is user that updated their profile. -#: OStatusPlugin.php:909 +#: OStatusPlugin.php:905 #, php-format msgid "%s has updated their profile page." msgstr "%s ја поднови својата профилна страница." #. TRANS: Plugin description. -#: OStatusPlugin.php:954 +#: OStatusPlugin.php:950 msgid "" "Follow people across social networks that implement <a href=\"http://ostatus." "org/\">OStatus</a>." @@ -360,16 +360,6 @@ msgid "Unable to find services for %s." msgstr "Не можев да најдам служби за %s." #. TRANS: Exception. -#: lib/xrd.php:64 -msgid "Invalid XML." -msgstr "Неважечко XML." - -#. TRANS: Exception. -#: lib/xrd.php:69 -msgid "Invalid XML, missing XRD root." -msgstr "Неважечко XML. Нема XRD-основа." - -#. TRANS: Exception. #: lib/magicenvelope.php:80 msgid "Unable to locate signer public key." msgstr "Не можам да го пронајдам јавниот клуч на потписникот." @@ -441,7 +431,7 @@ msgstr "Неважечки hub.topic „%s“. Групата не постои. msgid "Invalid URL passed for %1$s: \"%2$s\"" msgstr "Добив неважечка URL-адреса за %1$s: „%2$s“" -#: actions/userxrd.php:59 actions/ownerxrd.php:39 actions/usersalmon.php:43 +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 msgid "No such user." msgstr "Нема таков корисник." diff --git a/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po index d37b8cb01..7762aed33 100644 --- a/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po +++ b/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OStatus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-02 22:51+0000\n" -"PO-Revision-Date: 2010-11-02 22:54:51+0000\n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:58:00+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:45:02+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-ostatus\n" @@ -24,39 +24,39 @@ msgstr "" #. TRANS: Link description for link to subscribe to a remote user. #. TRANS: Link text for a user to subscribe to an OStatus user. -#: OStatusPlugin.php:229 OStatusPlugin.php:939 +#: OStatusPlugin.php:225 OStatusPlugin.php:935 msgid "Subscribe" msgstr "Abonneren" #. TRANS: Link description for link to join a remote group. -#: OStatusPlugin.php:248 OStatusPlugin.php:657 actions/ostatussub.php:109 +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 msgid "Join" msgstr "Toetreden" #. TRANSLATE: %s is a domain. -#: OStatusPlugin.php:461 +#: OStatusPlugin.php:457 #, php-format msgid "Sent from %s via OStatus" msgstr "Verzonden vanaf %s via OStatus" #. TRANS: Exception. -#: OStatusPlugin.php:533 +#: OStatusPlugin.php:529 msgid "Could not set up remote subscription." msgstr "" "Het was niet mogelijk het abonnement via een andere dienst in te stellen." -#: OStatusPlugin.php:607 +#: OStatusPlugin.php:603 msgid "Unfollow" msgstr "Niet langer volgen" #. TRANS: Success message for unsubscribe from user attempt through OStatus. #. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. -#: OStatusPlugin.php:610 +#: OStatusPlugin.php:606 #, php-format msgid "%1$s stopped following %2$s." msgstr "%1$s volgt %2$s niet langer." -#: OStatusPlugin.php:638 +#: OStatusPlugin.php:634 msgid "Could not set up remote group membership." msgstr "" "Het was niet mogelijk het groepslidmaatschap via een andere dienst in te " @@ -64,58 +64,58 @@ msgstr "" #. TRANS: Success message for subscribe to group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the subscribed group's name. -#: OStatusPlugin.php:660 +#: OStatusPlugin.php:656 #, php-format msgid "%1$s has joined group %2$s." msgstr "%1$s is lid geworden van de groep %2$s." #. TRANS: Exception. -#: OStatusPlugin.php:669 +#: OStatusPlugin.php:665 msgid "Failed joining remote group." msgstr "" "Het was niet mogelijk toe te streden to de groep van een andere dienst." -#: OStatusPlugin.php:709 +#: OStatusPlugin.php:705 msgid "Leave" msgstr "Verlaten" #. TRANS: Success message for unsubscribe from group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. -#: OStatusPlugin.php:712 +#: OStatusPlugin.php:708 #, php-format msgid "%1$s has left group %2$s." msgstr "%1$s heeft de groep %2$s verlaten" -#: OStatusPlugin.php:787 +#: OStatusPlugin.php:783 msgid "Disfavor" msgstr "Uit favorieten verwijderen" #. TRANS: Success message for remove a favorite notice through OStatus. #. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. -#: OStatusPlugin.php:790 +#: OStatusPlugin.php:786 #, php-format msgid "%1$s marked notice %2$s as no longer a favorite." msgstr "%1$s heeft de mededeling %2$s als favoriet verwijderd." #. TRANS: Link text for link to remote subscribe. -#: OStatusPlugin.php:866 +#: OStatusPlugin.php:862 msgid "Remote" msgstr "Via andere dienst" #. TRANS: Title for activity. -#: OStatusPlugin.php:906 +#: OStatusPlugin.php:902 msgid "Profile update" msgstr "Profielupdate" #. TRANS: Ping text for remote profile update through OStatus. #. TRANS: %s is user that updated their profile. -#: OStatusPlugin.php:909 +#: OStatusPlugin.php:905 #, php-format msgid "%s has updated their profile page." msgstr "Het profiel van %s is bijgewerkt." #. TRANS: Plugin description. -#: OStatusPlugin.php:954 +#: OStatusPlugin.php:950 msgid "" "Follow people across social networks that implement <a href=\"http://ostatus." "org/\">OStatus</a>." @@ -373,16 +373,6 @@ msgid "Unable to find services for %s." msgstr "Het was niet mogelijk diensten te vinden voor %s." #. TRANS: Exception. -#: lib/xrd.php:64 -msgid "Invalid XML." -msgstr "Ongeldige XML." - -#. TRANS: Exception. -#: lib/xrd.php:69 -msgid "Invalid XML, missing XRD root." -msgstr "Ongeldige XML. De XRD-root mist." - -#. TRANS: Exception. #: lib/magicenvelope.php:80 msgid "Unable to locate signer public key." msgstr "" @@ -459,7 +449,7 @@ msgstr "Ongeldig hub.topic \"%s\". De groep bestaat niet." msgid "Invalid URL passed for %1$s: \"%2$s\"" msgstr "Er is een ongeldige URL doorgegeven voor %1$s: \"%2$s\"" -#: actions/userxrd.php:59 actions/ownerxrd.php:39 actions/usersalmon.php:43 +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 msgid "No such user." msgstr "Onbekende gebruiker." diff --git a/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po index 88ba205b1..98f3a4fe7 100644 --- a/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po +++ b/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OStatus\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-02 22:51+0000\n" -"PO-Revision-Date: 2010-11-02 22:54:51+0000\n" +"POT-Creation-Date: 2010-11-30 16:54+0000\n" +"PO-Revision-Date: 2010-11-30 16:58:00+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75875); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:45:02+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77474); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-ostatus\n" @@ -24,94 +24,94 @@ msgstr "" #. TRANS: Link description for link to subscribe to a remote user. #. TRANS: Link text for a user to subscribe to an OStatus user. -#: OStatusPlugin.php:229 OStatusPlugin.php:939 +#: OStatusPlugin.php:225 OStatusPlugin.php:935 msgid "Subscribe" msgstr "Підписатись" #. TRANS: Link description for link to join a remote group. -#: OStatusPlugin.php:248 OStatusPlugin.php:657 actions/ostatussub.php:109 +#: OStatusPlugin.php:244 OStatusPlugin.php:653 actions/ostatussub.php:109 msgid "Join" msgstr "Приєднатися" #. TRANSLATE: %s is a domain. -#: OStatusPlugin.php:461 +#: OStatusPlugin.php:457 #, php-format msgid "Sent from %s via OStatus" msgstr "Надіслано з %s через OStatus" #. TRANS: Exception. -#: OStatusPlugin.php:533 +#: OStatusPlugin.php:529 msgid "Could not set up remote subscription." msgstr "Не вдалося створити віддалену підписку." -#: OStatusPlugin.php:607 +#: OStatusPlugin.php:603 msgid "Unfollow" msgstr "Не читати" #. TRANS: Success message for unsubscribe from user attempt through OStatus. #. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name. -#: OStatusPlugin.php:610 +#: OStatusPlugin.php:606 #, php-format msgid "%1$s stopped following %2$s." msgstr "%1$s припинив читати ваші дописи %2$s." -#: OStatusPlugin.php:638 +#: OStatusPlugin.php:634 msgid "Could not set up remote group membership." msgstr "Не вдалося приєднатися до віддаленої спільноти." #. TRANS: Success message for subscribe to group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the subscribed group's name. -#: OStatusPlugin.php:660 +#: OStatusPlugin.php:656 #, php-format msgid "%1$s has joined group %2$s." msgstr "%1$s приєднався до спільноти %2$s." #. TRANS: Exception. -#: OStatusPlugin.php:669 +#: OStatusPlugin.php:665 msgid "Failed joining remote group." msgstr "Помилка приєднання до віддаленої спільноти." -#: OStatusPlugin.php:709 +#: OStatusPlugin.php:705 msgid "Leave" msgstr "Залишити" #. TRANS: Success message for unsubscribe from group attempt through OStatus. #. TRANS: %1$s is the member name, %2$s is the unsubscribed group's name. -#: OStatusPlugin.php:712 +#: OStatusPlugin.php:708 #, php-format msgid "%1$s has left group %2$s." msgstr "%1$s залишив спільноту %2$s." -#: OStatusPlugin.php:787 +#: OStatusPlugin.php:783 msgid "Disfavor" msgstr "Не обраний" #. TRANS: Success message for remove a favorite notice through OStatus. #. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice. -#: OStatusPlugin.php:790 +#: OStatusPlugin.php:786 #, php-format msgid "%1$s marked notice %2$s as no longer a favorite." msgstr "%1$s позначив допис %2$s, як такий, що більше не є обраним." #. TRANS: Link text for link to remote subscribe. -#: OStatusPlugin.php:866 +#: OStatusPlugin.php:862 msgid "Remote" msgstr "Віддалено" #. TRANS: Title for activity. -#: OStatusPlugin.php:906 +#: OStatusPlugin.php:902 msgid "Profile update" msgstr "Оновлення профілю" #. TRANS: Ping text for remote profile update through OStatus. #. TRANS: %s is user that updated their profile. -#: OStatusPlugin.php:909 +#: OStatusPlugin.php:905 #, php-format msgid "%s has updated their profile page." msgstr "%s оновив сторінку свого профілю." #. TRANS: Plugin description. -#: OStatusPlugin.php:954 +#: OStatusPlugin.php:950 msgid "" "Follow people across social networks that implement <a href=\"http://ostatus." "org/\">OStatus</a>." @@ -362,16 +362,6 @@ msgid "Unable to find services for %s." msgstr "Не вдається знайти сервіси для %s." #. TRANS: Exception. -#: lib/xrd.php:64 -msgid "Invalid XML." -msgstr "Невірний XML." - -#. TRANS: Exception. -#: lib/xrd.php:69 -msgid "Invalid XML, missing XRD root." -msgstr "Невірний XML, корінь XRD відсутній." - -#. TRANS: Exception. #: lib/magicenvelope.php:80 msgid "Unable to locate signer public key." msgstr "Не вдалося знайти публічного ключа підписанта." @@ -445,7 +435,7 @@ msgstr "hub.topic «%s» невірний. Спільноти не існує." msgid "Invalid URL passed for %1$s: \"%2$s\"" msgstr "Для %1$s передано невірний URL: «%2$s»" -#: actions/userxrd.php:59 actions/ownerxrd.php:39 actions/usersalmon.php:43 +#: actions/ownerxrd.php:39 actions/usersalmon.php:43 msgid "No such user." msgstr "Такого користувача немає." diff --git a/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po index 256a7ebc1..27fa20b08 100644 --- a/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po +++ b/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po @@ -1,6 +1,7 @@ # Translation of StatusNet - OpenExternalLinkTarget to Spanish (Español) # Expored from translatewiki.net # +# Author: Locos epraix # Author: Translationista # -- # This file is distributed under the same license as the StatusNet package. @@ -9,21 +10,20 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenExternalLinkTarget\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-18 18:35+0000\n" -"PO-Revision-Date: 2010-10-18 18:43:21+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:40+0000\n" "Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-09 14:36:34+0000\n" -"X-Generator: MediaWiki 1.17alpha (r74952); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:13:52+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: es\n" "X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: OpenExternalLinkTargetPlugin.php:59 -#, fuzzy msgid "Opens external links (i.e. with rel=external) on a new window or tab." msgstr "" -"Abre vínculos externos (por ejemplo, con rel=external) en una nueva ventana " -"o pestaña." +"Abre enlaces externos (por ejemplo, con rel=external) en una nueva ventana o " +"pestaña." diff --git a/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po index 8a43460f4..cdc42bd13 100644 --- a/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po +++ b/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po @@ -2,6 +2,7 @@ # Expored from translatewiki.net # # Author: Eleferen +# Author: Александр Сигачёв # -- # This file is distributed under the same license as the StatusNet package. # @@ -9,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenExternalLinkTarget\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-18 18:35+0000\n" -"PO-Revision-Date: 2010-10-18 18:43:21+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:40+0000\n" "Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-09 14:36:34+0000\n" -"X-Generator: MediaWiki 1.17alpha (r74952); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:13:52+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ru\n" "X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n" @@ -23,8 +24,6 @@ msgstr "" "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" #: OpenExternalLinkTargetPlugin.php:59 -#, fuzzy msgid "Opens external links (i.e. with rel=external) on a new window or tab." msgstr "" -"Возможность открыть внешние ссылки (например, rel=внешние) в новом окне или " -"вкладке." +"Открывать внешние ссылки (например, rel=external) в новом окне или вкладке." diff --git a/plugins/OpenID/OpenIDPlugin.php b/plugins/OpenID/OpenIDPlugin.php index 07bf0396d..d1a6786fa 100644 --- a/plugins/OpenID/OpenIDPlugin.php +++ b/plugins/OpenID/OpenIDPlugin.php @@ -757,4 +757,29 @@ class OpenIDPlugin extends Plugin return true; } + + /** + * Add link in user's XRD file to allow OpenID login. + * + * This link in the XRD should let users log in with their + * Webfinger identity to services that support it. See + * http://webfinger.org/login for an example. + * + * @param XRD &$xrd Currently-displaying XRD object + * @param User $user The user that it's for + * + * @return boolean hook value (always true) + */ + + function onEndXrdActionLinks(&$xrd, $user) + { + $profile = $user->getProfile(); + + if (!empty($profile)) { + $xrd->links[] = array('rel' => 'http://specs.openid.net/auth/2.0/provider', + 'href' => $profile->profileurl); + } + + return true; + } } diff --git a/plugins/OpenID/finishopenidlogin.php b/plugins/OpenID/finishopenidlogin.php index 01dd61edb..0053a7f1d 100644 --- a/plugins/OpenID/finishopenidlogin.php +++ b/plugins/OpenID/finishopenidlogin.php @@ -100,8 +100,15 @@ class FinishopenidloginAction extends Action return; } + // We don't recognize this OpenID, so we're going to give the user + // two options, each in its own mini-form. + // + // First, they can create a new account using their OpenID auth + // info. The profile will be pre-populated with whatever name, + // email, and location we can get from the OpenID provider, so + // all we ask for is the license confirmation. $this->elementStart('form', array('method' => 'post', - 'id' => 'account_connect', + 'id' => 'account_create', 'class' => 'form_settings', 'action' => common_local_url('finishopenidlogin'))); $this->hidden('token', common_session_token()); @@ -141,7 +148,15 @@ class FinishopenidloginAction extends Action // TRANS: Button label in form in which to create a new user on the site for an OpenID. $this->submit('create', _m('BUTTON', 'Create')); $this->elementEnd('fieldset'); + $this->elementEnd('form'); + // The second option is to attach this OpenID to an existing account + // on the local system, which they need to provide a password for. + $this->elementStart('form', array('method' => 'post', + 'id' => 'account_connect', + 'class' => 'form_settings', + 'action' => common_local_url('finishopenidlogin'))); + $this->hidden('token', common_session_token()); $this->elementStart('fieldset', array('id' => 'form_openid_createaccount')); $this->element('legend', null, // TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. @@ -272,13 +287,10 @@ class FinishopenidloginAction extends Action } } - $nickname = $this->trimmed('newname'); - - if (!Validate::string($nickname, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { - // TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. - $this->showForm(_m('Nickname must have only lowercase letters and numbers and no spaces.')); + try { + $nickname = Nickname::normalize($this->trimmed('newname')); + } catch (NicknameException $e) { + $this->showForm($e->getMessage()); return; } @@ -463,9 +475,7 @@ class FinishopenidloginAction extends Action function isNewNickname($str) { - if (!Validate::string($str, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { + if (!Nickname::isValid($str)) { return false; } if (!User::allowed_nickname($str)) { diff --git a/plugins/OpenID/locale/OpenID.pot b/plugins/OpenID/locale/OpenID.pot index 6975dbaea..90c0ccebc 100644 --- a/plugins/OpenID/locale/OpenID.pot +++ b/plugins/OpenID/locale/OpenID.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+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" @@ -456,39 +456,34 @@ msgstr "" msgid "Not a valid invitation code." msgstr "" -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "" #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "" #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "" #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "" #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "" #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "" diff --git a/plugins/OpenID/locale/ar/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/ar/LC_MESSAGES/OpenID.po new file mode 100644 index 000000000..03a104d2d --- /dev/null +++ b/plugins/OpenID/locale/ar/LC_MESSAGES/OpenID.po @@ -0,0 +1,589 @@ +# Translation of StatusNet - OpenID to Arabic (العربية) +# Expored from translatewiki.net +# +# Author: OsamaK +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenID\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:34+0000\n" +"Language-Team: Arabic <http://translatewiki.net/wiki/Portal:ar>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ar\n" +"X-Message-Group: #out-statusnet-plugin-openid\n" +"Plural-Forms: nplurals=6; plural=(n == 0) ? 0 : ( (n == 1) ? 1 : ( (n == " +"2) ? 2 : ( (n%100 >= 3 && n%100 <= 10) ? 3 : ( (n%100 >= 11 && n%100 <= " +"99) ? 4 : 5 ) ) ) );\n" + +#: openidsettings.php:58 openidadminpanel.php:65 +msgid "OpenID settings" +msgstr "إعدادات الهوية المفتوحة" + +#: openidsettings.php:69 +#, php-format +msgid "" +"[OpenID](%%doc.openid%%) lets you log into many sites with the same user " +"account. Manage your associated OpenIDs from here." +msgstr "" +"تمكنك [الهوية المفتوحة](%%doc.openid%%) من الولوج إلى مواقع كثيرة بنفس حساب " +"المستخدم. أدر هوياتك المفتوحة هنا." + +#: openidsettings.php:100 +msgid "Add OpenID" +msgstr "أضف هوية مفتوحة" + +#: openidsettings.php:103 +msgid "" +"If you want to add an OpenID to your account, enter it in the box below and " +"click \"Add\"." +msgstr "" +"إذا أردت إضافة هوية مفتوحة إلى حسابك، أدخلها إلى الصندوق أدناه وانقر \"أضف\"." + +#. TRANS: OpenID plugin logon form field label. +#: openidsettings.php:108 OpenIDPlugin.php:681 openidlogin.php:161 +msgid "OpenID URL" +msgstr "مسار الهوية المفتوحة" + +#: openidsettings.php:118 +msgid "Add" +msgstr "أضف" + +#: openidsettings.php:130 +msgid "Remove OpenID" +msgstr "أزل الهوية المفتوحة" + +#: openidsettings.php:135 +msgid "" +"Removing your only OpenID would make it impossible to log in! If you need to " +"remove it, add another OpenID first." +msgstr "" +"إن حذف هويتك المفتوحة الوحيدة سيجعل من المستحيل الولوج! إذا أردت إضافة هذه " +"فأضف هوية مفتوحة أخرى أولا." + +#: openidsettings.php:150 +msgid "" +"You can remove an OpenID from your account by clicking the button marked " +"\"Remove\"." +msgstr "يمكنك إزالة هوية مفتوحة من حسابك بنفر الزر المُعلّم \"أزل\"." + +#: openidsettings.php:173 openidsettings.php:214 +msgid "Remove" +msgstr "أزل" + +#: openidsettings.php:187 +msgid "OpenID Trusted Sites" +msgstr "مواقع الهوية المفتوحة الموثوقة" + +#: openidsettings.php:190 +msgid "" +"The following sites are allowed to access your identity and log you in. You " +"can remove a site from this list to deny it access to your OpenID." +msgstr "" +"يسمح للمواقع التالية بالوصول إلى هويتك والولوج بها. يمكنك إزالة موقع من " +"القائمة لمنعه من الوصول إلى هويتك المفتوحة." + +#. TRANS: Message given when there is a problem with the user's session token. +#: openidsettings.php:232 finishopenidlogin.php:42 openidlogin.php:51 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: openidsettings.php:239 +msgid "Can't add new providers." +msgstr "" + +#: openidsettings.php:252 +msgid "Something weird happened." +msgstr "" + +#: openidsettings.php:276 +msgid "No such OpenID trustroot." +msgstr "" + +#: openidsettings.php:280 +msgid "Trustroots removed" +msgstr "" + +#: openidsettings.php:303 +msgid "No such OpenID." +msgstr "لا هوية مفتوحة كهذه." + +#: openidsettings.php:308 +msgid "That OpenID does not belong to you." +msgstr "تلك الهوية المفتوحة ليست لك." + +#: openidsettings.php:312 +msgid "OpenID removed." +msgstr "أزيلت الهوية المفتوحة." + +#: openidadminpanel.php:54 +msgid "OpenID" +msgstr "الهوية المفتوحة" + +#: openidadminpanel.php:147 +msgid "Invalid provider URL. Max length is 255 characters." +msgstr "مسار المزود غير صالح. أقصى طول 255 حرف." + +#: openidadminpanel.php:153 +msgid "Invalid team name. Max length is 255 characters." +msgstr "اسم فريق غير صالح. أقصى طول 255 حرف." + +#: openidadminpanel.php:210 +msgid "Trusted provider" +msgstr "مزود موثوق" + +#: openidadminpanel.php:212 +msgid "" +"By default, users are allowed to authenticate with any OpenID provider. If " +"you are using your own OpenID service for shared sign-in, you can restrict " +"access to only your own users here." +msgstr "" + +#: openidadminpanel.php:220 +msgid "Provider URL" +msgstr "" + +#: openidadminpanel.php:221 +msgid "" +"All OpenID logins will be sent to this URL; other providers may not be used." +msgstr "" + +#: openidadminpanel.php:228 +msgid "Append a username to base URL" +msgstr "" + +#: openidadminpanel.php:230 +msgid "" +"Login form will show the base URL and prompt for a username to add at the " +"end. Use when OpenID provider URL should be the profile page for individual " +"users." +msgstr "" + +#: openidadminpanel.php:238 +msgid "Required team" +msgstr "" + +#: openidadminpanel.php:239 +msgid "Only allow logins from users in the given team (Launchpad extension)." +msgstr "" + +#: openidadminpanel.php:251 +msgid "Options" +msgstr "" + +#: openidadminpanel.php:258 +msgid "Enable OpenID-only mode" +msgstr "" + +#: openidadminpanel.php:260 +msgid "" +"Require all users to login via OpenID. Warning: disables password " +"authentication for all users!" +msgstr "" + +#: openidadminpanel.php:278 +msgid "Save OpenID settings" +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:138 +msgid "Cannot instantiate OpenID consumer object." +msgstr "" + +#. TRANS: OpenID plugin message. Given when an OpenID is not valid. +#: openid.php:150 +msgid "Not a valid OpenID." +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. +#. TRANS: %s is the failure message. +#: openid.php:155 +#, php-format +msgid "OpenID failure: %s" +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. +#. TRANS: %s is the failure message. +#: openid.php:205 +#, php-format +msgid "Could not redirect to server: %s" +msgstr "" + +#. TRANS: OpenID plugin user instructions. +#: openid.php:244 +msgid "" +"This form should automatically submit itself. If not, click the submit " +"button to go to your OpenID provider." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:280 +msgid "Error saving the profile." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:292 +msgid "Error saving the user." +msgstr "" + +#. TRANS: OpenID plugin client exception (403). +#: openid.php:322 +msgid "Unauthorized URL used for OpenID login." +msgstr "" + +#. TRANS: Title +#: openid.php:370 +msgid "OpenID Login Submission" +msgstr "" + +#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider. +#: openid.php:381 +msgid "Requesting authorization from your login provider..." +msgstr "" + +#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider. +#: openid.php:385 +msgid "" +"If you are not redirected to your login provider in a few seconds, try " +"pushing the button below." +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: OpenIDPlugin.php:218 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "" + +#. TRANS: Main menu option when not logged in to log in +#: OpenIDPlugin.php:221 +msgctxt "MENU" +msgid "Login" +msgstr "" + +#. TRANS: Tooltip for main menu option "Help" +#: OpenIDPlugin.php:226 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "ساعدني!" + +#. TRANS: Main menu option for help on the StatusNet site +#: OpenIDPlugin.php:229 +msgctxt "MENU" +msgid "Help" +msgstr "" + +#. TRANS: Tooltip for main menu option "Search" +#: OpenIDPlugin.php:235 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "" + +#. TRANS: Main menu option when logged in or when the StatusNet instance is not private +#: OpenIDPlugin.php:238 +msgctxt "MENU" +msgid "Search" +msgstr "" + +#. TRANS: OpenID plugin menu item on site logon page. +#. TRANS: OpenID plugin menu item on user settings page. +#. TRANS: OpenID configuration menu item. +#: OpenIDPlugin.php:295 OpenIDPlugin.php:331 OpenIDPlugin.php:605 +msgctxt "MENU" +msgid "OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for logon menu item. +#: OpenIDPlugin.php:297 +msgid "Login or register with OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for user settings menu item. +#: OpenIDPlugin.php:333 +msgid "Add or remove OpenIDs" +msgstr "" + +#. TRANS: Tooltip for OpenID configuration menu item. +#: OpenIDPlugin.php:607 +msgid "OpenID configuration" +msgstr "" + +#. TRANS: OpenID plugin description. +#: OpenIDPlugin.php:631 +msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site." +msgstr "" + +#. TRANS: button label for OAuth authorization page when needing OpenID authentication first. +#: OpenIDPlugin.php:641 +msgctxt "BUTTON" +msgid "Continue" +msgstr "استمر" + +#. TRANS: OpenID plugin logon form legend. +#: OpenIDPlugin.php:658 openidlogin.php:140 +msgid "OpenID login" +msgstr "" + +#. TRANS: Field label. +#: OpenIDPlugin.php:666 openidlogin.php:148 +msgid "OpenID provider" +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:675 openidlogin.php:156 +msgid "Enter your username." +msgstr "أدخل اسم مستخدمك." + +#. TRANS: Form guide. +#: OpenIDPlugin.php:677 openidlogin.php:157 +msgid "You will be sent to the provider's site for authentication." +msgstr "" + +#. TRANS: OpenID plugin logon form field instructions. +#: OpenIDPlugin.php:684 openidlogin.php:164 +msgid "Your OpenID URL" +msgstr "" + +#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403). +#: openidserver.php:116 +#, php-format +msgid "You are not authorized to use the identity %s." +msgstr "" + +#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500). +#: openidserver.php:137 +msgid "Just an OpenID provider. Nothing to see here, move along..." +msgstr "" + +#. TRANS: Client error message trying to log on with OpenID while already logged on. +#: finishopenidlogin.php:37 openidlogin.php:33 +msgid "Already logged in." +msgstr "" + +#. TRANS: Message given if user does not agree with the site's license. +#: finishopenidlogin.php:48 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#. TRANS: Messag given on an unknown error. +#: finishopenidlogin.php:57 +msgid "An unknown error has occured." +msgstr "" + +#. TRANS: Instructions given after a first successful logon using OpenID. +#. TRANS: %s is the site name. +#: finishopenidlogin.php:73 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your OpenID " +"to a local account. You can either create a new account, or connect with " +"your existing account, if you have one." +msgstr "" + +#. TRANS: Title +#: finishopenidlogin.php:80 +msgid "OpenID Account Setup" +msgstr "" + +#: finishopenidlogin.php:110 +msgid "Create new account" +msgstr "أنشئ حسابًا جديدًا" + +#: finishopenidlogin.php:112 +msgid "Create a new user with this nickname." +msgstr "" + +#: finishopenidlogin.php:115 +msgid "New nickname" +msgstr "" + +#: finishopenidlogin.php:117 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#. TRANS: Button label in form in which to create a new user on the site for an OpenID. +#: finishopenidlogin.php:142 +msgctxt "BUTTON" +msgid "Create" +msgstr "" + +#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:148 +msgid "Connect existing account" +msgstr "" + +#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:151 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your OpenID." +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:155 +msgid "Existing nickname" +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:159 +msgid "Password" +msgstr "كلمة السر" + +#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:163 +msgctxt "BUTTON" +msgid "Connect" +msgstr "" + +#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled. +#: finishopenidlogin.php:176 finishaddopenid.php:90 +msgid "OpenID authentication cancelled." +msgstr "" + +#. TRANS: OpenID authentication failed; display the error message. %s is the error message. +#. TRANS: OpenID authentication failed; display the error message. +#. TRANS: %s is the error message. +#: finishopenidlogin.php:180 finishaddopenid.php:95 +#, php-format +msgid "OpenID authentication failed: %s" +msgstr "" + +#: finishopenidlogin.php:200 finishaddopenid.php:111 +msgid "" +"OpenID authentication aborted: you are not allowed to login to this site." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site. +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided. +#: finishopenidlogin.php:252 finishopenidlogin.php:262 +msgid "Registration not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid. +#: finishopenidlogin.php:270 +msgid "Not a valid invitation code." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is blacklisted. +#: finishopenidlogin.php:284 +msgid "Nickname not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is already used. +#: finishopenidlogin.php:290 +msgid "Nickname already in use. Try another one." +msgstr "" + +#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. +#. TRANS: OpenID plugin server error. A stored OpenID cannot be found. +#: finishopenidlogin.php:298 finishopenidlogin.php:385 +msgid "Stored OpenID not found." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: finishopenidlogin.php:308 +msgid "Creating new account for OpenID that already has a user." +msgstr "" + +#. TRANS: OpenID plugin message. +#: finishopenidlogin.php:373 +msgid "Invalid username or password." +msgstr "" + +#. TRANS: OpenID plugin server error. The user or user profile could not be saved. +#: finishopenidlogin.php:393 +msgid "Error connecting user to OpenID." +msgstr "" + +#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:82 +#, php-format +msgid "" +"For security reasons, please re-login with your [OpenID](%%doc.openid%%) " +"before changing your settings." +msgstr "" + +#. TRANS: OpenID plugin message. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:88 +#, php-format +msgid "Login with an [OpenID](%%doc.openid%%) account." +msgstr "" + +#. TRANS: OpenID plugin message. Title. +#. TRANS: Title after getting the status of the OpenID authorisation request. +#: openidlogin.php:122 finishaddopenid.php:187 +msgid "OpenID Login" +msgstr "" + +#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie. +#: openidlogin.php:169 +msgid "Remember me" +msgstr "تذكرني" + +#. TRANS: OpenID plugin logon form field instructions. +#: openidlogin.php:171 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form. +#: openidlogin.php:176 +msgctxt "BUTTON" +msgid "Login" +msgstr "" + +#: openidtrust.php:52 +msgid "OpenID Identity Verification" +msgstr "" + +#: openidtrust.php:70 +msgid "" +"This page should only be reached during OpenID processing, not directly." +msgstr "" + +#: openidtrust.php:118 +#, php-format +msgid "" +"%s has asked to verify your identity. Click Continue to verify your " +"identity and login without creating a new password." +msgstr "" + +#: openidtrust.php:136 +msgid "Continue" +msgstr "استمر" + +#: openidtrust.php:137 +msgid "Cancel" +msgstr "ألغِ" + +#. TRANS: Client error message +#: finishaddopenid.php:68 +msgid "Not logged in." +msgstr "لست والجًا." + +#. TRANS: message in case a user tries to add an OpenID that is already connected to them. +#: finishaddopenid.php:122 +msgid "You already have this OpenID!" +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already used by another user. +#: finishaddopenid.php:125 +msgid "Someone else already has this OpenID." +msgstr "" + +#. TRANS: message in case the OpenID object cannot be connected to the user. +#: finishaddopenid.php:138 +msgid "Error connecting user." +msgstr "" + +#. TRANS: message in case the user or the user profile cannot be saved in StatusNet. +#: finishaddopenid.php:145 +msgid "Error updating profile" +msgstr "" diff --git a/plugins/OpenID/locale/br/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/br/LC_MESSAGES/OpenID.po new file mode 100644 index 000000000..c17aab71c --- /dev/null +++ b/plugins/OpenID/locale/br/LC_MESSAGES/OpenID.po @@ -0,0 +1,582 @@ +# Translation of StatusNet - OpenID to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenID\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-openid\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: openidsettings.php:58 openidadminpanel.php:65 +msgid "OpenID settings" +msgstr "" + +#: openidsettings.php:69 +#, php-format +msgid "" +"[OpenID](%%doc.openid%%) lets you log into many sites with the same user " +"account. Manage your associated OpenIDs from here." +msgstr "" + +#: openidsettings.php:100 +msgid "Add OpenID" +msgstr "Ouzhpennañ OpenID" + +#: openidsettings.php:103 +msgid "" +"If you want to add an OpenID to your account, enter it in the box below and " +"click \"Add\"." +msgstr "" + +#. TRANS: OpenID plugin logon form field label. +#: openidsettings.php:108 OpenIDPlugin.php:681 openidlogin.php:161 +msgid "OpenID URL" +msgstr "" + +#: openidsettings.php:118 +msgid "Add" +msgstr "Ouzhpennañ" + +#: openidsettings.php:130 +msgid "Remove OpenID" +msgstr "" + +#: openidsettings.php:135 +msgid "" +"Removing your only OpenID would make it impossible to log in! If you need to " +"remove it, add another OpenID first." +msgstr "" + +#: openidsettings.php:150 +msgid "" +"You can remove an OpenID from your account by clicking the button marked " +"\"Remove\"." +msgstr "" + +#: openidsettings.php:173 openidsettings.php:214 +msgid "Remove" +msgstr "Dilemel" + +#: openidsettings.php:187 +msgid "OpenID Trusted Sites" +msgstr "" + +#: openidsettings.php:190 +msgid "" +"The following sites are allowed to access your identity and log you in. You " +"can remove a site from this list to deny it access to your OpenID." +msgstr "" + +#. TRANS: Message given when there is a problem with the user's session token. +#: openidsettings.php:232 finishopenidlogin.php:42 openidlogin.php:51 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: openidsettings.php:239 +msgid "Can't add new providers." +msgstr "" + +#: openidsettings.php:252 +msgid "Something weird happened." +msgstr "" + +#: openidsettings.php:276 +msgid "No such OpenID trustroot." +msgstr "" + +#: openidsettings.php:280 +msgid "Trustroots removed" +msgstr "" + +#: openidsettings.php:303 +msgid "No such OpenID." +msgstr "" + +#: openidsettings.php:308 +msgid "That OpenID does not belong to you." +msgstr "" + +#: openidsettings.php:312 +msgid "OpenID removed." +msgstr "" + +#: openidadminpanel.php:54 +msgid "OpenID" +msgstr "OpenID" + +#: openidadminpanel.php:147 +msgid "Invalid provider URL. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:153 +msgid "Invalid team name. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:210 +msgid "Trusted provider" +msgstr "" + +#: openidadminpanel.php:212 +msgid "" +"By default, users are allowed to authenticate with any OpenID provider. If " +"you are using your own OpenID service for shared sign-in, you can restrict " +"access to only your own users here." +msgstr "" + +#: openidadminpanel.php:220 +msgid "Provider URL" +msgstr "" + +#: openidadminpanel.php:221 +msgid "" +"All OpenID logins will be sent to this URL; other providers may not be used." +msgstr "" + +#: openidadminpanel.php:228 +msgid "Append a username to base URL" +msgstr "" + +#: openidadminpanel.php:230 +msgid "" +"Login form will show the base URL and prompt for a username to add at the " +"end. Use when OpenID provider URL should be the profile page for individual " +"users." +msgstr "" + +#: openidadminpanel.php:238 +msgid "Required team" +msgstr "Skipailh ret" + +#: openidadminpanel.php:239 +msgid "Only allow logins from users in the given team (Launchpad extension)." +msgstr "" + +#: openidadminpanel.php:251 +msgid "Options" +msgstr "Dibarzhioù" + +#: openidadminpanel.php:258 +msgid "Enable OpenID-only mode" +msgstr "" + +#: openidadminpanel.php:260 +msgid "" +"Require all users to login via OpenID. Warning: disables password " +"authentication for all users!" +msgstr "" + +#: openidadminpanel.php:278 +msgid "Save OpenID settings" +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:138 +msgid "Cannot instantiate OpenID consumer object." +msgstr "" + +#. TRANS: OpenID plugin message. Given when an OpenID is not valid. +#: openid.php:150 +msgid "Not a valid OpenID." +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. +#. TRANS: %s is the failure message. +#: openid.php:155 +#, php-format +msgid "OpenID failure: %s" +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. +#. TRANS: %s is the failure message. +#: openid.php:205 +#, php-format +msgid "Could not redirect to server: %s" +msgstr "" + +#. TRANS: OpenID plugin user instructions. +#: openid.php:244 +msgid "" +"This form should automatically submit itself. If not, click the submit " +"button to go to your OpenID provider." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:280 +msgid "Error saving the profile." +msgstr "Ur fazi 'zo bet pa veze enrollet ar profil." + +#. TRANS: OpenID plugin server error. +#: openid.php:292 +msgid "Error saving the user." +msgstr "Ur fazi 'zo bet pa veze enrollet an implijer." + +#. TRANS: OpenID plugin client exception (403). +#: openid.php:322 +msgid "Unauthorized URL used for OpenID login." +msgstr "" + +#. TRANS: Title +#: openid.php:370 +msgid "OpenID Login Submission" +msgstr "" + +#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider. +#: openid.php:381 +msgid "Requesting authorization from your login provider..." +msgstr "" + +#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider. +#: openid.php:385 +msgid "" +"If you are not redirected to your login provider in a few seconds, try " +"pushing the button below." +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: OpenIDPlugin.php:218 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "Kevreañ d'al lec'hienn" + +#. TRANS: Main menu option when not logged in to log in +#: OpenIDPlugin.php:221 +msgctxt "MENU" +msgid "Login" +msgstr "Kevreañ" + +#. TRANS: Tooltip for main menu option "Help" +#: OpenIDPlugin.php:226 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "Sikour din !" + +#. TRANS: Main menu option for help on the StatusNet site +#: OpenIDPlugin.php:229 +msgctxt "MENU" +msgid "Help" +msgstr "Skoazell" + +#. TRANS: Tooltip for main menu option "Search" +#: OpenIDPlugin.php:235 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "Klask tud pe un tamm testenn" + +#. TRANS: Main menu option when logged in or when the StatusNet instance is not private +#: OpenIDPlugin.php:238 +msgctxt "MENU" +msgid "Search" +msgstr "Klask" + +#. TRANS: OpenID plugin menu item on site logon page. +#. TRANS: OpenID plugin menu item on user settings page. +#. TRANS: OpenID configuration menu item. +#: OpenIDPlugin.php:295 OpenIDPlugin.php:331 OpenIDPlugin.php:605 +msgctxt "MENU" +msgid "OpenID" +msgstr "OpenID" + +#. TRANS: OpenID plugin tooltip for logon menu item. +#: OpenIDPlugin.php:297 +msgid "Login or register with OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for user settings menu item. +#: OpenIDPlugin.php:333 +msgid "Add or remove OpenIDs" +msgstr "" + +#. TRANS: Tooltip for OpenID configuration menu item. +#: OpenIDPlugin.php:607 +msgid "OpenID configuration" +msgstr "Kefluniadur OpenID" + +#. TRANS: OpenID plugin description. +#: OpenIDPlugin.php:631 +msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site." +msgstr "" + +#. TRANS: button label for OAuth authorization page when needing OpenID authentication first. +#: OpenIDPlugin.php:641 +msgctxt "BUTTON" +msgid "Continue" +msgstr "Kenderc'hel" + +#. TRANS: OpenID plugin logon form legend. +#: OpenIDPlugin.php:658 openidlogin.php:140 +msgid "OpenID login" +msgstr "" + +#. TRANS: Field label. +#: OpenIDPlugin.php:666 openidlogin.php:148 +msgid "OpenID provider" +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:675 openidlogin.php:156 +msgid "Enter your username." +msgstr "Ebarzhit hoc'h anv implijer" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:677 openidlogin.php:157 +msgid "You will be sent to the provider's site for authentication." +msgstr "" + +#. TRANS: OpenID plugin logon form field instructions. +#: OpenIDPlugin.php:684 openidlogin.php:164 +msgid "Your OpenID URL" +msgstr "" + +#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403). +#: openidserver.php:116 +#, php-format +msgid "You are not authorized to use the identity %s." +msgstr "" + +#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500). +#: openidserver.php:137 +msgid "Just an OpenID provider. Nothing to see here, move along..." +msgstr "" + +#. TRANS: Client error message trying to log on with OpenID while already logged on. +#: finishopenidlogin.php:37 openidlogin.php:33 +msgid "Already logged in." +msgstr "Kevreet oc'h dija." + +#. TRANS: Message given if user does not agree with the site's license. +#: finishopenidlogin.php:48 +msgid "You can't register if you don't agree to the license." +msgstr "" +"Rankout a rit bezañ a-du gant termenoù an aotre-implijout evit krouiñ ur " +"gont." + +#. TRANS: Messag given on an unknown error. +#: finishopenidlogin.php:57 +msgid "An unknown error has occured." +msgstr "Ur gudenn dizanv a zo bet." + +#. TRANS: Instructions given after a first successful logon using OpenID. +#. TRANS: %s is the site name. +#: finishopenidlogin.php:73 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your OpenID " +"to a local account. You can either create a new account, or connect with " +"your existing account, if you have one." +msgstr "" + +#. TRANS: Title +#: finishopenidlogin.php:80 +msgid "OpenID Account Setup" +msgstr "" + +#: finishopenidlogin.php:110 +msgid "Create new account" +msgstr "Krouiñ ur gont nevez" + +#: finishopenidlogin.php:112 +msgid "Create a new user with this nickname." +msgstr "Krouiñ un implijer nevez gant al lesanv-se." + +#: finishopenidlogin.php:115 +msgid "New nickname" +msgstr "Lesanv nevez" + +#: finishopenidlogin.php:117 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#. TRANS: Button label in form in which to create a new user on the site for an OpenID. +#: finishopenidlogin.php:142 +msgctxt "BUTTON" +msgid "Create" +msgstr "Krouiñ" + +#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:148 +msgid "Connect existing account" +msgstr "" + +#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:151 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your OpenID." +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:155 +msgid "Existing nickname" +msgstr "Lesanv a zo dioutañ" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:159 +msgid "Password" +msgstr "Ger-tremen" + +#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:163 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Kevreañ" + +#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled. +#: finishopenidlogin.php:176 finishaddopenid.php:90 +msgid "OpenID authentication cancelled." +msgstr "" + +#. TRANS: OpenID authentication failed; display the error message. %s is the error message. +#. TRANS: OpenID authentication failed; display the error message. +#. TRANS: %s is the error message. +#: finishopenidlogin.php:180 finishaddopenid.php:95 +#, php-format +msgid "OpenID authentication failed: %s" +msgstr "" + +#: finishopenidlogin.php:200 finishaddopenid.php:111 +msgid "" +"OpenID authentication aborted: you are not allowed to login to this site." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site. +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided. +#: finishopenidlogin.php:252 finishopenidlogin.php:262 +msgid "Registration not allowed." +msgstr "N'eo ket aotreet krouiñ kontoù." + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid. +#: finishopenidlogin.php:270 +msgid "Not a valid invitation code." +msgstr "N'eo ket reizh ar c'hod pedadenn." + +#. TRANS: OpenID plugin message. The entered new user name is blacklisted. +#: finishopenidlogin.php:284 +msgid "Nickname not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is already used. +#: finishopenidlogin.php:290 +msgid "Nickname already in use. Try another one." +msgstr "Implijet eo dija al lesanv-se. Klaskit unan all." + +#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. +#. TRANS: OpenID plugin server error. A stored OpenID cannot be found. +#: finishopenidlogin.php:298 finishopenidlogin.php:385 +msgid "Stored OpenID not found." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: finishopenidlogin.php:308 +msgid "Creating new account for OpenID that already has a user." +msgstr "" + +#. TRANS: OpenID plugin message. +#: finishopenidlogin.php:373 +msgid "Invalid username or password." +msgstr "" + +#. TRANS: OpenID plugin server error. The user or user profile could not be saved. +#: finishopenidlogin.php:393 +msgid "Error connecting user to OpenID." +msgstr "" + +#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:82 +#, php-format +msgid "" +"For security reasons, please re-login with your [OpenID](%%doc.openid%%) " +"before changing your settings." +msgstr "" + +#. TRANS: OpenID plugin message. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:88 +#, php-format +msgid "Login with an [OpenID](%%doc.openid%%) account." +msgstr "Kevreañ gant ur gont [OpenID](%%doc.openid%%)." + +#. TRANS: OpenID plugin message. Title. +#. TRANS: Title after getting the status of the OpenID authorisation request. +#: openidlogin.php:122 finishaddopenid.php:187 +msgid "OpenID Login" +msgstr "" + +#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie. +#: openidlogin.php:169 +msgid "Remember me" +msgstr "Derc'hel soñj ac'hanon" + +#. TRANS: OpenID plugin logon form field instructions. +#: openidlogin.php:171 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form. +#: openidlogin.php:176 +msgctxt "BUTTON" +msgid "Login" +msgstr "Kevreañ" + +#: openidtrust.php:52 +msgid "OpenID Identity Verification" +msgstr "" + +#: openidtrust.php:70 +msgid "" +"This page should only be reached during OpenID processing, not directly." +msgstr "" + +#: openidtrust.php:118 +#, php-format +msgid "" +"%s has asked to verify your identity. Click Continue to verify your " +"identity and login without creating a new password." +msgstr "" + +#: openidtrust.php:136 +msgid "Continue" +msgstr "Kenderc'hel" + +#: openidtrust.php:137 +msgid "Cancel" +msgstr "Nullañ" + +#. TRANS: Client error message +#: finishaddopenid.php:68 +msgid "Not logged in." +msgstr "Nann-kevreet." + +#. TRANS: message in case a user tries to add an OpenID that is already connected to them. +#: finishaddopenid.php:122 +msgid "You already have this OpenID!" +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already used by another user. +#: finishaddopenid.php:125 +msgid "Someone else already has this OpenID." +msgstr "" + +#. TRANS: message in case the OpenID object cannot be connected to the user. +#: finishaddopenid.php:138 +msgid "Error connecting user." +msgstr "" + +#. TRANS: message in case the user or the user profile cannot be saved in StatusNet. +#: finishaddopenid.php:145 +msgid "Error updating profile" +msgstr "" diff --git a/plugins/OpenID/locale/ca/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/ca/LC_MESSAGES/OpenID.po index 52c847155..754338e56 100644 --- a/plugins/OpenID/locale/ca/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/ca/LC_MESSAGES/OpenID.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:59+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" "Language-Team: Catalan <http://translatewiki.net/wiki/Portal:ca>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ca\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -472,41 +472,35 @@ msgstr "No es permet el registre." msgid "Not a valid invitation code." msgstr "No és un codi d'invitació vàlid." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"El sobrenom ha de contenir només lletres minúscules i nombres, i cap espai." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "No es permet el sobrenom." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "El sobrenom ja és en ús. Proveu-ne un altre." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "No s'ha trobat la connexió OpenID emmagatzemada." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "" "S'està creant un compte nou per a una connexió OpenID que ja té un usuari." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "El nom d'usuari o la contrasenya no són vàlids." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "S'ha produït un error en connectar l'usuari amb la connexió OpenID." @@ -604,3 +598,8 @@ msgstr "S'ha produït un error en connectar l'usuari" #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "S'ha produït un error en actualitzar el perfil" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "El sobrenom ha de contenir només lletres minúscules i nombres, i cap " +#~ "espai." diff --git a/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po index ff53e5bd0..7210ff77f 100644 --- a/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:59+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -340,7 +340,6 @@ msgstr "" #. TRANS: button label for OAuth authorization page when needing OpenID authentication first. #: OpenIDPlugin.php:641 -#, fuzzy msgctxt "BUTTON" msgid "Continue" msgstr "Weiter" @@ -499,41 +498,34 @@ msgstr "Registrierung nicht erlaubt." msgid "Not a valid invitation code." msgstr "Kein gültiger Einladungscode." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Der Benutzername darf nur aus Kleinbuchstaben und Zahlen bestehen. " -"Leerzeichen sind nicht erlaubt." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Benutzername nicht erlaubt." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Benutzername wird bereits verwendet. Suche dir einen anderen aus." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "" #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "" #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Benutzername oder Passwort falsch." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "" @@ -628,3 +620,8 @@ msgstr "" #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Der Benutzername darf nur aus Kleinbuchstaben und Zahlen bestehen. " +#~ "Leerzeichen sind nicht erlaubt." diff --git a/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po index d20835cbf..e098843f3 100644 --- a/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:46:59+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -508,41 +508,34 @@ msgstr "Inscription non autorisée." msgid "Not a valid invitation code." msgstr "Le code d’invitation n’est pas valide." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Les pseudonymes ne peuvent contenir que des lettres minuscules et des " -"chiffres, sans espaces." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Pseudonyme non autorisé." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Pseudonyme déjà utilisé. Essayez-en un autre." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "OpenID stocké non trouvé." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "Créer un nouveau compte pour OpenID qui a déjà un utilisateur." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Nom d’utilisateur ou mot de passe incorrect." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "Erreur de connexion de l’utilisateur à OpenID." @@ -641,3 +634,8 @@ msgstr "Erreur lors de la connexion de l’utilisateur à OpenID." #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "Erreur lors de la mise à jour du profil utilisateur" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Les pseudonymes ne peuvent contenir que des lettres minuscules et des " +#~ "chiffres, sans espaces." diff --git a/plugins/OpenID/locale/gl/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/gl/LC_MESSAGES/OpenID.po new file mode 100644 index 000000000..f19e25af7 --- /dev/null +++ b/plugins/OpenID/locale/gl/LC_MESSAGES/OpenID.po @@ -0,0 +1,582 @@ +# Translation of StatusNet - OpenID to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenID\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-openid\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: openidsettings.php:58 openidadminpanel.php:65 +msgid "OpenID settings" +msgstr "" + +#: openidsettings.php:69 +#, php-format +msgid "" +"[OpenID](%%doc.openid%%) lets you log into many sites with the same user " +"account. Manage your associated OpenIDs from here." +msgstr "" + +#: openidsettings.php:100 +msgid "Add OpenID" +msgstr "" + +#: openidsettings.php:103 +msgid "" +"If you want to add an OpenID to your account, enter it in the box below and " +"click \"Add\"." +msgstr "" + +#. TRANS: OpenID plugin logon form field label. +#: openidsettings.php:108 OpenIDPlugin.php:681 openidlogin.php:161 +msgid "OpenID URL" +msgstr "" + +#: openidsettings.php:118 +msgid "Add" +msgstr "Engadir" + +#: openidsettings.php:130 +msgid "Remove OpenID" +msgstr "" + +#: openidsettings.php:135 +msgid "" +"Removing your only OpenID would make it impossible to log in! If you need to " +"remove it, add another OpenID first." +msgstr "" + +#: openidsettings.php:150 +msgid "" +"You can remove an OpenID from your account by clicking the button marked " +"\"Remove\"." +msgstr "" + +#: openidsettings.php:173 openidsettings.php:214 +msgid "Remove" +msgstr "Eliminar" + +#: openidsettings.php:187 +msgid "OpenID Trusted Sites" +msgstr "" + +#: openidsettings.php:190 +msgid "" +"The following sites are allowed to access your identity and log you in. You " +"can remove a site from this list to deny it access to your OpenID." +msgstr "" + +#. TRANS: Message given when there is a problem with the user's session token. +#: openidsettings.php:232 finishopenidlogin.php:42 openidlogin.php:51 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: openidsettings.php:239 +msgid "Can't add new providers." +msgstr "" + +#: openidsettings.php:252 +msgid "Something weird happened." +msgstr "" + +#: openidsettings.php:276 +msgid "No such OpenID trustroot." +msgstr "" + +#: openidsettings.php:280 +msgid "Trustroots removed" +msgstr "" + +#: openidsettings.php:303 +msgid "No such OpenID." +msgstr "" + +#: openidsettings.php:308 +msgid "That OpenID does not belong to you." +msgstr "" + +#: openidsettings.php:312 +msgid "OpenID removed." +msgstr "" + +#: openidadminpanel.php:54 +msgid "OpenID" +msgstr "OpenID" + +#: openidadminpanel.php:147 +msgid "Invalid provider URL. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:153 +msgid "Invalid team name. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:210 +msgid "Trusted provider" +msgstr "" + +#: openidadminpanel.php:212 +msgid "" +"By default, users are allowed to authenticate with any OpenID provider. If " +"you are using your own OpenID service for shared sign-in, you can restrict " +"access to only your own users here." +msgstr "" + +#: openidadminpanel.php:220 +msgid "Provider URL" +msgstr "" + +#: openidadminpanel.php:221 +msgid "" +"All OpenID logins will be sent to this URL; other providers may not be used." +msgstr "" + +#: openidadminpanel.php:228 +msgid "Append a username to base URL" +msgstr "" + +#: openidadminpanel.php:230 +msgid "" +"Login form will show the base URL and prompt for a username to add at the " +"end. Use when OpenID provider URL should be the profile page for individual " +"users." +msgstr "" + +#: openidadminpanel.php:238 +msgid "Required team" +msgstr "" + +#: openidadminpanel.php:239 +msgid "Only allow logins from users in the given team (Launchpad extension)." +msgstr "" + +#: openidadminpanel.php:251 +msgid "Options" +msgstr "Opcións" + +#: openidadminpanel.php:258 +msgid "Enable OpenID-only mode" +msgstr "" + +#: openidadminpanel.php:260 +msgid "" +"Require all users to login via OpenID. Warning: disables password " +"authentication for all users!" +msgstr "" + +#: openidadminpanel.php:278 +msgid "Save OpenID settings" +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:138 +msgid "Cannot instantiate OpenID consumer object." +msgstr "" + +#. TRANS: OpenID plugin message. Given when an OpenID is not valid. +#: openid.php:150 +msgid "Not a valid OpenID." +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. +#. TRANS: %s is the failure message. +#: openid.php:155 +#, php-format +msgid "OpenID failure: %s" +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. +#. TRANS: %s is the failure message. +#: openid.php:205 +#, php-format +msgid "Could not redirect to server: %s" +msgstr "" + +#. TRANS: OpenID plugin user instructions. +#: openid.php:244 +msgid "" +"This form should automatically submit itself. If not, click the submit " +"button to go to your OpenID provider." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:280 +msgid "Error saving the profile." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:292 +msgid "Error saving the user." +msgstr "" + +#. TRANS: OpenID plugin client exception (403). +#: openid.php:322 +msgid "Unauthorized URL used for OpenID login." +msgstr "" + +#. TRANS: Title +#: openid.php:370 +msgid "OpenID Login Submission" +msgstr "" + +#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider. +#: openid.php:381 +msgid "Requesting authorization from your login provider..." +msgstr "" + +#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider. +#: openid.php:385 +msgid "" +"If you are not redirected to your login provider in a few seconds, try " +"pushing the button below." +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: OpenIDPlugin.php:218 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "Identificarse no sitio" + +#. TRANS: Main menu option when not logged in to log in +#: OpenIDPlugin.php:221 +msgctxt "MENU" +msgid "Login" +msgstr "Rexistro" + +#. TRANS: Tooltip for main menu option "Help" +#: OpenIDPlugin.php:226 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "Axuda!" + +#. TRANS: Main menu option for help on the StatusNet site +#: OpenIDPlugin.php:229 +msgctxt "MENU" +msgid "Help" +msgstr "Axuda" + +#. TRANS: Tooltip for main menu option "Search" +#: OpenIDPlugin.php:235 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "Buscar persoas ou palabras" + +#. TRANS: Main menu option when logged in or when the StatusNet instance is not private +#: OpenIDPlugin.php:238 +msgctxt "MENU" +msgid "Search" +msgstr "Procurar" + +#. TRANS: OpenID plugin menu item on site logon page. +#. TRANS: OpenID plugin menu item on user settings page. +#. TRANS: OpenID configuration menu item. +#: OpenIDPlugin.php:295 OpenIDPlugin.php:331 OpenIDPlugin.php:605 +msgctxt "MENU" +msgid "OpenID" +msgstr "OpenID" + +#. TRANS: OpenID plugin tooltip for logon menu item. +#: OpenIDPlugin.php:297 +msgid "Login or register with OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for user settings menu item. +#: OpenIDPlugin.php:333 +msgid "Add or remove OpenIDs" +msgstr "" + +#. TRANS: Tooltip for OpenID configuration menu item. +#: OpenIDPlugin.php:607 +msgid "OpenID configuration" +msgstr "Configuración do OpenID" + +#. TRANS: OpenID plugin description. +#: OpenIDPlugin.php:631 +msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site." +msgstr "" + +#. TRANS: button label for OAuth authorization page when needing OpenID authentication first. +#: OpenIDPlugin.php:641 +msgctxt "BUTTON" +msgid "Continue" +msgstr "" + +#. TRANS: OpenID plugin logon form legend. +#: OpenIDPlugin.php:658 openidlogin.php:140 +msgid "OpenID login" +msgstr "" + +#. TRANS: Field label. +#: OpenIDPlugin.php:666 openidlogin.php:148 +msgid "OpenID provider" +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:675 openidlogin.php:156 +msgid "Enter your username." +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:677 openidlogin.php:157 +msgid "You will be sent to the provider's site for authentication." +msgstr "" + +#. TRANS: OpenID plugin logon form field instructions. +#: OpenIDPlugin.php:684 openidlogin.php:164 +msgid "Your OpenID URL" +msgstr "" + +#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403). +#: openidserver.php:116 +#, php-format +msgid "You are not authorized to use the identity %s." +msgstr "" + +#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500). +#: openidserver.php:137 +msgid "Just an OpenID provider. Nothing to see here, move along..." +msgstr "" + +#. TRANS: Client error message trying to log on with OpenID while already logged on. +#: finishopenidlogin.php:37 openidlogin.php:33 +msgid "Already logged in." +msgstr "Xa se identificou." + +#. TRANS: Message given if user does not agree with the site's license. +#: finishopenidlogin.php:48 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#. TRANS: Messag given on an unknown error. +#: finishopenidlogin.php:57 +msgid "An unknown error has occured." +msgstr "" + +#. TRANS: Instructions given after a first successful logon using OpenID. +#. TRANS: %s is the site name. +#: finishopenidlogin.php:73 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your OpenID " +"to a local account. You can either create a new account, or connect with " +"your existing account, if you have one." +msgstr "" + +#. TRANS: Title +#: finishopenidlogin.php:80 +msgid "OpenID Account Setup" +msgstr "" + +#: finishopenidlogin.php:110 +msgid "Create new account" +msgstr "Crear unha conta nova" + +#: finishopenidlogin.php:112 +msgid "Create a new user with this nickname." +msgstr "Crear un novo usuario con este alcume." + +#: finishopenidlogin.php:115 +msgid "New nickname" +msgstr "Novo alcume" + +#: finishopenidlogin.php:117 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" +"Entre 1 e 64 letras minúsculas ou números, sen signos de puntuación, " +"espazos, tiles ou eñes" + +#. TRANS: Button label in form in which to create a new user on the site for an OpenID. +#: finishopenidlogin.php:142 +msgctxt "BUTTON" +msgid "Create" +msgstr "Crear" + +#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:148 +msgid "Connect existing account" +msgstr "" + +#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:151 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your OpenID." +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:155 +msgid "Existing nickname" +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:159 +msgid "Password" +msgstr "Contrasinal" + +#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:163 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Conectarse" + +#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled. +#: finishopenidlogin.php:176 finishaddopenid.php:90 +msgid "OpenID authentication cancelled." +msgstr "" + +#. TRANS: OpenID authentication failed; display the error message. %s is the error message. +#. TRANS: OpenID authentication failed; display the error message. +#. TRANS: %s is the error message. +#: finishopenidlogin.php:180 finishaddopenid.php:95 +#, php-format +msgid "OpenID authentication failed: %s" +msgstr "" + +#: finishopenidlogin.php:200 finishaddopenid.php:111 +msgid "" +"OpenID authentication aborted: you are not allowed to login to this site." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site. +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided. +#: finishopenidlogin.php:252 finishopenidlogin.php:262 +msgid "Registration not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid. +#: finishopenidlogin.php:270 +msgid "Not a valid invitation code." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is blacklisted. +#: finishopenidlogin.php:284 +msgid "Nickname not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is already used. +#: finishopenidlogin.php:290 +msgid "Nickname already in use. Try another one." +msgstr "" + +#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. +#. TRANS: OpenID plugin server error. A stored OpenID cannot be found. +#: finishopenidlogin.php:298 finishopenidlogin.php:385 +msgid "Stored OpenID not found." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: finishopenidlogin.php:308 +msgid "Creating new account for OpenID that already has a user." +msgstr "" + +#. TRANS: OpenID plugin message. +#: finishopenidlogin.php:373 +msgid "Invalid username or password." +msgstr "O nome de usuario ou contrasinal non son correctos." + +#. TRANS: OpenID plugin server error. The user or user profile could not be saved. +#: finishopenidlogin.php:393 +msgid "Error connecting user to OpenID." +msgstr "" + +#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:82 +#, php-format +msgid "" +"For security reasons, please re-login with your [OpenID](%%doc.openid%%) " +"before changing your settings." +msgstr "" + +#. TRANS: OpenID plugin message. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:88 +#, php-format +msgid "Login with an [OpenID](%%doc.openid%%) account." +msgstr "" + +#. TRANS: OpenID plugin message. Title. +#. TRANS: Title after getting the status of the OpenID authorisation request. +#: openidlogin.php:122 finishaddopenid.php:187 +msgid "OpenID Login" +msgstr "" + +#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie. +#: openidlogin.php:169 +msgid "Remember me" +msgstr "Lembrádeme" + +#. TRANS: OpenID plugin logon form field instructions. +#: openidlogin.php:171 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form. +#: openidlogin.php:176 +msgctxt "BUTTON" +msgid "Login" +msgstr "Acceder ao sistema" + +#: openidtrust.php:52 +msgid "OpenID Identity Verification" +msgstr "" + +#: openidtrust.php:70 +msgid "" +"This page should only be reached during OpenID processing, not directly." +msgstr "" + +#: openidtrust.php:118 +#, php-format +msgid "" +"%s has asked to verify your identity. Click Continue to verify your " +"identity and login without creating a new password." +msgstr "" + +#: openidtrust.php:136 +msgid "Continue" +msgstr "Continuar" + +#: openidtrust.php:137 +msgid "Cancel" +msgstr "Cancelar" + +#. TRANS: Client error message +#: finishaddopenid.php:68 +msgid "Not logged in." +msgstr "Non iniciou sesión." + +#. TRANS: message in case a user tries to add an OpenID that is already connected to them. +#: finishaddopenid.php:122 +msgid "You already have this OpenID!" +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already used by another user. +#: finishaddopenid.php:125 +msgid "Someone else already has this OpenID." +msgstr "" + +#. TRANS: message in case the OpenID object cannot be connected to the user. +#: finishaddopenid.php:138 +msgid "Error connecting user." +msgstr "" + +#. TRANS: message in case the user or the user profile cannot be saved in StatusNet. +#: finishaddopenid.php:145 +msgid "Error updating profile" +msgstr "" diff --git a/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po index 68e4e32e2..eeddda783 100644 --- a/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:00+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -498,39 +498,34 @@ msgstr "Creation de conto non permittite." msgid "Not a valid invitation code." msgstr "Le codice de invitation es invalide." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Pseudonymo non permittite." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Pseudonymo ja in uso. Proba un altere." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "Le OpenID immagazinate non esseva trovate." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "Tentativa de crear un nove conto pro un OpenID que ha jam un usator." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Nomine de usator o contrasigno invalide." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "Error durante le connexion del usator a OpenID." @@ -628,3 +623,7 @@ msgstr "Error durante le connexion del usator." #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "Error durante le actualisation del profilo" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios." diff --git a/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po index 851239175..e0eb77175 100644 --- a/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:00+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:35+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -494,39 +494,34 @@ msgstr "Регистрацијата не е дозволена." msgid "Not a valid invitation code." msgstr "Ова не е важечки код за покана." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "Прекарот мора да има само мали букви и бројки и да нема празни места." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Прекарот не е дозволен." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Прекарот е зафатен. Одберете друг." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "Складираниот OpenID не е пронајден." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "Создавање на сметка за OpenID што веќе има корисник." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Неважечко корисничко име или лозинка." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "Грешка при поврзувањето на корисникот со OpenID." @@ -623,3 +618,7 @@ msgstr "Грешка при поврзувањето на корисникот." #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "Грешка при подновувањето на профилот" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Прекарот мора да има само мали букви и бројки и да нема празни места." diff --git a/plugins/OpenID/locale/nb/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/nb/LC_MESSAGES/OpenID.po new file mode 100644 index 000000000..c99c9fb67 --- /dev/null +++ b/plugins/OpenID/locale/nb/LC_MESSAGES/OpenID.po @@ -0,0 +1,580 @@ +# Translation of StatusNet - OpenID to Norwegian (bokmål) (Norsk (bokmål)) +# Expored from translatewiki.net +# +# Author: Nghtwlkr +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenID\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:36+0000\n" +"Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: no\n" +"X-Message-Group: #out-statusnet-plugin-openid\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: openidsettings.php:58 openidadminpanel.php:65 +msgid "OpenID settings" +msgstr "" + +#: openidsettings.php:69 +#, php-format +msgid "" +"[OpenID](%%doc.openid%%) lets you log into many sites with the same user " +"account. Manage your associated OpenIDs from here." +msgstr "" + +#: openidsettings.php:100 +msgid "Add OpenID" +msgstr "Legg til OpenID" + +#: openidsettings.php:103 +msgid "" +"If you want to add an OpenID to your account, enter it in the box below and " +"click \"Add\"." +msgstr "" + +#. TRANS: OpenID plugin logon form field label. +#: openidsettings.php:108 OpenIDPlugin.php:681 openidlogin.php:161 +msgid "OpenID URL" +msgstr "OpenID-adresse" + +#: openidsettings.php:118 +msgid "Add" +msgstr "Legg til" + +#: openidsettings.php:130 +msgid "Remove OpenID" +msgstr "Fjern OpenID" + +#: openidsettings.php:135 +msgid "" +"Removing your only OpenID would make it impossible to log in! If you need to " +"remove it, add another OpenID first." +msgstr "" + +#: openidsettings.php:150 +msgid "" +"You can remove an OpenID from your account by clicking the button marked " +"\"Remove\"." +msgstr "" + +#: openidsettings.php:173 openidsettings.php:214 +msgid "Remove" +msgstr "Fjern" + +#: openidsettings.php:187 +msgid "OpenID Trusted Sites" +msgstr "" + +#: openidsettings.php:190 +msgid "" +"The following sites are allowed to access your identity and log you in. You " +"can remove a site from this list to deny it access to your OpenID." +msgstr "" + +#. TRANS: Message given when there is a problem with the user's session token. +#: openidsettings.php:232 finishopenidlogin.php:42 openidlogin.php:51 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: openidsettings.php:239 +msgid "Can't add new providers." +msgstr "" + +#: openidsettings.php:252 +msgid "Something weird happened." +msgstr "" + +#: openidsettings.php:276 +msgid "No such OpenID trustroot." +msgstr "" + +#: openidsettings.php:280 +msgid "Trustroots removed" +msgstr "" + +#: openidsettings.php:303 +msgid "No such OpenID." +msgstr "Ingen slik OpenID." + +#: openidsettings.php:308 +msgid "That OpenID does not belong to you." +msgstr "" + +#: openidsettings.php:312 +msgid "OpenID removed." +msgstr "OpenID fjernet." + +#: openidadminpanel.php:54 +msgid "OpenID" +msgstr "OpenID" + +#: openidadminpanel.php:147 +msgid "Invalid provider URL. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:153 +msgid "Invalid team name. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:210 +msgid "Trusted provider" +msgstr "" + +#: openidadminpanel.php:212 +msgid "" +"By default, users are allowed to authenticate with any OpenID provider. If " +"you are using your own OpenID service for shared sign-in, you can restrict " +"access to only your own users here." +msgstr "" + +#: openidadminpanel.php:220 +msgid "Provider URL" +msgstr "" + +#: openidadminpanel.php:221 +msgid "" +"All OpenID logins will be sent to this URL; other providers may not be used." +msgstr "" + +#: openidadminpanel.php:228 +msgid "Append a username to base URL" +msgstr "" + +#: openidadminpanel.php:230 +msgid "" +"Login form will show the base URL and prompt for a username to add at the " +"end. Use when OpenID provider URL should be the profile page for individual " +"users." +msgstr "" + +#: openidadminpanel.php:238 +msgid "Required team" +msgstr "" + +#: openidadminpanel.php:239 +msgid "Only allow logins from users in the given team (Launchpad extension)." +msgstr "" + +#: openidadminpanel.php:251 +msgid "Options" +msgstr "" + +#: openidadminpanel.php:258 +msgid "Enable OpenID-only mode" +msgstr "" + +#: openidadminpanel.php:260 +msgid "" +"Require all users to login via OpenID. Warning: disables password " +"authentication for all users!" +msgstr "" + +#: openidadminpanel.php:278 +msgid "Save OpenID settings" +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:138 +msgid "Cannot instantiate OpenID consumer object." +msgstr "" + +#. TRANS: OpenID plugin message. Given when an OpenID is not valid. +#: openid.php:150 +msgid "Not a valid OpenID." +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. +#. TRANS: %s is the failure message. +#: openid.php:155 +#, php-format +msgid "OpenID failure: %s" +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. +#. TRANS: %s is the failure message. +#: openid.php:205 +#, php-format +msgid "Could not redirect to server: %s" +msgstr "" + +#. TRANS: OpenID plugin user instructions. +#: openid.php:244 +msgid "" +"This form should automatically submit itself. If not, click the submit " +"button to go to your OpenID provider." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:280 +msgid "Error saving the profile." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:292 +msgid "Error saving the user." +msgstr "" + +#. TRANS: OpenID plugin client exception (403). +#: openid.php:322 +msgid "Unauthorized URL used for OpenID login." +msgstr "" + +#. TRANS: Title +#: openid.php:370 +msgid "OpenID Login Submission" +msgstr "" + +#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider. +#: openid.php:381 +msgid "Requesting authorization from your login provider..." +msgstr "" + +#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider. +#: openid.php:385 +msgid "" +"If you are not redirected to your login provider in a few seconds, try " +"pushing the button below." +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: OpenIDPlugin.php:218 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "" + +#. TRANS: Main menu option when not logged in to log in +#: OpenIDPlugin.php:221 +msgctxt "MENU" +msgid "Login" +msgstr "" + +#. TRANS: Tooltip for main menu option "Help" +#: OpenIDPlugin.php:226 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "Hjelp meg." + +#. TRANS: Main menu option for help on the StatusNet site +#: OpenIDPlugin.php:229 +msgctxt "MENU" +msgid "Help" +msgstr "Hjelp" + +#. TRANS: Tooltip for main menu option "Search" +#: OpenIDPlugin.php:235 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "Søk etter personer eller tekst" + +#. TRANS: Main menu option when logged in or when the StatusNet instance is not private +#: OpenIDPlugin.php:238 +msgctxt "MENU" +msgid "Search" +msgstr "Søk" + +#. TRANS: OpenID plugin menu item on site logon page. +#. TRANS: OpenID plugin menu item on user settings page. +#. TRANS: OpenID configuration menu item. +#: OpenIDPlugin.php:295 OpenIDPlugin.php:331 OpenIDPlugin.php:605 +msgctxt "MENU" +msgid "OpenID" +msgstr "OpenID" + +#. TRANS: OpenID plugin tooltip for logon menu item. +#: OpenIDPlugin.php:297 +msgid "Login or register with OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for user settings menu item. +#: OpenIDPlugin.php:333 +msgid "Add or remove OpenIDs" +msgstr "" + +#. TRANS: Tooltip for OpenID configuration menu item. +#: OpenIDPlugin.php:607 +msgid "OpenID configuration" +msgstr "" + +#. TRANS: OpenID plugin description. +#: OpenIDPlugin.php:631 +msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site." +msgstr "" + +#. TRANS: button label for OAuth authorization page when needing OpenID authentication first. +#: OpenIDPlugin.php:641 +msgctxt "BUTTON" +msgid "Continue" +msgstr "" + +#. TRANS: OpenID plugin logon form legend. +#: OpenIDPlugin.php:658 openidlogin.php:140 +msgid "OpenID login" +msgstr "" + +#. TRANS: Field label. +#: OpenIDPlugin.php:666 openidlogin.php:148 +msgid "OpenID provider" +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:675 openidlogin.php:156 +msgid "Enter your username." +msgstr "Skriv inn brukernavnet ditt." + +#. TRANS: Form guide. +#: OpenIDPlugin.php:677 openidlogin.php:157 +msgid "You will be sent to the provider's site for authentication." +msgstr "" + +#. TRANS: OpenID plugin logon form field instructions. +#: OpenIDPlugin.php:684 openidlogin.php:164 +msgid "Your OpenID URL" +msgstr "" + +#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403). +#: openidserver.php:116 +#, php-format +msgid "You are not authorized to use the identity %s." +msgstr "" + +#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500). +#: openidserver.php:137 +msgid "Just an OpenID provider. Nothing to see here, move along..." +msgstr "" + +#. TRANS: Client error message trying to log on with OpenID while already logged on. +#: finishopenidlogin.php:37 openidlogin.php:33 +msgid "Already logged in." +msgstr "Allerede innlogget." + +#. TRANS: Message given if user does not agree with the site's license. +#: finishopenidlogin.php:48 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#. TRANS: Messag given on an unknown error. +#: finishopenidlogin.php:57 +msgid "An unknown error has occured." +msgstr "" + +#. TRANS: Instructions given after a first successful logon using OpenID. +#. TRANS: %s is the site name. +#: finishopenidlogin.php:73 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your OpenID " +"to a local account. You can either create a new account, or connect with " +"your existing account, if you have one." +msgstr "" + +#. TRANS: Title +#: finishopenidlogin.php:80 +msgid "OpenID Account Setup" +msgstr "" + +#: finishopenidlogin.php:110 +msgid "Create new account" +msgstr "Opprett ny konto" + +#: finishopenidlogin.php:112 +msgid "Create a new user with this nickname." +msgstr "Opprett en ny bruker med dette kallenavnet." + +#: finishopenidlogin.php:115 +msgid "New nickname" +msgstr "Nytt kallenavn" + +#: finishopenidlogin.php:117 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "1-64 små bokstaver eller tall, ingen punktum eller mellomrom" + +#. TRANS: Button label in form in which to create a new user on the site for an OpenID. +#: finishopenidlogin.php:142 +msgctxt "BUTTON" +msgid "Create" +msgstr "Opprett" + +#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:148 +msgid "Connect existing account" +msgstr "" + +#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:151 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your OpenID." +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:155 +msgid "Existing nickname" +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:159 +msgid "Password" +msgstr "Passord" + +#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:163 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Koble til" + +#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled. +#: finishopenidlogin.php:176 finishaddopenid.php:90 +msgid "OpenID authentication cancelled." +msgstr "" + +#. TRANS: OpenID authentication failed; display the error message. %s is the error message. +#. TRANS: OpenID authentication failed; display the error message. +#. TRANS: %s is the error message. +#: finishopenidlogin.php:180 finishaddopenid.php:95 +#, php-format +msgid "OpenID authentication failed: %s" +msgstr "" + +#: finishopenidlogin.php:200 finishaddopenid.php:111 +msgid "" +"OpenID authentication aborted: you are not allowed to login to this site." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site. +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided. +#: finishopenidlogin.php:252 finishopenidlogin.php:262 +msgid "Registration not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid. +#: finishopenidlogin.php:270 +msgid "Not a valid invitation code." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is blacklisted. +#: finishopenidlogin.php:284 +msgid "Nickname not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. The entered new user name is already used. +#: finishopenidlogin.php:290 +msgid "Nickname already in use. Try another one." +msgstr "" + +#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. +#. TRANS: OpenID plugin server error. A stored OpenID cannot be found. +#: finishopenidlogin.php:298 finishopenidlogin.php:385 +msgid "Stored OpenID not found." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: finishopenidlogin.php:308 +msgid "Creating new account for OpenID that already has a user." +msgstr "" + +#. TRANS: OpenID plugin message. +#: finishopenidlogin.php:373 +msgid "Invalid username or password." +msgstr "" + +#. TRANS: OpenID plugin server error. The user or user profile could not be saved. +#: finishopenidlogin.php:393 +msgid "Error connecting user to OpenID." +msgstr "" + +#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:82 +#, php-format +msgid "" +"For security reasons, please re-login with your [OpenID](%%doc.openid%%) " +"before changing your settings." +msgstr "" + +#. TRANS: OpenID plugin message. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:88 +#, php-format +msgid "Login with an [OpenID](%%doc.openid%%) account." +msgstr "" + +#. TRANS: OpenID plugin message. Title. +#. TRANS: Title after getting the status of the OpenID authorisation request. +#: openidlogin.php:122 finishaddopenid.php:187 +msgid "OpenID Login" +msgstr "" + +#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie. +#: openidlogin.php:169 +msgid "Remember me" +msgstr "Husk meg" + +#. TRANS: OpenID plugin logon form field instructions. +#: openidlogin.php:171 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form. +#: openidlogin.php:176 +msgctxt "BUTTON" +msgid "Login" +msgstr "" + +#: openidtrust.php:52 +msgid "OpenID Identity Verification" +msgstr "" + +#: openidtrust.php:70 +msgid "" +"This page should only be reached during OpenID processing, not directly." +msgstr "" + +#: openidtrust.php:118 +#, php-format +msgid "" +"%s has asked to verify your identity. Click Continue to verify your " +"identity and login without creating a new password." +msgstr "" + +#: openidtrust.php:136 +msgid "Continue" +msgstr "Fortsett" + +#: openidtrust.php:137 +msgid "Cancel" +msgstr "Avbryt" + +#. TRANS: Client error message +#: finishaddopenid.php:68 +msgid "Not logged in." +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already connected to them. +#: finishaddopenid.php:122 +msgid "You already have this OpenID!" +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already used by another user. +#: finishaddopenid.php:125 +msgid "Someone else already has this OpenID." +msgstr "" + +#. TRANS: message in case the OpenID object cannot be connected to the user. +#: finishaddopenid.php:138 +msgid "Error connecting user." +msgstr "" + +#. TRANS: message in case the user or the user profile cannot be saved in StatusNet. +#: finishaddopenid.php:145 +msgid "Error updating profile" +msgstr "" diff --git a/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po index d2bf563cd..09940c2c3 100644 --- a/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:00+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:36+0000\n" "Last-Translator: Siebrand Mazeland <s.mazeland@xs4all.nl>\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -500,41 +500,34 @@ msgstr "Registreren is niet mogelijk." msgid "Not a valid invitation code." msgstr "De uitnodigingscode is niet geldig." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"De gebruikersnaam mag alleen uit kleine letters en cijfers bestaan, en geen " -"spaties bevatten." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Deze gebruikersnaam is niet toegestaan." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Deze gebruikersnaam wordt al gebruikt. Kies een andere." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "Het opgeslagen OpenID is niet aangetroffen." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "Poging tot aanmaken van een OpenID-account dat al een gebruiker heeft." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Ongeldige gebruikersnaam of wachtwoord." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "Fout bij het koppelen met OpenID." @@ -632,3 +625,8 @@ msgstr "Fout bij het verbinden met de gebruiker." #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "Fout bij het bijwerken van het profiel." + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "De gebruikersnaam mag alleen uit kleine letters en cijfers bestaan, en " +#~ "geen spaties bevatten." diff --git a/plugins/OpenID/locale/pt_BR/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/pt_BR/LC_MESSAGES/OpenID.po new file mode 100644 index 000000000..0c0f04f9e --- /dev/null +++ b/plugins/OpenID/locale/pt_BR/LC_MESSAGES/OpenID.po @@ -0,0 +1,586 @@ +# Translation of StatusNet - OpenID to Brazilian Portuguese (Português do Brasil) +# Expored from translatewiki.net +# +# Author: Luckas Blade +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenID\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:36+0000\n" +"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-" +"br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: pt-br\n" +"X-Message-Group: #out-statusnet-plugin-openid\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: openidsettings.php:58 openidadminpanel.php:65 +msgid "OpenID settings" +msgstr "" + +#: openidsettings.php:69 +#, php-format +msgid "" +"[OpenID](%%doc.openid%%) lets you log into many sites with the same user " +"account. Manage your associated OpenIDs from here." +msgstr "" + +#: openidsettings.php:100 +msgid "Add OpenID" +msgstr "" + +#: openidsettings.php:103 +msgid "" +"If you want to add an OpenID to your account, enter it in the box below and " +"click \"Add\"." +msgstr "" + +#. TRANS: OpenID plugin logon form field label. +#: openidsettings.php:108 OpenIDPlugin.php:681 openidlogin.php:161 +msgid "OpenID URL" +msgstr "" + +#: openidsettings.php:118 +msgid "Add" +msgstr "Adicionar" + +#: openidsettings.php:130 +msgid "Remove OpenID" +msgstr "" + +#: openidsettings.php:135 +msgid "" +"Removing your only OpenID would make it impossible to log in! If you need to " +"remove it, add another OpenID first." +msgstr "" + +#: openidsettings.php:150 +msgid "" +"You can remove an OpenID from your account by clicking the button marked " +"\"Remove\"." +msgstr "" + +#: openidsettings.php:173 openidsettings.php:214 +msgid "Remove" +msgstr "Remover" + +#: openidsettings.php:187 +msgid "OpenID Trusted Sites" +msgstr "" + +#: openidsettings.php:190 +msgid "" +"The following sites are allowed to access your identity and log you in. You " +"can remove a site from this list to deny it access to your OpenID." +msgstr "" + +#. TRANS: Message given when there is a problem with the user's session token. +#: openidsettings.php:232 finishopenidlogin.php:42 openidlogin.php:51 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: openidsettings.php:239 +msgid "Can't add new providers." +msgstr "" + +#: openidsettings.php:252 +msgid "Something weird happened." +msgstr "" + +#: openidsettings.php:276 +msgid "No such OpenID trustroot." +msgstr "" + +#: openidsettings.php:280 +msgid "Trustroots removed" +msgstr "" + +#: openidsettings.php:303 +msgid "No such OpenID." +msgstr "" + +#: openidsettings.php:308 +msgid "That OpenID does not belong to you." +msgstr "" + +#: openidsettings.php:312 +msgid "OpenID removed." +msgstr "" + +#: openidadminpanel.php:54 +msgid "OpenID" +msgstr "OpenID" + +#: openidadminpanel.php:147 +msgid "Invalid provider URL. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:153 +msgid "Invalid team name. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:210 +msgid "Trusted provider" +msgstr "" + +#: openidadminpanel.php:212 +msgid "" +"By default, users are allowed to authenticate with any OpenID provider. If " +"you are using your own OpenID service for shared sign-in, you can restrict " +"access to only your own users here." +msgstr "" + +#: openidadminpanel.php:220 +msgid "Provider URL" +msgstr "" + +#: openidadminpanel.php:221 +msgid "" +"All OpenID logins will be sent to this URL; other providers may not be used." +msgstr "" + +#: openidadminpanel.php:228 +msgid "Append a username to base URL" +msgstr "" + +#: openidadminpanel.php:230 +msgid "" +"Login form will show the base URL and prompt for a username to add at the " +"end. Use when OpenID provider URL should be the profile page for individual " +"users." +msgstr "" + +#: openidadminpanel.php:238 +msgid "Required team" +msgstr "" + +#: openidadminpanel.php:239 +msgid "Only allow logins from users in the given team (Launchpad extension)." +msgstr "" + +#: openidadminpanel.php:251 +msgid "Options" +msgstr "Opções" + +#: openidadminpanel.php:258 +msgid "Enable OpenID-only mode" +msgstr "" + +#: openidadminpanel.php:260 +msgid "" +"Require all users to login via OpenID. Warning: disables password " +"authentication for all users!" +msgstr "" + +#: openidadminpanel.php:278 +msgid "Save OpenID settings" +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:138 +msgid "Cannot instantiate OpenID consumer object." +msgstr "" + +#. TRANS: OpenID plugin message. Given when an OpenID is not valid. +#: openid.php:150 +msgid "Not a valid OpenID." +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. +#. TRANS: %s is the failure message. +#: openid.php:155 +#, php-format +msgid "OpenID failure: %s" +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. +#. TRANS: %s is the failure message. +#: openid.php:205 +#, php-format +msgid "Could not redirect to server: %s" +msgstr "Não foi possível redirecionar para o servidor: %s" + +#. TRANS: OpenID plugin user instructions. +#: openid.php:244 +msgid "" +"This form should automatically submit itself. If not, click the submit " +"button to go to your OpenID provider." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:280 +msgid "Error saving the profile." +msgstr "Erro ao salvar o perfil." + +#. TRANS: OpenID plugin server error. +#: openid.php:292 +msgid "Error saving the user." +msgstr "Erro ao salvar o usuário." + +#. TRANS: OpenID plugin client exception (403). +#: openid.php:322 +msgid "Unauthorized URL used for OpenID login." +msgstr "" + +#. TRANS: Title +#: openid.php:370 +msgid "OpenID Login Submission" +msgstr "" + +#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider. +#: openid.php:381 +msgid "Requesting authorization from your login provider..." +msgstr "" + +#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider. +#: openid.php:385 +msgid "" +"If you are not redirected to your login provider in a few seconds, try " +"pushing the button below." +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: OpenIDPlugin.php:218 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "" + +#. TRANS: Main menu option when not logged in to log in +#: OpenIDPlugin.php:221 +msgctxt "MENU" +msgid "Login" +msgstr "Entrar" + +#. TRANS: Tooltip for main menu option "Help" +#: OpenIDPlugin.php:226 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "" + +#. TRANS: Main menu option for help on the StatusNet site +#: OpenIDPlugin.php:229 +msgctxt "MENU" +msgid "Help" +msgstr "Ajuda" + +#. TRANS: Tooltip for main menu option "Search" +#: OpenIDPlugin.php:235 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "" + +#. TRANS: Main menu option when logged in or when the StatusNet instance is not private +#: OpenIDPlugin.php:238 +msgctxt "MENU" +msgid "Search" +msgstr "Pesquisar" + +#. TRANS: OpenID plugin menu item on site logon page. +#. TRANS: OpenID plugin menu item on user settings page. +#. TRANS: OpenID configuration menu item. +#: OpenIDPlugin.php:295 OpenIDPlugin.php:331 OpenIDPlugin.php:605 +msgctxt "MENU" +msgid "OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for logon menu item. +#: OpenIDPlugin.php:297 +msgid "Login or register with OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for user settings menu item. +#: OpenIDPlugin.php:333 +msgid "Add or remove OpenIDs" +msgstr "Adicionar ou remover OpenIDs" + +#. TRANS: Tooltip for OpenID configuration menu item. +#: OpenIDPlugin.php:607 +msgid "OpenID configuration" +msgstr "" + +#. TRANS: OpenID plugin description. +#: OpenIDPlugin.php:631 +msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site." +msgstr "" + +#. TRANS: button label for OAuth authorization page when needing OpenID authentication first. +#: OpenIDPlugin.php:641 +msgctxt "BUTTON" +msgid "Continue" +msgstr "" + +#. TRANS: OpenID plugin logon form legend. +#: OpenIDPlugin.php:658 openidlogin.php:140 +msgid "OpenID login" +msgstr "" + +#. TRANS: Field label. +#: OpenIDPlugin.php:666 openidlogin.php:148 +msgid "OpenID provider" +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:675 openidlogin.php:156 +msgid "Enter your username." +msgstr "Introduza seu nome de usuário." + +#. TRANS: Form guide. +#: OpenIDPlugin.php:677 openidlogin.php:157 +msgid "You will be sent to the provider's site for authentication." +msgstr "" + +#. TRANS: OpenID plugin logon form field instructions. +#: OpenIDPlugin.php:684 openidlogin.php:164 +msgid "Your OpenID URL" +msgstr "" + +#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403). +#: openidserver.php:116 +#, php-format +msgid "You are not authorized to use the identity %s." +msgstr "" + +#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500). +#: openidserver.php:137 +msgid "Just an OpenID provider. Nothing to see here, move along..." +msgstr "" + +#. TRANS: Client error message trying to log on with OpenID while already logged on. +#: finishopenidlogin.php:37 openidlogin.php:33 +msgid "Already logged in." +msgstr "" + +#. TRANS: Message given if user does not agree with the site's license. +#: finishopenidlogin.php:48 +msgid "You can't register if you don't agree to the license." +msgstr "Você não pode se registrar se não aceitar a licença." + +#. TRANS: Messag given on an unknown error. +#: finishopenidlogin.php:57 +msgid "An unknown error has occured." +msgstr "Ocorreu um erro desconhecido." + +#. TRANS: Instructions given after a first successful logon using OpenID. +#. TRANS: %s is the site name. +#: finishopenidlogin.php:73 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your OpenID " +"to a local account. You can either create a new account, or connect with " +"your existing account, if you have one." +msgstr "" + +#. TRANS: Title +#: finishopenidlogin.php:80 +msgid "OpenID Account Setup" +msgstr "" + +#: finishopenidlogin.php:110 +msgid "Create new account" +msgstr "Criar nova conta" + +#: finishopenidlogin.php:112 +msgid "Create a new user with this nickname." +msgstr "" + +#: finishopenidlogin.php:115 +msgid "New nickname" +msgstr "Novo nome" + +#: finishopenidlogin.php:117 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#. TRANS: Button label in form in which to create a new user on the site for an OpenID. +#: finishopenidlogin.php:142 +msgctxt "BUTTON" +msgid "Create" +msgstr "Criar" + +#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:148 +msgid "Connect existing account" +msgstr "" + +#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:151 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your OpenID." +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:155 +msgid "Existing nickname" +msgstr "" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:159 +msgid "Password" +msgstr "Senha" + +#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:163 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Conectar" + +#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled. +#: finishopenidlogin.php:176 finishaddopenid.php:90 +msgid "OpenID authentication cancelled." +msgstr "" + +#. TRANS: OpenID authentication failed; display the error message. %s is the error message. +#. TRANS: OpenID authentication failed; display the error message. +#. TRANS: %s is the error message. +#: finishopenidlogin.php:180 finishaddopenid.php:95 +#, php-format +msgid "OpenID authentication failed: %s" +msgstr "" + +#: finishopenidlogin.php:200 finishaddopenid.php:111 +msgid "" +"OpenID authentication aborted: you are not allowed to login to this site." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site. +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided. +#: finishopenidlogin.php:252 finishopenidlogin.php:262 +msgid "Registration not allowed." +msgstr "" + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid. +#: finishopenidlogin.php:270 +msgid "Not a valid invitation code." +msgstr "O código de convite é inválido." + +#. TRANS: OpenID plugin message. The entered new user name is blacklisted. +#: finishopenidlogin.php:284 +msgid "Nickname not allowed." +msgstr "Nome não permitido." + +#. TRANS: OpenID plugin message. The entered new user name is already used. +#: finishopenidlogin.php:290 +msgid "Nickname already in use. Try another one." +msgstr "Este nome já está em uso. Tente outro." + +#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. +#. TRANS: OpenID plugin server error. A stored OpenID cannot be found. +#: finishopenidlogin.php:298 finishopenidlogin.php:385 +msgid "Stored OpenID not found." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: finishopenidlogin.php:308 +msgid "Creating new account for OpenID that already has a user." +msgstr "" + +#. TRANS: OpenID plugin message. +#: finishopenidlogin.php:373 +msgid "Invalid username or password." +msgstr "Nome de usuário e/ou senha inválido(s)." + +#. TRANS: OpenID plugin server error. The user or user profile could not be saved. +#: finishopenidlogin.php:393 +msgid "Error connecting user to OpenID." +msgstr "" + +#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:82 +#, php-format +msgid "" +"For security reasons, please re-login with your [OpenID](%%doc.openid%%) " +"before changing your settings." +msgstr "" + +#. TRANS: OpenID plugin message. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:88 +#, php-format +msgid "Login with an [OpenID](%%doc.openid%%) account." +msgstr "" + +#. TRANS: OpenID plugin message. Title. +#. TRANS: Title after getting the status of the OpenID authorisation request. +#: openidlogin.php:122 finishaddopenid.php:187 +msgid "OpenID Login" +msgstr "" + +#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie. +#: openidlogin.php:169 +msgid "Remember me" +msgstr "Lembrar-me" + +#. TRANS: OpenID plugin logon form field instructions. +#: openidlogin.php:171 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form. +#: openidlogin.php:176 +msgctxt "BUTTON" +msgid "Login" +msgstr "Entrar" + +#: openidtrust.php:52 +msgid "OpenID Identity Verification" +msgstr "" + +#: openidtrust.php:70 +msgid "" +"This page should only be reached during OpenID processing, not directly." +msgstr "" + +#: openidtrust.php:118 +#, php-format +msgid "" +"%s has asked to verify your identity. Click Continue to verify your " +"identity and login without creating a new password." +msgstr "" + +#: openidtrust.php:136 +msgid "Continue" +msgstr "Continuar" + +#: openidtrust.php:137 +msgid "Cancel" +msgstr "Cancelar" + +#. TRANS: Client error message +#: finishaddopenid.php:68 +msgid "Not logged in." +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already connected to them. +#: finishaddopenid.php:122 +msgid "You already have this OpenID!" +msgstr "" + +#. TRANS: message in case a user tries to add an OpenID that is already used by another user. +#: finishaddopenid.php:125 +msgid "Someone else already has this OpenID." +msgstr "" + +#. TRANS: message in case the OpenID object cannot be connected to the user. +#: finishaddopenid.php:138 +msgid "Error connecting user." +msgstr "" + +#. TRANS: message in case the user or the user profile cannot be saved in StatusNet. +#: finishaddopenid.php:145 +msgid "Error updating profile" +msgstr "" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "O nome deve conter apenas letras minúsculas e números e não pode ter " +#~ "espaços." diff --git a/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po index e820e9514..c3ee0e652 100644 --- a/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:00+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:36+0000\n" "Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tl\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -511,42 +511,35 @@ msgstr "Hindi pinayagan ang pagpapatala." msgid "Not a valid invitation code." msgstr "Hindi isang tanggap na kodigo ng paanyaya." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Ang palayaw ay dapat lamang na may maliliit ng mga titik at mga bilang at " -"walang mga patlang." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Hindi pinayagan ang palayaw." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Ginagamit na ang palayaw. Sumubok ng iba." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "Hindi natagpuan ang nakalagak na OpenID." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "" "Nililikha ang bagong akawnt para sa OpenID na mayroon nang isang tagagamit." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Hindi tanggap na pangalan ng tagagamit o hudyat." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "May kamalian sa pag-ugnay ng tagagamit sa OpenID." @@ -644,3 +637,8 @@ msgstr "Kamalian sa pag-ugnay ng tagagamit." #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "Kamalian sa pagsasapanahon ng balangkas" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Ang palayaw ay dapat lamang na may maliliit ng mga titik at mga bilang at " +#~ "walang mga patlang." diff --git a/plugins/OpenID/locale/tr/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/tr/LC_MESSAGES/OpenID.po new file mode 100644 index 000000000..90d8fbd57 --- /dev/null +++ b/plugins/OpenID/locale/tr/LC_MESSAGES/OpenID.po @@ -0,0 +1,594 @@ +# Translation of StatusNet - OpenID to Turkish (Türkçe) +# Expored from translatewiki.net +# +# Author: Maidis +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenID\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:36+0000\n" +"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: tr\n" +"X-Message-Group: #out-statusnet-plugin-openid\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: openidsettings.php:58 openidadminpanel.php:65 +msgid "OpenID settings" +msgstr "" + +#: openidsettings.php:69 +#, php-format +msgid "" +"[OpenID](%%doc.openid%%) lets you log into many sites with the same user " +"account. Manage your associated OpenIDs from here." +msgstr "" + +#: openidsettings.php:100 +msgid "Add OpenID" +msgstr "" + +#: openidsettings.php:103 +msgid "" +"If you want to add an OpenID to your account, enter it in the box below and " +"click \"Add\"." +msgstr "" + +#. TRANS: OpenID plugin logon form field label. +#: openidsettings.php:108 OpenIDPlugin.php:681 openidlogin.php:161 +msgid "OpenID URL" +msgstr "" + +#: openidsettings.php:118 +msgid "Add" +msgstr "" + +#: openidsettings.php:130 +msgid "Remove OpenID" +msgstr "" + +#: openidsettings.php:135 +msgid "" +"Removing your only OpenID would make it impossible to log in! If you need to " +"remove it, add another OpenID first." +msgstr "" + +#: openidsettings.php:150 +msgid "" +"You can remove an OpenID from your account by clicking the button marked " +"\"Remove\"." +msgstr "" + +#: openidsettings.php:173 openidsettings.php:214 +msgid "Remove" +msgstr "" + +#: openidsettings.php:187 +msgid "OpenID Trusted Sites" +msgstr "" + +#: openidsettings.php:190 +msgid "" +"The following sites are allowed to access your identity and log you in. You " +"can remove a site from this list to deny it access to your OpenID." +msgstr "" + +#. TRANS: Message given when there is a problem with the user's session token. +#: openidsettings.php:232 finishopenidlogin.php:42 openidlogin.php:51 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: openidsettings.php:239 +msgid "Can't add new providers." +msgstr "" + +#: openidsettings.php:252 +msgid "Something weird happened." +msgstr "" + +#: openidsettings.php:276 +msgid "No such OpenID trustroot." +msgstr "" + +#: openidsettings.php:280 +msgid "Trustroots removed" +msgstr "" + +#: openidsettings.php:303 +msgid "No such OpenID." +msgstr "" + +#: openidsettings.php:308 +msgid "That OpenID does not belong to you." +msgstr "" + +#: openidsettings.php:312 +msgid "OpenID removed." +msgstr "" + +#: openidadminpanel.php:54 +msgid "OpenID" +msgstr "" + +#: openidadminpanel.php:147 +msgid "Invalid provider URL. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:153 +msgid "Invalid team name. Max length is 255 characters." +msgstr "" + +#: openidadminpanel.php:210 +msgid "Trusted provider" +msgstr "" + +#: openidadminpanel.php:212 +msgid "" +"By default, users are allowed to authenticate with any OpenID provider. If " +"you are using your own OpenID service for shared sign-in, you can restrict " +"access to only your own users here." +msgstr "" + +#: openidadminpanel.php:220 +msgid "Provider URL" +msgstr "" + +#: openidadminpanel.php:221 +msgid "" +"All OpenID logins will be sent to this URL; other providers may not be used." +msgstr "" + +#: openidadminpanel.php:228 +msgid "Append a username to base URL" +msgstr "" + +#: openidadminpanel.php:230 +msgid "" +"Login form will show the base URL and prompt for a username to add at the " +"end. Use when OpenID provider URL should be the profile page for individual " +"users." +msgstr "" + +#: openidadminpanel.php:238 +msgid "Required team" +msgstr "" + +#: openidadminpanel.php:239 +msgid "Only allow logins from users in the given team (Launchpad extension)." +msgstr "" + +#: openidadminpanel.php:251 +msgid "Options" +msgstr "" + +#: openidadminpanel.php:258 +msgid "Enable OpenID-only mode" +msgstr "" + +#: openidadminpanel.php:260 +msgid "" +"Require all users to login via OpenID. Warning: disables password " +"authentication for all users!" +msgstr "" + +#: openidadminpanel.php:278 +msgid "Save OpenID settings" +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:138 +msgid "Cannot instantiate OpenID consumer object." +msgstr "" + +#. TRANS: OpenID plugin message. Given when an OpenID is not valid. +#: openid.php:150 +msgid "Not a valid OpenID." +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. +#. TRANS: %s is the failure message. +#: openid.php:155 +#, php-format +msgid "OpenID failure: %s" +msgstr "" + +#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. +#. TRANS: %s is the failure message. +#: openid.php:205 +#, php-format +msgid "Could not redirect to server: %s" +msgstr "" + +#. TRANS: OpenID plugin user instructions. +#: openid.php:244 +msgid "" +"This form should automatically submit itself. If not, click the submit " +"button to go to your OpenID provider." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:280 +msgid "Error saving the profile." +msgstr "" + +#. TRANS: OpenID plugin server error. +#: openid.php:292 +msgid "Error saving the user." +msgstr "" + +#. TRANS: OpenID plugin client exception (403). +#: openid.php:322 +msgid "Unauthorized URL used for OpenID login." +msgstr "" + +#. TRANS: Title +#: openid.php:370 +msgid "OpenID Login Submission" +msgstr "" + +#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider. +#: openid.php:381 +msgid "Requesting authorization from your login provider..." +msgstr "" + +#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider. +#: openid.php:385 +msgid "" +"If you are not redirected to your login provider in a few seconds, try " +"pushing the button below." +msgstr "" + +#. TRANS: Tooltip for main menu option "Login" +#: OpenIDPlugin.php:218 +msgctxt "TOOLTIP" +msgid "Login to the site" +msgstr "" + +#. TRANS: Main menu option when not logged in to log in +#: OpenIDPlugin.php:221 +msgctxt "MENU" +msgid "Login" +msgstr "" + +#. TRANS: Tooltip for main menu option "Help" +#: OpenIDPlugin.php:226 +msgctxt "TOOLTIP" +msgid "Help me!" +msgstr "" + +#. TRANS: Main menu option for help on the StatusNet site +#: OpenIDPlugin.php:229 +msgctxt "MENU" +msgid "Help" +msgstr "" + +#. TRANS: Tooltip for main menu option "Search" +#: OpenIDPlugin.php:235 +msgctxt "TOOLTIP" +msgid "Search for people or text" +msgstr "" + +#. TRANS: Main menu option when logged in or when the StatusNet instance is not private +#: OpenIDPlugin.php:238 +msgctxt "MENU" +msgid "Search" +msgstr "" + +#. TRANS: OpenID plugin menu item on site logon page. +#. TRANS: OpenID plugin menu item on user settings page. +#. TRANS: OpenID configuration menu item. +#: OpenIDPlugin.php:295 OpenIDPlugin.php:331 OpenIDPlugin.php:605 +msgctxt "MENU" +msgid "OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for logon menu item. +#: OpenIDPlugin.php:297 +msgid "Login or register with OpenID" +msgstr "" + +#. TRANS: OpenID plugin tooltip for user settings menu item. +#: OpenIDPlugin.php:333 +msgid "Add or remove OpenIDs" +msgstr "" + +#. TRANS: Tooltip for OpenID configuration menu item. +#: OpenIDPlugin.php:607 +msgid "OpenID configuration" +msgstr "" + +#. TRANS: OpenID plugin description. +#: OpenIDPlugin.php:631 +msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site." +msgstr "" + +#. TRANS: button label for OAuth authorization page when needing OpenID authentication first. +#: OpenIDPlugin.php:641 +msgctxt "BUTTON" +msgid "Continue" +msgstr "" + +#. TRANS: OpenID plugin logon form legend. +#: OpenIDPlugin.php:658 openidlogin.php:140 +msgid "OpenID login" +msgstr "" + +#. TRANS: Field label. +#: OpenIDPlugin.php:666 openidlogin.php:148 +msgid "OpenID provider" +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:675 openidlogin.php:156 +msgid "Enter your username." +msgstr "" + +#. TRANS: Form guide. +#: OpenIDPlugin.php:677 openidlogin.php:157 +msgid "You will be sent to the provider's site for authentication." +msgstr "" + +#. TRANS: OpenID plugin logon form field instructions. +#: OpenIDPlugin.php:684 openidlogin.php:164 +msgid "Your OpenID URL" +msgstr "" + +#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403). +#: openidserver.php:116 +#, php-format +msgid "You are not authorized to use the identity %s." +msgstr "" + +#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500). +#: openidserver.php:137 +msgid "Just an OpenID provider. Nothing to see here, move along..." +msgstr "" + +#. TRANS: Client error message trying to log on with OpenID while already logged on. +#: finishopenidlogin.php:37 openidlogin.php:33 +msgid "Already logged in." +msgstr "" + +#. TRANS: Message given if user does not agree with the site's license. +#: finishopenidlogin.php:48 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#. TRANS: Messag given on an unknown error. +#: finishopenidlogin.php:57 +msgid "An unknown error has occured." +msgstr "" + +#. TRANS: Instructions given after a first successful logon using OpenID. +#. TRANS: %s is the site name. +#: finishopenidlogin.php:73 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your OpenID " +"to a local account. You can either create a new account, or connect with " +"your existing account, if you have one." +msgstr "" + +#. TRANS: Title +#: finishopenidlogin.php:80 +msgid "OpenID Account Setup" +msgstr "OpenID Hesap Kurulumu" + +#: finishopenidlogin.php:110 +msgid "Create new account" +msgstr "Yeni hesap oluştur" + +#: finishopenidlogin.php:112 +msgid "Create a new user with this nickname." +msgstr "Bu kullanıcı adıyla yeni bir kullanıcı oluştur." + +#: finishopenidlogin.php:115 +msgid "New nickname" +msgstr "Yeni kullanıcı adı" + +#: finishopenidlogin.php:117 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" +"1-64 küçük harf veya rakam, noktalama işaretlerine ve boşluklara izin " +"verilmez" + +#. TRANS: Button label in form in which to create a new user on the site for an OpenID. +#: finishopenidlogin.php:142 +msgctxt "BUTTON" +msgid "Create" +msgstr "Oluştur" + +#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:148 +msgid "Connect existing account" +msgstr "Varolan hesaba bağlan" + +#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:151 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your OpenID." +msgstr "" +"Halihazırda bir hesabınız varsa, OpenID'nizle bağlantı kurmak için kullanıcı " +"adı ve parolanızla giriş yapın." + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:155 +msgid "Existing nickname" +msgstr "Varolan kullanıcı adı" + +#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:159 +msgid "Password" +msgstr "Parola" + +#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site. +#: finishopenidlogin.php:163 +msgctxt "BUTTON" +msgid "Connect" +msgstr "Bağlan" + +#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled. +#: finishopenidlogin.php:176 finishaddopenid.php:90 +msgid "OpenID authentication cancelled." +msgstr "OpenID kimlik doğrulaması iptal edildi." + +#. TRANS: OpenID authentication failed; display the error message. %s is the error message. +#. TRANS: OpenID authentication failed; display the error message. +#. TRANS: %s is the error message. +#: finishopenidlogin.php:180 finishaddopenid.php:95 +#, php-format +msgid "OpenID authentication failed: %s" +msgstr "OpenID kimlik doğrulaması başarısız oldu: %s" + +#: finishopenidlogin.php:200 finishaddopenid.php:111 +msgid "" +"OpenID authentication aborted: you are not allowed to login to this site." +msgstr "" +"OpenID kimlik doğrulaması durduruldu: bu siteye giriş yapmaya izinli " +"değilsiniz." + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site. +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided. +#: finishopenidlogin.php:252 finishopenidlogin.php:262 +msgid "Registration not allowed." +msgstr "Kayıt yapılmasına izin verilmiyor." + +#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid. +#: finishopenidlogin.php:270 +msgid "Not a valid invitation code." +msgstr "Geçerli bir davet kodu değil." + +#. TRANS: OpenID plugin message. The entered new user name is blacklisted. +#: finishopenidlogin.php:284 +msgid "Nickname not allowed." +msgstr "Bu kullanıcı adına izin verilmiyor." + +#. TRANS: OpenID plugin message. The entered new user name is already used. +#: finishopenidlogin.php:290 +msgid "Nickname already in use. Try another one." +msgstr "Kullanıcı adı halihazırda kullanılıyor. Başka bir tane deneyin." + +#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. +#. TRANS: OpenID plugin server error. A stored OpenID cannot be found. +#: finishopenidlogin.php:298 finishopenidlogin.php:385 +msgid "Stored OpenID not found." +msgstr "Kayıtlı OpenID bulunamadı." + +#. TRANS: OpenID plugin server error. +#: finishopenidlogin.php:308 +msgid "Creating new account for OpenID that already has a user." +msgstr "" + +#. TRANS: OpenID plugin message. +#: finishopenidlogin.php:373 +msgid "Invalid username or password." +msgstr "Geçersiz kullanıcı adı veya parola." + +#. TRANS: OpenID plugin server error. The user or user profile could not be saved. +#: finishopenidlogin.php:393 +msgid "Error connecting user to OpenID." +msgstr "OpenID ile kullanıcı bağlanırken hata oluştu." + +#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:82 +#, php-format +msgid "" +"For security reasons, please re-login with your [OpenID](%%doc.openid%%) " +"before changing your settings." +msgstr "" +"Güvenlik nedeniyle, lütfen ayarlarınızı değiştirmeden önce [OpenID](%%doc." +"openid%%) ile yeniden giriş yapınız." + +#. TRANS: OpenID plugin message. +#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)". +#: openidlogin.php:88 +#, php-format +msgid "Login with an [OpenID](%%doc.openid%%) account." +msgstr "Bir [OpenID](%%doc.openid%%) hesabı ile giriş yapın." + +#. TRANS: OpenID plugin message. Title. +#. TRANS: Title after getting the status of the OpenID authorisation request. +#: openidlogin.php:122 finishaddopenid.php:187 +msgid "OpenID Login" +msgstr "OpenID Giriş" + +#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie. +#: openidlogin.php:169 +msgid "Remember me" +msgstr "Beni hatırla" + +#. TRANS: OpenID plugin logon form field instructions. +#: openidlogin.php:171 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" +"Gelecekte otomatik olarak giriş yap; paylaşılan bilgisayarlar için değildir!" + +#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form. +#: openidlogin.php:176 +msgctxt "BUTTON" +msgid "Login" +msgstr "Giriş" + +#: openidtrust.php:52 +msgid "OpenID Identity Verification" +msgstr "OpenID Kimlik Doğrulama" + +#: openidtrust.php:70 +msgid "" +"This page should only be reached during OpenID processing, not directly." +msgstr "Bu sayfa sadece OpenID işleme sırasında ulaşılmalıdır, doğrudan değil." + +#: openidtrust.php:118 +#, php-format +msgid "" +"%s has asked to verify your identity. Click Continue to verify your " +"identity and login without creating a new password." +msgstr "" + +#: openidtrust.php:136 +msgid "Continue" +msgstr "Devam" + +#: openidtrust.php:137 +msgid "Cancel" +msgstr "İptal" + +#. TRANS: Client error message +#: finishaddopenid.php:68 +msgid "Not logged in." +msgstr "Giriş yapılmadı." + +#. TRANS: message in case a user tries to add an OpenID that is already connected to them. +#: finishaddopenid.php:122 +msgid "You already have this OpenID!" +msgstr "Zaten bu OpenID'ye sahipsiniz!" + +#. TRANS: message in case a user tries to add an OpenID that is already used by another user. +#: finishaddopenid.php:125 +msgid "Someone else already has this OpenID." +msgstr "Başka biri bu OpenID'ye sahip." + +#. TRANS: message in case the OpenID object cannot be connected to the user. +#: finishaddopenid.php:138 +msgid "Error connecting user." +msgstr "Kullanıcı bağlama hatası." + +#. TRANS: message in case the user or the user profile cannot be saved in StatusNet. +#: finishaddopenid.php:145 +msgid "Error updating profile" +msgstr "Profil güncelleme hatası" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Kullanıcı adı sadece küçük harfler ve rakamlardan oluşabilir, boşluk " +#~ "kullanılamaz." diff --git a/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po index 2f13743a3..755d59705 100644 --- a/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po +++ b/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po @@ -10,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - OpenID\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:00+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:19:37+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 18:59:08+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75590); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-29 19:44:23+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-openid\n" @@ -501,41 +501,34 @@ msgstr "Реєстрацію не дозволено." msgid "Not a valid invitation code." msgstr "Це не дійсний код запрошення." -#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements. -#: finishopenidlogin.php:281 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Ім’я користувача повинно складатись з літер нижнього регістру і цифр, ніяких " -"інтервалів." - #. TRANS: OpenID plugin message. The entered new user name is blacklisted. -#: finishopenidlogin.php:287 +#: finishopenidlogin.php:284 msgid "Nickname not allowed." msgstr "Нікнейм не допускається." #. TRANS: OpenID plugin message. The entered new user name is already used. -#: finishopenidlogin.php:293 +#: finishopenidlogin.php:290 msgid "Nickname already in use. Try another one." msgstr "Цей нікнейм вже використовується. Спробуйте інший." #. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved. #. TRANS: OpenID plugin server error. A stored OpenID cannot be found. -#: finishopenidlogin.php:301 finishopenidlogin.php:388 +#: finishopenidlogin.php:298 finishopenidlogin.php:385 msgid "Stored OpenID not found." msgstr "Збережений OpenID не знайдено." #. TRANS: OpenID plugin server error. -#: finishopenidlogin.php:311 +#: finishopenidlogin.php:308 msgid "Creating new account for OpenID that already has a user." msgstr "Створення нового акаунту для OpenID користувачем, який вже існує." #. TRANS: OpenID plugin message. -#: finishopenidlogin.php:376 +#: finishopenidlogin.php:373 msgid "Invalid username or password." msgstr "Невірне ім’я або пароль." #. TRANS: OpenID plugin server error. The user or user profile could not be saved. -#: finishopenidlogin.php:396 +#: finishopenidlogin.php:393 msgid "Error connecting user to OpenID." msgstr "Помилка при підключенні користувача до OpenID." @@ -632,3 +625,8 @@ msgstr "Помилка при підключенні користувача." #: finishaddopenid.php:145 msgid "Error updating profile" msgstr "Помилка при оновленні профілю" + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Ім’я користувача повинно складатись з літер нижнього регістру і цифр, " +#~ "ніяких інтервалів." diff --git a/plugins/OpenX/locale/br/LC_MESSAGES/OpenX.po b/plugins/OpenX/locale/br/LC_MESSAGES/OpenX.po new file mode 100644 index 000000000..c0f138fa0 --- /dev/null +++ b/plugins/OpenX/locale/br/LC_MESSAGES/OpenX.po @@ -0,0 +1,109 @@ +# Translation of StatusNet - OpenX to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenX\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:45+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:54+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-openx\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Menu item title/tooltip +#: OpenXPlugin.php:201 +msgid "OpenX configuration" +msgstr "Kefluniadur OpenX" + +#. TRANS: Menu item for site administration +#: OpenXPlugin.php:203 +msgid "OpenX" +msgstr "OpenX" + +#. TRANS: Plugin description. +#: OpenXPlugin.php:224 +msgid "Plugin for <a href=\"http://www.openx.org/\">OpenX Ad Server</a>." +msgstr "" + +#. TRANS: Page title for OpenX admin panel. +#: openxadminpanel.php:53 +msgctxt "TITLE" +msgid "OpenX" +msgstr "OpenX" + +#. TRANS: Instructions for OpenX admin panel. +#: openxadminpanel.php:64 +msgid "OpenX settings for this StatusNet site" +msgstr "Arventennoù OpenX evit al lec'hienn StatusNet-mañ." + +#. TRANS: Form label in OpenX admin panel. +#: openxadminpanel.php:167 +msgid "Ad script URL" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. +#: openxadminpanel.php:169 +msgid "Script URL" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:175 +msgid "Medium rectangle" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:177 +msgid "Medium rectangle zone" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:183 +msgid "Rectangle" +msgstr "Skouergornek" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:185 +msgid "Rectangle zone" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:191 +msgid "Leaderboard" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:193 +msgid "Leaderboard zone" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:199 +msgid "Skyscraper" +msgstr "Giton a-serzh" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:201 +msgid "Wide skyscraper zone" +msgstr "" + +#. TRANS: Submit button text in OpenX admin panel. +#: openxadminpanel.php:216 +msgctxt "BUTTON" +msgid "Save" +msgstr "Enrollañ" + +#. TRANS: Submit button title in OpenX admin panel. +#: openxadminpanel.php:220 +msgid "Save OpenX settings" +msgstr "" diff --git a/plugins/OpenX/locale/de/LC_MESSAGES/OpenX.po b/plugins/OpenX/locale/de/LC_MESSAGES/OpenX.po new file mode 100644 index 000000000..72933073d --- /dev/null +++ b/plugins/OpenX/locale/de/LC_MESSAGES/OpenX.po @@ -0,0 +1,109 @@ +# Translation of StatusNet - OpenX to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - OpenX\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:41:50+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:35:21+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-openx\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Menu item title/tooltip +#: OpenXPlugin.php:201 +msgid "OpenX configuration" +msgstr "OpenX-Konfiguration" + +#. TRANS: Menu item for site administration +#: OpenXPlugin.php:203 +msgid "OpenX" +msgstr "OpenX" + +#. TRANS: Plugin description. +#: OpenXPlugin.php:224 +msgid "Plugin for <a href=\"http://www.openx.org/\">OpenX Ad Server</a>." +msgstr "Plugin für <a href=\"http://www.openx.org/\">OpenX Ad Server</a>." + +#. TRANS: Page title for OpenX admin panel. +#: openxadminpanel.php:53 +msgctxt "TITLE" +msgid "OpenX" +msgstr "OpenX" + +#. TRANS: Instructions for OpenX admin panel. +#: openxadminpanel.php:64 +msgid "OpenX settings for this StatusNet site" +msgstr "Openx-Einstellungen dieser StatusNet-Website" + +#. TRANS: Form label in OpenX admin panel. +#: openxadminpanel.php:167 +msgid "Ad script URL" +msgstr "Skript-URL" + +#. TRANS: Tooltip for form label in OpenX admin panel. +#: openxadminpanel.php:169 +msgid "Script URL" +msgstr "Skript-URL" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:175 +msgid "Medium rectangle" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:177 +msgid "Medium rectangle zone" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:183 +msgid "Rectangle" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:185 +msgid "Rectangle zone" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:191 +msgid "Leaderboard" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:193 +msgid "Leaderboard zone" +msgstr "" + +#. TRANS: Form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:199 +msgid "Skyscraper" +msgstr "" + +#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format. +#: openxadminpanel.php:201 +msgid "Wide skyscraper zone" +msgstr "" + +#. TRANS: Submit button text in OpenX admin panel. +#: openxadminpanel.php:216 +msgctxt "BUTTON" +msgid "Save" +msgstr "Speichern" + +#. TRANS: Submit button title in OpenX admin panel. +#: openxadminpanel.php:220 +msgid "Save OpenX settings" +msgstr "OpenX-Einstellungen speichern" diff --git a/plugins/PiwikAnalytics/locale/de/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/de/LC_MESSAGES/PiwikAnalytics.po new file mode 100644 index 000000000..a82e33656 --- /dev/null +++ b/plugins/PiwikAnalytics/locale/de/LC_MESSAGES/PiwikAnalytics.po @@ -0,0 +1,30 @@ +# Translation of StatusNet - PiwikAnalytics to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - PiwikAnalytics\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:00+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:55+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: PiwikAnalyticsPlugin.php:105 +msgid "" +"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics " +"software." +msgstr "" +"Benutzung der <a href=\"http://piwik.org/\">Piwik</a>-Open-Source-Web-" +"Analyse-Software." diff --git a/plugins/PostDebug/locale/de/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/de/LC_MESSAGES/PostDebug.po new file mode 100644 index 000000000..c9074bd3a --- /dev/null +++ b/plugins/PostDebug/locale/de/LC_MESSAGES/PostDebug.po @@ -0,0 +1,26 @@ +# Translation of StatusNet - PostDebug to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - PostDebug\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:01+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-postdebug\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: PostDebugPlugin.php:58 +msgid "Debugging tool to record request details on POST." +msgstr "Debugging-Werkzeug zur Aufnahme von POST-Anfragedetails." diff --git a/plugins/PoweredByStatusNet/locale/es/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/es/LC_MESSAGES/PoweredByStatusNet.po new file mode 100644 index 000000000..a4737fd00 --- /dev/null +++ b/plugins/PoweredByStatusNet/locale/es/LC_MESSAGES/PoweredByStatusNet.po @@ -0,0 +1,38 @@ +# Translation of StatusNet - PoweredByStatusNet to Spanish (Español) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - PoweredByStatusNet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:07+0000\n" +"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: es\n" +"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text. +#: PoweredByStatusNetPlugin.php:51 +#, php-format +msgid "powered by %s" +msgstr "" + +#: PoweredByStatusNetPlugin.php:53 +msgid "StatusNet" +msgstr "StatusNet" + +#: PoweredByStatusNetPlugin.php:66 +msgid "" +"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after " +"site name." +msgstr "" diff --git a/plugins/PoweredByStatusNet/locale/pl/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/pl/LC_MESSAGES/PoweredByStatusNet.po new file mode 100644 index 000000000..24c329b8d --- /dev/null +++ b/plugins/PoweredByStatusNet/locale/pl/LC_MESSAGES/PoweredByStatusNet.po @@ -0,0 +1,39 @@ +# Translation of StatusNet - PoweredByStatusNet to Polish (Polski) +# Expored from translatewiki.net +# +# Author: Raven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - PoweredByStatusNet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:07+0000\n" +"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: pl\n" +"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && " +"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text. +#: PoweredByStatusNetPlugin.php:51 +#, php-format +msgid "powered by %s" +msgstr "" + +#: PoweredByStatusNetPlugin.php:53 +msgid "StatusNet" +msgstr "StatusNet" + +#: PoweredByStatusNetPlugin.php:66 +msgid "" +"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after " +"site name." +msgstr "" diff --git a/plugins/PoweredByStatusNet/locale/ru/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/ru/LC_MESSAGES/PoweredByStatusNet.po new file mode 100644 index 000000000..2414b39cb --- /dev/null +++ b/plugins/PoweredByStatusNet/locale/ru/LC_MESSAGES/PoweredByStatusNet.po @@ -0,0 +1,39 @@ +# Translation of StatusNet - PoweredByStatusNet to Russian (Русский) +# Expored from translatewiki.net +# +# Author: MaxSem +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - PoweredByStatusNet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:07+0000\n" +"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:56+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ru\n" +"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n" +"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= " +"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text. +#: PoweredByStatusNetPlugin.php:51 +#, php-format +msgid "powered by %s" +msgstr "" + +#: PoweredByStatusNetPlugin.php:53 +msgid "StatusNet" +msgstr "StatusNet" + +#: PoweredByStatusNetPlugin.php:66 +msgid "" +"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after " +"site name." +msgstr "" diff --git a/plugins/PtitUrl/locale/de/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/de/LC_MESSAGES/PtitUrl.po new file mode 100644 index 000000000..05e919cc8 --- /dev/null +++ b/plugins/PtitUrl/locale/de/LC_MESSAGES/PtitUrl.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - PtitUrl to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - PtitUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:04+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:57+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-ptiturl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: PtitUrlPlugin.php:67 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "Benutzung des <a href=\"http://%1$s/\">%1$s</a>-URL-Kürzungsdienstes." diff --git a/plugins/RSSCloud/locale/nb/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/nb/LC_MESSAGES/RSSCloud.po new file mode 100644 index 000000000..da4118eda --- /dev/null +++ b/plugins/RSSCloud/locale/nb/LC_MESSAGES/RSSCloud.po @@ -0,0 +1,72 @@ +# Translation of StatusNet - RSSCloud to Norwegian (bokmål) (Norsk (bokmål)) +# Expored from translatewiki.net +# +# Author: Nghtwlkr +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - RSSCloud\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:14+0000\n" +"Language-Team: Norwegian (bokmål) <http://translatewiki.net/wiki/Portal:no>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:14:00+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: no\n" +"X-Message-Group: #out-statusnet-plugin-rsscloud\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: RSSCloudRequestNotify.php:90 +msgid "Request must be POST." +msgstr "Forespørsel må være POST." + +#: RSSCloudRequestNotify.php:107 +msgid "Only http-post notifications are supported at this time." +msgstr "" + +#. TRANS: %s is a comma separated list of parameters. +#: RSSCloudRequestNotify.php:118 +#, php-format +msgid "The following parameters were missing from the request body: %s." +msgstr "" + +#: RSSCloudRequestNotify.php:124 +msgid "" +"You must provide at least one valid profile feed url (url1, url2, url3 ... " +"urlN)." +msgstr "" + +#: RSSCloudRequestNotify.php:141 +msgid "Feed subscription failed: Not a valid feed." +msgstr "" + +#: RSSCloudRequestNotify.php:147 +msgid "" +"Feed subscription failed - notification handler doesn't respond correctly." +msgstr "" + +#: RSSCloudRequestNotify.php:161 +msgid "" +"Thanks for the subscription. When the feed(s) update(s), you will be " +"notified." +msgstr "" + +#: LoggingAggregator.php:93 +msgid "This resource requires an HTTP GET." +msgstr "Denne ressursen krever en HTTP GET." + +#: LoggingAggregator.php:104 +msgid "This resource requires an HTTP POST." +msgstr "Denne ressursen krever en HTTP POST." + +#: RSSCloudPlugin.php:248 +msgid "" +"The RSSCloud plugin enables your StatusNet instance to publish real-time " +"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/" +"\">RSSCloud protocol</a>." +msgstr "" diff --git a/plugins/Realtime/RealtimePlugin.php b/plugins/Realtime/RealtimePlugin.php index 99d1ff9c1..113187e1e 100644 --- a/plugins/Realtime/RealtimePlugin.php +++ b/plugins/Realtime/RealtimePlugin.php @@ -322,7 +322,7 @@ class RealtimePlugin extends Plugin function _getScripts() { - return array('plugins/Realtime/realtimeupdate.js'); + return array('plugins/Realtime/realtimeupdate.min.js'); } /** diff --git a/plugins/Realtime/locale/af/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/af/LC_MESSAGES/Realtime.po new file mode 100644 index 000000000..81614a28e --- /dev/null +++ b/plugins/Realtime/locale/af/LC_MESSAGES/Realtime.po @@ -0,0 +1,58 @@ +# Translation of StatusNet - Realtime to Afrikaans (Afrikaans) +# Expored from translatewiki.net +# +# Author: Naudefj +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Realtime\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:59+0000\n" +"Language-Team: Afrikaans <http://translatewiki.net/wiki/Portal:af>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:29:27+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: af\n" +"X-Message-Group: #out-statusnet-plugin-realtime\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Text label for realtime view "play" button, usually replaced by an icon. +#: RealtimePlugin.php:339 +msgctxt "BUTTON" +msgid "Play" +msgstr "Speel" + +#. TRANS: Tooltip for realtime view "play" button. +#: RealtimePlugin.php:341 +msgctxt "TOOLTIP" +msgid "Play" +msgstr "Speel" + +#. TRANS: Text label for realtime view "pause" button +#: RealtimePlugin.php:343 +msgctxt "BUTTON" +msgid "Pause" +msgstr "Wag" + +#. TRANS: Tooltip for realtime view "pause" button +#: RealtimePlugin.php:345 +msgctxt "TOOLTIP" +msgid "Pause" +msgstr "Wag" + +#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon. +#: RealtimePlugin.php:347 +msgctxt "BUTTON" +msgid "Pop up" +msgstr "Pop-up" + +#. TRANS: Tooltip for realtime view "popup" button. +#: RealtimePlugin.php:349 +msgctxt "TOOLTIP" +msgid "Pop up in a window" +msgstr "Wys in 'n venstertjie" diff --git a/plugins/Realtime/locale/br/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/br/LC_MESSAGES/Realtime.po new file mode 100644 index 000000000..d30b98ec5 --- /dev/null +++ b/plugins/Realtime/locale/br/LC_MESSAGES/Realtime.po @@ -0,0 +1,58 @@ +# Translation of StatusNet - Realtime to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Realtime\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:59+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:29:27+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-realtime\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Text label for realtime view "play" button, usually replaced by an icon. +#: RealtimePlugin.php:339 +msgctxt "BUTTON" +msgid "Play" +msgstr "Lenn" + +#. TRANS: Tooltip for realtime view "play" button. +#: RealtimePlugin.php:341 +msgctxt "TOOLTIP" +msgid "Play" +msgstr "Lenn" + +#. TRANS: Text label for realtime view "pause" button +#: RealtimePlugin.php:343 +msgctxt "BUTTON" +msgid "Pause" +msgstr "Ehan" + +#. TRANS: Tooltip for realtime view "pause" button +#: RealtimePlugin.php:345 +msgctxt "TOOLTIP" +msgid "Pause" +msgstr "Ehan" + +#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon. +#: RealtimePlugin.php:347 +msgctxt "BUTTON" +msgid "Pop up" +msgstr "" + +#. TRANS: Tooltip for realtime view "popup" button. +#: RealtimePlugin.php:349 +msgctxt "TOOLTIP" +msgid "Pop up in a window" +msgstr "" diff --git a/plugins/Realtime/locale/fr/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/fr/LC_MESSAGES/Realtime.po new file mode 100644 index 000000000..6d5253fe1 --- /dev/null +++ b/plugins/Realtime/locale/fr/LC_MESSAGES/Realtime.po @@ -0,0 +1,58 @@ +# Translation of StatusNet - Realtime to French (Français) +# Expored from translatewiki.net +# +# Author: Peter17 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Realtime\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:05+0000\n" +"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:35:22+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fr\n" +"X-Message-Group: #out-statusnet-plugin-realtime\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Text label for realtime view "play" button, usually replaced by an icon. +#: RealtimePlugin.php:339 +msgctxt "BUTTON" +msgid "Play" +msgstr "Jouer" + +#. TRANS: Tooltip for realtime view "play" button. +#: RealtimePlugin.php:341 +msgctxt "TOOLTIP" +msgid "Play" +msgstr "Jouer" + +#. TRANS: Text label for realtime view "pause" button +#: RealtimePlugin.php:343 +msgctxt "BUTTON" +msgid "Pause" +msgstr "Pause" + +#. TRANS: Tooltip for realtime view "pause" button +#: RealtimePlugin.php:345 +msgctxt "TOOLTIP" +msgid "Pause" +msgstr "Pause" + +#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon. +#: RealtimePlugin.php:347 +msgctxt "BUTTON" +msgid "Pop up" +msgstr "Nouvelle fenêtre" + +#. TRANS: Tooltip for realtime view "popup" button. +#: RealtimePlugin.php:349 +msgctxt "TOOLTIP" +msgid "Pop up in a window" +msgstr "Afficher dans une nouvelle fenêtre" diff --git a/plugins/Realtime/locale/ne/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/ne/LC_MESSAGES/Realtime.po new file mode 100644 index 000000000..b50563898 --- /dev/null +++ b/plugins/Realtime/locale/ne/LC_MESSAGES/Realtime.po @@ -0,0 +1,58 @@ +# Translation of StatusNet - Realtime to Nepali (नेपाली) +# Expored from translatewiki.net +# +# Author: Bhawani Gautam Rhk +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Realtime\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:05+0000\n" +"Language-Team: Nepali <http://translatewiki.net/wiki/Portal:ne>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:35:22+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ne\n" +"X-Message-Group: #out-statusnet-plugin-realtime\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Text label for realtime view "play" button, usually replaced by an icon. +#: RealtimePlugin.php:339 +msgctxt "BUTTON" +msgid "Play" +msgstr "बजाउ" + +#. TRANS: Tooltip for realtime view "play" button. +#: RealtimePlugin.php:341 +msgctxt "TOOLTIP" +msgid "Play" +msgstr "बजाउ" + +#. TRANS: Text label for realtime view "pause" button +#: RealtimePlugin.php:343 +msgctxt "BUTTON" +msgid "Pause" +msgstr "बिसाउ" + +#. TRANS: Tooltip for realtime view "pause" button +#: RealtimePlugin.php:345 +msgctxt "TOOLTIP" +msgid "Pause" +msgstr "बिसाउ" + +#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon. +#: RealtimePlugin.php:347 +msgctxt "BUTTON" +msgid "Pop up" +msgstr "चम्काउ" + +#. TRANS: Tooltip for realtime view "popup" button. +#: RealtimePlugin.php:349 +msgctxt "TOOLTIP" +msgid "Pop up in a window" +msgstr "चम्क विन्डोमा" diff --git a/plugins/Realtime/locale/tr/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/tr/LC_MESSAGES/Realtime.po new file mode 100644 index 000000000..fb235468a --- /dev/null +++ b/plugins/Realtime/locale/tr/LC_MESSAGES/Realtime.po @@ -0,0 +1,58 @@ +# Translation of StatusNet - Realtime to Turkish (Türkçe) +# Expored from translatewiki.net +# +# Author: Maidis +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Realtime\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:28:59+0000\n" +"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-05 00:29:27+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: tr\n" +"X-Message-Group: #out-statusnet-plugin-realtime\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. TRANS: Text label for realtime view "play" button, usually replaced by an icon. +#: RealtimePlugin.php:339 +msgctxt "BUTTON" +msgid "Play" +msgstr "Oynat" + +#. TRANS: Tooltip for realtime view "play" button. +#: RealtimePlugin.php:341 +msgctxt "TOOLTIP" +msgid "Play" +msgstr "Oynat" + +#. TRANS: Text label for realtime view "pause" button +#: RealtimePlugin.php:343 +msgctxt "BUTTON" +msgid "Pause" +msgstr "Duraklat" + +#. TRANS: Tooltip for realtime view "pause" button +#: RealtimePlugin.php:345 +msgctxt "TOOLTIP" +msgid "Pause" +msgstr "Duraklat" + +#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon. +#: RealtimePlugin.php:347 +msgctxt "BUTTON" +msgid "Pop up" +msgstr "" + +#. TRANS: Tooltip for realtime view "popup" button. +#: RealtimePlugin.php:349 +msgctxt "TOOLTIP" +msgid "Pop up in a window" +msgstr "" diff --git a/plugins/Realtime/locale/uk/LC_MESSAGES/Realtime.po b/plugins/Realtime/locale/uk/LC_MESSAGES/Realtime.po new file mode 100644 index 000000000..f15b29127 --- /dev/null +++ b/plugins/Realtime/locale/uk/LC_MESSAGES/Realtime.po @@ -0,0 +1,59 @@ +# Translation of StatusNet - Realtime to Ukrainian (Українська) +# Expored from translatewiki.net +# +# Author: Boogie +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Realtime\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-04 18:25+0000\n" +"PO-Revision-Date: 2010-11-04 18:29:00+0000\n" +"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-02 23:07:29+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76004); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: uk\n" +"X-Message-Group: #out-statusnet-plugin-realtime\n" +"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= " +"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#. TRANS: Text label for realtime view "play" button, usually replaced by an icon. +#: RealtimePlugin.php:339 +msgctxt "BUTTON" +msgid "Play" +msgstr "Оновлювати" + +#. TRANS: Tooltip for realtime view "play" button. +#: RealtimePlugin.php:341 +msgctxt "TOOLTIP" +msgid "Play" +msgstr "Оновлювати" + +#. TRANS: Text label for realtime view "pause" button +#: RealtimePlugin.php:343 +msgctxt "BUTTON" +msgid "Pause" +msgstr "Пауза" + +#. TRANS: Tooltip for realtime view "pause" button +#: RealtimePlugin.php:345 +msgctxt "TOOLTIP" +msgid "Pause" +msgstr "Пауза" + +#. TRANS: Text label for realtime view "popup" button, usually replaced by an icon. +#: RealtimePlugin.php:347 +msgctxt "BUTTON" +msgid "Pop up" +msgstr "Окреме вікно" + +#. TRANS: Tooltip for realtime view "popup" button. +#: RealtimePlugin.php:349 +msgctxt "TOOLTIP" +msgid "Pop up in a window" +msgstr "Стрічка окремим вікном" diff --git a/plugins/Realtime/realtimeupdate.js b/plugins/Realtime/realtimeupdate.js index f49cef95e..21938ee1d 100644 --- a/plugins/Realtime/realtimeupdate.js +++ b/plugins/Realtime/realtimeupdate.js @@ -26,8 +26,22 @@ * @link http://status.net/ */ -// TODO: i18n - +/** + * This is the UI portion of the Realtime plugin base class, handling + * queueing up and displaying of notices that have been received through + * other code in one of the subclassed plugin implementations such as + * Meteor or Orbited. + * + * Notices are passed in as JSON objects formatted per the Twitter-compatible + * API. + * + * @todo Currently we duplicate a lot of formatting and layout code from + * the PHP side of StatusNet, which makes it very difficult to maintain + * this package. Internationalization as well as newer features such + * as location data, customized source links for OStatus profiles, + * and image thumbnails are not yet supported in Realtime yet because + * they have not been implemented here. + */ RealtimeUpdate = { _userid: 0, _replyurl: '', @@ -41,6 +55,25 @@ RealtimeUpdate = { _paused:false, _queuedNotices:[], + /** + * Initialize the Realtime plugin UI on a page with a timeline view. + * + * This function is called from a JS fragment inserted by the PHP side + * of the Realtime plugin, and provides us with base information + * needed to build a near-replica of StatusNet's NoticeListItem output. + * + * Once the UI is initialized, a plugin subclass will need to actually + * feed data into the RealtimeUpdate object! + * + * @param {int} userid: local profile ID of the currently logged-in user + * @param {String} replyurl: URL for newnotice action, used when generating reply buttons + * @param {String} favorurl: URL for favor action, used when generating fave buttons + * @param {String} repeaturl: URL for repeat action, used when generating repeat buttons + * @param {String} deleteurl: URL template for deletenotice action, used when generating delete buttons. + * This URL contains a stub value of 0000000000 which will be replaced with the notice ID. + * + * @access public + */ init: function(userid, replyurl, favorurl, repeaturl, deleteurl) { RealtimeUpdate._userid = userid; @@ -51,23 +84,51 @@ RealtimeUpdate = { RealtimeUpdate._documenttitle = document.title; - $(window).bind('focus', function(){ RealtimeUpdate._windowhasfocus = true; }); + $(window).bind('focus', function() { + RealtimeUpdate._windowhasfocus = true; + + // Clear the counter on the window title when we focus in. + RealtimeUpdate._updatecounter = 0; + RealtimeUpdate.removeWindowCounter(); + }); $(window).bind('blur', function() { $('#notices_primary .notice').removeClass('mark-top'); $('#notices_primary .notice:first').addClass('mark-top'); - RealtimeUpdate._updatecounter = 0; - document.title = RealtimeUpdate._documenttitle; + // While we're in the background, received messages will increment + // a counter that we put on the window title. This will cause some + // browsers to also flash or mark the tab or window title bar until + // you seek attention (eg Firefox 4 pinned app tabs). RealtimeUpdate._windowhasfocus = false; return false; }); }, + /** + * Accept a notice in a Twitter-API JSON style and either show it + * or queue it up, depending on whether the realtime display is + * active. + * + * The meat of a Realtime plugin subclass is to provide a substrate + * transport to receive data and shove it into this function. :) + * + * Note that the JSON data is extended from the standard API return + * with additional fields added by RealtimePlugin's PHP code. + * + * @param {Object} data: extended JSON API-formatted notice + * + * @access public + */ receive: function(data) { + if (RealtimeUpdate.isNoticeVisible(data.id)) { + // Probably posted by the user in this window, and so already + // shown by the AJAX form handler. Ignore it. + return; + } if (RealtimeUpdate._paused === false) { RealtimeUpdate.purgeLastNoticeItem(); @@ -82,9 +143,23 @@ RealtimeUpdate = { RealtimeUpdate.updateWindowCounter(); }, + /** + * Add a visible representation of the given notice at the top of + * the current timeline. + * + * If the notice is already in the timeline, nothing will be added. + * + * @param {Object} data: extended JSON API-formatted notice + * + * @fixme while core UI JS code is used to activate the AJAX UI controls, + * the actual production of HTML (in makeNoticeItem and its subs) + * duplicates core code without plugin hook points or i18n support. + * + * @access private + */ insertNoticeItem: function(data) { // Don't add it if it already exists - if ($("#notice-"+data.id).length > 0) { + if (RealtimeUpdate.isNoticeVisible(data.id)) { return; } @@ -99,12 +174,41 @@ RealtimeUpdate = { SN.U.NoticeWithAttachment($('#'+noticeItemID)); }, + /** + * Check if the given notice is visible in the timeline currently. + * Used to avoid duplicate processing of notices that have been + * displayed by other means. + * + * @param {number} id: notice ID to check + * + * @return boolean + * + * @access private + */ + isNoticeVisible: function(id) { + return ($("#notice-"+id).length > 0); + }, + + /** + * Trims a notice off the end of the timeline if we have more than the + * maximum number of notices visible. + * + * @access private + */ purgeLastNoticeItem: function() { if ($('#notices_primary .notice').length > RealtimeUpdate._maxnotices) { $("#notices_primary .notice:last").remove(); } }, + /** + * If the window/tab is in background, increment the counter of newly + * received notices and append it onto the window title. + * + * Has no effect if the window is in foreground. + * + * @access private + */ updateWindowCounter: function() { if (RealtimeUpdate._windowhasfocus === false) { RealtimeUpdate._updatecounter += 1; @@ -112,6 +216,30 @@ RealtimeUpdate = { } }, + /** + * Clear the background update counter from the window title. + * + * @access private + * + * @fixme could interfere with anything else trying similar tricks + */ + removeWindowCounter: function() { + document.title = RealtimeUpdate._documenttitle; + }, + + /** + * Builds a notice HTML block from JSON API-style data. + * + * @param {Object} data: extended JSON API-formatted notice + * @return {String} HTML fragment + * + * @fixme this replicates core StatusNet code, making maintenance harder + * @fixme sloppy HTML building (raw concat without escaping) + * @fixme no i18n support + * @fixme local variables pollute global namespace + * + * @access private + */ makeNoticeItem: function(data) { if (data.hasOwnProperty('retweeted_status')) { @@ -182,6 +310,19 @@ RealtimeUpdate = { return ni; }, + /** + * Creates a favorite button. + * + * @param {number} id: notice ID to work with + * @param {String} session_key: session token for form CSRF protection + * @return {String} HTML fragment + * + * @fixme this replicates core StatusNet code, making maintenance harder + * @fixme sloppy HTML building (raw concat without escaping) + * @fixme no i18n support + * + * @access private + */ makeFavoriteForm: function(id, session_key) { var ff; @@ -197,6 +338,19 @@ RealtimeUpdate = { return ff; }, + /** + * Creates a reply button. + * + * @param {number} id: notice ID to work with + * @param {String} nickname: nick of the user to whom we are replying + * @return {String} HTML fragment + * + * @fixme this replicates core StatusNet code, making maintenance harder + * @fixme sloppy HTML building (raw concat without escaping) + * @fixme no i18n support + * + * @access private + */ makeReplyLink: function(id, nickname) { var rl; @@ -204,6 +358,19 @@ RealtimeUpdate = { return rl; }, + /** + * Creates a repeat button. + * + * @param {number} id: notice ID to work with + * @param {String} session_key: session token for form CSRF protection + * @return {String} HTML fragment + * + * @fixme this replicates core StatusNet code, making maintenance harder + * @fixme sloppy HTML building (raw concat without escaping) + * @fixme no i18n support + * + * @access private + */ makeRepeatForm: function(id, session_key) { var rf; @@ -219,6 +386,18 @@ RealtimeUpdate = { return rf; }, + /** + * Creates a delete button. + * + * @param {number} id: notice ID to create a delete link for + * @return {String} HTML fragment + * + * @fixme this replicates core StatusNet code, making maintenance harder + * @fixme sloppy HTML building (raw concat without escaping) + * @fixme no i18n support + * + * @access private + */ makeDeleteLink: function(id) { var dl, delurl; @@ -229,6 +408,19 @@ RealtimeUpdate = { return dl; }, + /** + * Adds a control widget at the top of the timeline view, containing + * pause/play and popup buttons. + * + * @param {String} url: full URL to the popup window variant of this timeline page + * @param {String} timeline: string key for the timeline (eg 'public' or 'evan-all') + * @param {String} path: URL to the base directory containing the Realtime plugin, + * used to fetch resources if needed. + * + * @todo timeline and path parameters are unused and probably should be removed. + * + * @access private + */ initActions: function(url, timeline, path) { $('#notices_primary').prepend('<ul id="realtime_actions"><li id="realtime_playpause"></li><li id="realtime_timeline"></li></ul>'); @@ -239,6 +431,14 @@ RealtimeUpdate = { RealtimeUpdate.initAddPopup(url, timeline, RealtimeUpdate._pluginPath); }, + /** + * Initialize the state of the play/pause controls. + * + * If the browser supports the localStorage interface, we'll attempt + * to retrieve a pause state from there; otherwise we default to paused. + * + * @access private + */ initPlayPause: function() { if (typeof(localStorage) == 'undefined') { @@ -254,6 +454,15 @@ RealtimeUpdate = { } }, + /** + * Switch the realtime UI into paused state. + * Uses SN.msg i18n system for the button label and tooltip. + * + * State will be saved and re-used next time if the browser supports + * the localStorage interface (via setPause). + * + * @access private + */ showPause: function() { RealtimeUpdate.setPause(false); @@ -271,6 +480,15 @@ RealtimeUpdate = { }); }, + /** + * Switch the realtime UI into play state. + * Uses SN.msg i18n system for the button label and tooltip. + * + * State will be saved and re-used next time if the browser supports + * the localStorage interface (via setPause). + * + * @access private + */ showPlay: function() { RealtimeUpdate.setPause(true); @@ -284,6 +502,17 @@ RealtimeUpdate = { }); }, + /** + * Update the internal pause/play state. + * Do not call directly; use showPause() and showPlay(). + * + * State will be saved and re-used next time if the browser supports + * the localStorage interface. + * + * @param {boolean} state: true = paused, false = not paused + * + * @access private + */ setPause: function(state) { RealtimeUpdate._paused = state; @@ -292,6 +521,14 @@ RealtimeUpdate = { } }, + /** + * Go through notices we have previously received while paused, + * dumping them into the timeline view. + * + * @fixme long timelines are not trimmed here as they are for things received while not paused + * + * @access private + */ showQueuedNotices: function() { $.each(RealtimeUpdate._queuedNotices, function(i, n) { @@ -303,16 +540,35 @@ RealtimeUpdate = { RealtimeUpdate.removeQueuedCounter(); }, + /** + * Update the Realtime widget control's counter of queued notices to show + * the current count. This will be called after receiving and queueing + * a notice while paused. + * + * @access private + */ updateQueuedCounter: function() { $('#realtime_playpause #queued_counter').html('('+RealtimeUpdate._queuedNotices.length+')'); }, + /** + * Clear the Realtime widget control's counter of queued notices. + * + * @access private + */ removeQueuedCounter: function() { $('#realtime_playpause #queued_counter').empty(); }, + /** + * Set up event handlers on the timeline view to automatically pause + * when the mouse is over the timeline, as this indicates the user's + * desire to interact with the UI. (Which is hard to do when it's moving!) + * + * @access private + */ addNoticesHover: function() { $('#notices_primary .notices').hover( @@ -329,11 +585,38 @@ RealtimeUpdate = { ); }, + /** + * Tear down event handlers on the timeline view to automatically pause + * when the mouse is over the timeline. + * + * @fixme this appears to remove *ALL* event handlers from the timeline, + * which assumes that nobody else is adding any event handlers. + * Sloppy -- we should only remove the ones we add. + * + * @access private + */ removeNoticesHover: function() { $('#notices_primary .notices').unbind(); }, + /** + * UI initialization, to be called from Realtime plugin code on regular + * timeline pages. + * + * Adds a button to the control widget at the top of the timeline view, + * allowing creation of a popup window with a more compact real-time + * view of the current timeline. + * + * @param {String} url: full URL to the popup window variant of this timeline page + * @param {String} timeline: string key for the timeline (eg 'public' or 'evan-all') + * @param {String} path: URL to the base directory containing the Realtime plugin, + * used to fetch resources if needed. + * + * @todo timeline and path parameters are unused and probably should be removed. + * + * @access public + */ initAddPopup: function(url, timeline, path) { $('#realtime_timeline').append('<button id="realtime_popup"></button>'); @@ -348,6 +631,17 @@ RealtimeUpdate = { }); }, + /** + * UI initialization, to be called from Realtime plugin code on popup + * compact timeline pages. + * + * Sets up links in notices to open in a new window. + * + * @fixme fails to do the same for UI links like context view which will + * look bad in the tiny chromeless window. + * + * @access public + */ initPopupWindow: function() { $('.notices .entry-title a, .notices .entry-content a').bind('click', function() { diff --git a/plugins/Realtime/realtimeupdate.min.js b/plugins/Realtime/realtimeupdate.min.js new file mode 100644 index 000000000..60a4b446e --- /dev/null +++ b/plugins/Realtime/realtimeupdate.min.js @@ -0,0 +1 @@ +RealtimeUpdate={_userid:0,_replyurl:"",_favorurl:"",_repeaturl:"",_deleteurl:"",_updatecounter:0,_maxnotices:50,_windowhasfocus:true,_documenttitle:"",_paused:false,_queuedNotices:[],init:function(c,b,d,e,a){RealtimeUpdate._userid=c;RealtimeUpdate._replyurl=b;RealtimeUpdate._favorurl=d;RealtimeUpdate._repeaturl=e;RealtimeUpdate._deleteurl=a;RealtimeUpdate._documenttitle=document.title;$(window).bind("focus",function(){RealtimeUpdate._windowhasfocus=true;RealtimeUpdate._updatecounter=0;RealtimeUpdate.removeWindowCounter()});$(window).bind("blur",function(){$("#notices_primary .notice").removeClass("mark-top");$("#notices_primary .notice:first").addClass("mark-top");RealtimeUpdate._windowhasfocus=false;return false})},receive:function(a){if(RealtimeUpdate.isNoticeVisible(a.id)){return}if(RealtimeUpdate._paused===false){RealtimeUpdate.purgeLastNoticeItem();RealtimeUpdate.insertNoticeItem(a)}else{RealtimeUpdate._queuedNotices.push(a);RealtimeUpdate.updateQueuedCounter()}RealtimeUpdate.updateWindowCounter()},insertNoticeItem:function(a){if(RealtimeUpdate.isNoticeVisible(a.id)){return}var b=RealtimeUpdate.makeNoticeItem(a);var c=$(b).attr("id");$("#notices_primary .notices").prepend(b);$("#notices_primary .notice:first").css({display:"none"});$("#notices_primary .notice:first").fadeIn(1000);SN.U.NoticeReplyTo($("#"+c));SN.U.NoticeWithAttachment($("#"+c))},isNoticeVisible:function(a){return($("#notice-"+a).length>0)},purgeLastNoticeItem:function(){if($("#notices_primary .notice").length>RealtimeUpdate._maxnotices){$("#notices_primary .notice:last").remove()}},updateWindowCounter:function(){if(RealtimeUpdate._windowhasfocus===false){RealtimeUpdate._updatecounter+=1;document.title="("+RealtimeUpdate._updatecounter+") "+RealtimeUpdate._documenttitle}},removeWindowCounter:function(){document.title=RealtimeUpdate._documenttitle},makeNoticeItem:function(c){if(c.hasOwnProperty("retweeted_status")){original=c.retweeted_status;repeat=c;c=original;unique=repeat.id;responsible=repeat.user}else{original=null;repeat=null;unique=c.id;responsible=c.user}user=c.user;html=c.html.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&/g,"&");source=c.source.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/&/g,"&");ni='<li class="hentry notice" id="notice-'+unique+'"><div class="entry-title"><span class="vcard author"><a href="'+user.profile_url+'" class="url" title="'+user.name+'"><img src="'+user.profile_image_url+'" class="avatar photo" width="48" height="48" alt="'+user.screen_name+'"/><span class="nickname fn">'+user.screen_name+'</span></a></span><p class="entry-content">'+html+'</p></div><div class="entry-content"><a class="timestamp" rel="bookmark" href="'+c.url+'" ><abbr class="published" title="'+c.created_at+'">a few seconds ago</abbr></a> <span class="source">from <span class="device">'+source+"</span></span>";if(c.conversation_url){ni=ni+' <a class="response" href="'+c.conversation_url+'">in context</a>'}if(repeat){ru=repeat.user;ni=ni+'<span class="repeat vcard">Repeated by <a href="'+ru.profile_url+'" class="url"><span class="nickname">'+ru.screen_name+"</span></a></span>"}ni=ni+"</div>";ni=ni+'<div class="notice-options">';if(RealtimeUpdate._userid!=0){var a=$("form#form_notice fieldset input#token");var b=a.val();ni=ni+RealtimeUpdate.makeFavoriteForm(c.id,b);ni=ni+RealtimeUpdate.makeReplyLink(c.id,c.user["screen_name"]);if(RealtimeUpdate._userid==responsible.id){ni=ni+RealtimeUpdate.makeDeleteLink(c.id)}else{if(RealtimeUpdate._userid!=user.id){ni=ni+RealtimeUpdate.makeRepeatForm(c.id,b)}}}ni=ni+"</div>";ni=ni+"</li>";return ni},makeFavoriteForm:function(c,b){var a;a='<form id="favor-'+c+'" class="form_favor" method="post" action="'+RealtimeUpdate._favorurl+'"><fieldset><legend>Favor this notice</legend><input name="token-'+c+'" type="hidden" id="token-'+c+'" value="'+b+'"/><input name="notice" type="hidden" id="notice-n'+c+'" value="'+c+'"/><input type="submit" id="favor-submit-'+c+'" name="favor-submit-'+c+'" class="submit" value="Favor" title="Favor this notice"/></fieldset></form>';return a},makeReplyLink:function(c,a){var b;b='<a class="notice_reply" href="'+RealtimeUpdate._replyurl+"?replyto="+a+'" title="Reply to this notice">Reply <span class="notice_id">'+c+"</span></a>";return b},makeRepeatForm:function(c,b){var a;a='<form id="repeat-'+c+'" class="form_repeat" method="post" action="'+RealtimeUpdate._repeaturl+'"><fieldset><legend>Repeat this notice?</legend><input name="token-'+c+'" type="hidden" id="token-'+c+'" value="'+b+'"/><input name="notice" type="hidden" id="notice-'+c+'" value="'+c+'"/><input type="submit" id="repeat-submit-'+c+'" name="repeat-submit-'+c+'" class="submit" value="Yes" title="Repeat this notice"/></fieldset></form>';return a},makeDeleteLink:function(c){var b,a;a=RealtimeUpdate._deleteurl.replace("0000000000",c);b='<a class="notice_delete" href="'+a+'" title="Delete this notice">Delete</a>';return b},initActions:function(a,b,c){$("#notices_primary").prepend('<ul id="realtime_actions"><li id="realtime_playpause"></li><li id="realtime_timeline"></li></ul>');RealtimeUpdate._pluginPath=c;RealtimeUpdate.initPlayPause();RealtimeUpdate.initAddPopup(a,b,RealtimeUpdate._pluginPath)},initPlayPause:function(){if(typeof(localStorage)=="undefined"){RealtimeUpdate.showPause()}else{if(localStorage.getItem("RealtimeUpdate_paused")==="true"){RealtimeUpdate.showPlay()}else{RealtimeUpdate.showPause()}}},showPause:function(){RealtimeUpdate.setPause(false);RealtimeUpdate.showQueuedNotices();RealtimeUpdate.addNoticesHover();$("#realtime_playpause").remove();$("#realtime_actions").prepend('<li id="realtime_playpause"><button id="realtime_pause" class="pause"></button></li>');$("#realtime_pause").text(SN.msg("realtime_pause")).attr("title",SN.msg("realtime_pause_tooltip")).bind("click",function(){RealtimeUpdate.removeNoticesHover();RealtimeUpdate.showPlay();return false})},showPlay:function(){RealtimeUpdate.setPause(true);$("#realtime_playpause").remove();$("#realtime_actions").prepend('<li id="realtime_playpause"><span id="queued_counter"></span> <button id="realtime_play" class="play"></button></li>');$("#realtime_play").text(SN.msg("realtime_play")).attr("title",SN.msg("realtime_play_tooltip")).bind("click",function(){RealtimeUpdate.showPause();return false})},setPause:function(a){RealtimeUpdate._paused=a;if(typeof(localStorage)!="undefined"){localStorage.setItem("RealtimeUpdate_paused",RealtimeUpdate._paused)}},showQueuedNotices:function(){$.each(RealtimeUpdate._queuedNotices,function(a,b){RealtimeUpdate.insertNoticeItem(b)});RealtimeUpdate._queuedNotices=[];RealtimeUpdate.removeQueuedCounter()},updateQueuedCounter:function(){$("#realtime_playpause #queued_counter").html("("+RealtimeUpdate._queuedNotices.length+")")},removeQueuedCounter:function(){$("#realtime_playpause #queued_counter").empty()},addNoticesHover:function(){$("#notices_primary .notices").hover(function(){if(RealtimeUpdate._paused===false){RealtimeUpdate.showPlay()}},function(){if(RealtimeUpdate._paused===true){RealtimeUpdate.showPause()}})},removeNoticesHover:function(){$("#notices_primary .notices").unbind()},initAddPopup:function(a,b,c){$("#realtime_timeline").append('<button id="realtime_popup"></button>');$("#realtime_popup").text(SN.msg("realtime_popup")).attr("title",SN.msg("realtime_popup_tooltip")).bind("click",function(){window.open(a,"","toolbar=no,resizable=yes,scrollbars=yes,status=no,menubar=no,personalbar=no,location=no,width=500,height=550");return false})},initPopupWindow:function(){$(".notices .entry-title a, .notices .entry-content a").bind("click",function(){window.open(this.href,"");return false});$("#showstream .entity_profile").css({width:"69%"})}};
\ No newline at end of file diff --git a/plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po new file mode 100644 index 000000000..ddb9bf07c --- /dev/null +++ b/plugins/Recaptcha/locale/ja/LC_MESSAGES/Recaptcha.po @@ -0,0 +1,38 @@ +# Translation of StatusNet - Recaptcha to Japanese (日本語) +# Expored from translatewiki.net +# +# Author: 青子守歌 +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Recaptcha\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:10+0000\n" +"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:57+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ja\n" +"X-Message-Group: #out-statusnet-plugin-recaptcha\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: RecaptchaPlugin.php:64 +msgid "Captcha" +msgstr "" + +#: RecaptchaPlugin.php:105 +msgid "Captcha does not match!" +msgstr "" + +#: RecaptchaPlugin.php:117 +msgid "" +"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a " +"captcha to the registration page." +msgstr "" +"登録ページにキャプチャとして<a href=\"http://recaptcha.org/\">Recaptcha</a>" +"サービスを利用する。" diff --git a/plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po new file mode 100644 index 000000000..4d6f78374 --- /dev/null +++ b/plugins/Recaptcha/locale/pl/LC_MESSAGES/Recaptcha.po @@ -0,0 +1,37 @@ +# Translation of StatusNet - Recaptcha to Polish (Polski) +# Expored from translatewiki.net +# +# Author: Raven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Recaptcha\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:10+0000\n" +"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:13:57+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: pl\n" +"X-Message-Group: #out-statusnet-plugin-recaptcha\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && " +"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#: RecaptchaPlugin.php:64 +msgid "Captcha" +msgstr "Captcha" + +#: RecaptchaPlugin.php:105 +msgid "Captcha does not match!" +msgstr "" + +#: RecaptchaPlugin.php:117 +msgid "" +"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a " +"captcha to the registration page." +msgstr "" diff --git a/plugins/RegisterThrottle/locale/de/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/de/LC_MESSAGES/RegisterThrottle.po index dcbe76001..aea0d5acd 100644 --- a/plugins/RegisterThrottle/locale/de/LC_MESSAGES/RegisterThrottle.po +++ b/plugins/RegisterThrottle/locale/de/LC_MESSAGES/RegisterThrottle.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - RegisterThrottle\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:25+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:07+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:00:59+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:13:58+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-registerthrottle\n" @@ -32,7 +32,7 @@ msgstr "" #: RegisterThrottlePlugin.php:161 msgid "A banned user has registered from this address." -msgstr "" +msgstr "Ein gesperrter Benutzer hat sich von dieser Adresse registriert." #: RegisterThrottlePlugin.php:191 msgid "Cannot find user after successful registration." diff --git a/plugins/RegisterThrottle/locale/ru/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/ru/LC_MESSAGES/RegisterThrottle.po new file mode 100644 index 000000000..ee0758f7d --- /dev/null +++ b/plugins/RegisterThrottle/locale/ru/LC_MESSAGES/RegisterThrottle.po @@ -0,0 +1,43 @@ +# Translation of StatusNet - RegisterThrottle to Russian (Русский) +# Expored from translatewiki.net +# +# Author: MaxSem +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - RegisterThrottle\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:11+0000\n" +"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:44:33+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ru\n" +"X-Message-Group: #out-statusnet-plugin-registerthrottle\n" +"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= " +"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#: RegisterThrottlePlugin.php:134 RegisterThrottlePlugin.php:185 +msgid "Cannot find IP address." +msgstr "IP-адрес не найден." + +#: RegisterThrottlePlugin.php:149 +msgid "Too many registrations. Take a break and try again later." +msgstr "" + +#: RegisterThrottlePlugin.php:161 +msgid "A banned user has registered from this address." +msgstr "" + +#: RegisterThrottlePlugin.php:191 +msgid "Cannot find user after successful registration." +msgstr "" + +#: RegisterThrottlePlugin.php:224 +msgid "Throttles excessive registration from a single IP address." +msgstr "" diff --git a/plugins/RequireValidatedEmail/locale/de/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/de/LC_MESSAGES/RequireValidatedEmail.po index 3644e117e..77c256961 100644 --- a/plugins/RequireValidatedEmail/locale/de/LC_MESSAGES/RequireValidatedEmail.po +++ b/plugins/RequireValidatedEmail/locale/de/LC_MESSAGES/RequireValidatedEmail.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - RequireValidatedEmail\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:26+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:08+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:54:48+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:13:59+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n" @@ -31,4 +31,4 @@ msgstr "Du musst eine E-Mail-Adresse angeben, um dich zu registrieren." #: RequireValidatedEmailPlugin.php:216 msgid "Disables posting without a validated email address." -msgstr "" +msgstr "Deaktiviert Posten ohne gültige E-Mail-Adresse." diff --git a/plugins/Sample/locale/br/LC_MESSAGES/Sample.po b/plugins/Sample/locale/br/LC_MESSAGES/Sample.po index 2ac1405de..0702b07c3 100644 --- a/plugins/Sample/locale/br/LC_MESSAGES/Sample.po +++ b/plugins/Sample/locale/br/LC_MESSAGES/Sample.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Sample\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:31+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:05+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-20 17:58:22+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:14:01+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-sample\n" @@ -26,14 +26,14 @@ msgstr "" #: User_greeting_count.php:164 #, php-format msgid "Could not save new greeting count for %d." -msgstr "" +msgstr "Dibosupl eo enrollañ ar gont degemer nevez evit an implijer %d." #. TRANS: Exception thrown when the user greeting count could not be saved in the database. #. TRANS: %d is a user ID (number). #: User_greeting_count.php:177 #, php-format msgid "Could not increment greeting count for %d." -msgstr "" +msgstr "Dibosupl eo inkremantañ ar gont degemer nevez evit an implijer %d." #: SamplePlugin.php:259 hello.php:111 msgid "Hello" @@ -41,11 +41,13 @@ msgstr "Demat" #: SamplePlugin.php:259 msgid "A warm greeting" -msgstr "" +msgstr "Un degemer tomm" #: SamplePlugin.php:270 msgid "A sample plugin to show basics of development for new hackers." msgstr "" +"Ur skouer a lugant evit diskouez an diazezoù diorren evit ar c'hoderien " +"nevez." #: hello.php:113 #, php-format @@ -65,5 +67,5 @@ msgstr "Demat, %s" #, php-format msgid "I have greeted you %d time." msgid_plural "I have greeted you %d times." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ur" +msgstr[1] "%d" diff --git a/plugins/Sample/locale/gl/LC_MESSAGES/Sample.po b/plugins/Sample/locale/gl/LC_MESSAGES/Sample.po new file mode 100644 index 000000000..71c80757d --- /dev/null +++ b/plugins/Sample/locale/gl/LC_MESSAGES/Sample.po @@ -0,0 +1,69 @@ +# Translation of StatusNet - Sample to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Sample\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:15+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:46:16+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-sample\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Exception thrown when the user greeting count could not be saved in the database. +#. TRANS: %d is a user ID (number). +#: User_greeting_count.php:164 +#, php-format +msgid "Could not save new greeting count for %d." +msgstr "" + +#. TRANS: Exception thrown when the user greeting count could not be saved in the database. +#. TRANS: %d is a user ID (number). +#: User_greeting_count.php:177 +#, php-format +msgid "Could not increment greeting count for %d." +msgstr "" + +#: SamplePlugin.php:259 hello.php:111 +msgid "Hello" +msgstr "Ola" + +#: SamplePlugin.php:259 +msgid "A warm greeting" +msgstr "" + +#: SamplePlugin.php:270 +msgid "A sample plugin to show basics of development for new hackers." +msgstr "" + +#: hello.php:113 +#, php-format +msgid "Hello, %s!" +msgstr "" + +#: hello.php:133 +msgid "Hello, stranger!" +msgstr "" + +#: hello.php:136 +#, php-format +msgid "Hello, %s" +msgstr "Ola, %s" + +#: hello.php:138 +#, php-format +msgid "I have greeted you %d time." +msgid_plural "I have greeted you %d times." +msgstr[0] "" +msgstr[1] "" diff --git a/plugins/Sample/locale/lb/LC_MESSAGES/Sample.po b/plugins/Sample/locale/lb/LC_MESSAGES/Sample.po new file mode 100644 index 000000000..fdea9b2d8 --- /dev/null +++ b/plugins/Sample/locale/lb/LC_MESSAGES/Sample.po @@ -0,0 +1,69 @@ +# Translation of StatusNet - Sample to Luxembourgish (Lëtzebuergesch) +# Expored from translatewiki.net +# +# Author: Robby +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - Sample\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:11+0000\n" +"Language-Team: Luxembourgish <http://translatewiki.net/wiki/Portal:lb>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-07 21:21:52+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: lb\n" +"X-Message-Group: #out-statusnet-plugin-sample\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Exception thrown when the user greeting count could not be saved in the database. +#. TRANS: %d is a user ID (number). +#: User_greeting_count.php:164 +#, php-format +msgid "Could not save new greeting count for %d." +msgstr "" + +#. TRANS: Exception thrown when the user greeting count could not be saved in the database. +#. TRANS: %d is a user ID (number). +#: User_greeting_count.php:177 +#, php-format +msgid "Could not increment greeting count for %d." +msgstr "" + +#: SamplePlugin.php:259 hello.php:111 +msgid "Hello" +msgstr "Salut" + +#: SamplePlugin.php:259 +msgid "A warm greeting" +msgstr "E schéine Bonjour" + +#: SamplePlugin.php:270 +msgid "A sample plugin to show basics of development for new hackers." +msgstr "" + +#: hello.php:113 +#, php-format +msgid "Hello, %s!" +msgstr "Salut %s!" + +#: hello.php:133 +msgid "Hello, stranger!" +msgstr "" + +#: hello.php:136 +#, php-format +msgid "Hello, %s" +msgstr "Salut, %s" + +#: hello.php:138 +#, php-format +msgid "I have greeted you %d time." +msgid_plural "I have greeted you %d times." +msgstr[0] "" +msgstr[1] "" diff --git a/plugins/ShareNotice/locale/br/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/br/LC_MESSAGES/ShareNotice.po new file mode 100644 index 000000000..497256d09 --- /dev/null +++ b/plugins/ShareNotice/locale/br/LC_MESSAGES/ShareNotice.po @@ -0,0 +1,53 @@ +# Translation of StatusNet - ShareNotice to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ShareNotice\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:16+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:46:17+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-sharenotice\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Leave this message unchanged. +#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform. +#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194 +#, php-format +msgid "\"%s\"" +msgstr "\"%s\"" + +#. TRANS: Tooltip for image to share a notice on Twitter. +#: ShareNoticePlugin.php:130 +msgid "Share on Twitter" +msgstr "" + +#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook). +#. TRANS: %s is a host name. +#: ShareNoticePlugin.php:163 +#, php-format +msgid "Share on %s" +msgstr "" + +#. TRANS: Tooltip for image to share a notice on Facebook. +#: ShareNoticePlugin.php:186 +msgid "Share on Facebook" +msgstr "" + +#. TRANS: Plugin description. +#: ShareNoticePlugin.php:219 +msgid "" +"This plugin allows sharing of notices to Twitter, Facebook and other " +"platforms." +msgstr "" diff --git a/plugins/ShareNotice/locale/de/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/de/LC_MESSAGES/ShareNotice.po index 270b5a516..2fc49d43d 100644 --- a/plugins/ShareNotice/locale/de/LC_MESSAGES/ShareNotice.po +++ b/plugins/ShareNotice/locale/de/LC_MESSAGES/ShareNotice.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - ShareNotice\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:36+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:17+0000\n" "Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:34:10+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:14:45+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: de\n" "X-Message-Group: #out-statusnet-plugin-sharenotice\n" @@ -26,7 +26,7 @@ msgstr "" #: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194 #, php-format msgid "\"%s\"" -msgstr "" +msgstr "„%s“" #. TRANS: Tooltip for image to share a notice on Twitter. #: ShareNoticePlugin.php:130 diff --git a/plugins/ShareNotice/locale/pl/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/pl/LC_MESSAGES/ShareNotice.po new file mode 100644 index 000000000..3a507508e --- /dev/null +++ b/plugins/ShareNotice/locale/pl/LC_MESSAGES/ShareNotice.po @@ -0,0 +1,54 @@ +# Translation of StatusNet - ShareNotice to Polish (Polski) +# Expored from translatewiki.net +# +# Author: Raven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ShareNotice\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:16+0000\n" +"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:46:17+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: pl\n" +"X-Message-Group: #out-statusnet-plugin-sharenotice\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && " +"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" + +#. TRANS: Leave this message unchanged. +#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform. +#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194 +#, php-format +msgid "\"%s\"" +msgstr "\"%s\"" + +#. TRANS: Tooltip for image to share a notice on Twitter. +#: ShareNoticePlugin.php:130 +msgid "Share on Twitter" +msgstr "" + +#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook). +#. TRANS: %s is a host name. +#: ShareNoticePlugin.php:163 +#, php-format +msgid "Share on %s" +msgstr "" + +#. TRANS: Tooltip for image to share a notice on Facebook. +#: ShareNoticePlugin.php:186 +msgid "Share on Facebook" +msgstr "" + +#. TRANS: Plugin description. +#: ShareNoticePlugin.php:219 +msgid "" +"This plugin allows sharing of notices to Twitter, Facebook and other " +"platforms." +msgstr "" diff --git a/plugins/ShareNotice/locale/te/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/te/LC_MESSAGES/ShareNotice.po new file mode 100644 index 000000000..f70e598f3 --- /dev/null +++ b/plugins/ShareNotice/locale/te/LC_MESSAGES/ShareNotice.po @@ -0,0 +1,53 @@ +# Translation of StatusNet - ShareNotice to Telugu (తెలుగు) +# Expored from translatewiki.net +# +# Author: Veeven +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - ShareNotice\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:16+0000\n" +"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-29 19:46:17+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: te\n" +"X-Message-Group: #out-statusnet-plugin-sharenotice\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Leave this message unchanged. +#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform. +#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194 +#, php-format +msgid "\"%s\"" +msgstr "\"%s\"" + +#. TRANS: Tooltip for image to share a notice on Twitter. +#: ShareNoticePlugin.php:130 +msgid "Share on Twitter" +msgstr "" + +#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook). +#. TRANS: %s is a host name. +#: ShareNoticePlugin.php:163 +#, php-format +msgid "Share on %s" +msgstr "" + +#. TRANS: Tooltip for image to share a notice on Facebook. +#: ShareNoticePlugin.php:186 +msgid "Share on Facebook" +msgstr "" + +#. TRANS: Plugin description. +#: ShareNoticePlugin.php:219 +msgid "" +"This plugin allows sharing of notices to Twitter, Facebook and other " +"platforms." +msgstr "" diff --git a/plugins/SimpleUrl/locale/de/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/de/LC_MESSAGES/SimpleUrl.po new file mode 100644 index 000000000..da38f1da0 --- /dev/null +++ b/plugins/SimpleUrl/locale/de/LC_MESSAGES/SimpleUrl.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - SimpleUrl to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - SimpleUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:18+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:14:03+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-simpleurl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: SimpleUrlPlugin.php:58 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "Benutzung des <a href=\"http://%1$s/\">%1$s</a>-URL-Kürzungsdienstes." diff --git a/plugins/Sitemap/locale/br/LC_MESSAGES/Sitemap.po b/plugins/Sitemap/locale/br/LC_MESSAGES/Sitemap.po index 02dea72ee..73ebd322f 100644 --- a/plugins/Sitemap/locale/br/LC_MESSAGES/Sitemap.po +++ b/plugins/Sitemap/locale/br/LC_MESSAGES/Sitemap.po @@ -2,6 +2,7 @@ # Expored from translatewiki.net # # Author: Fulup +# Author: Y-M D # -- # This file is distributed under the same license as the StatusNet package. # @@ -9,13 +10,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - Sitemap\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:40+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:07+0000\n" "Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:34:11+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:14:04+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: br\n" "X-Message-Group: #out-statusnet-plugin-sitemap\n" @@ -54,7 +55,7 @@ msgstr "" #. TRANS: Field label. #: sitemapadminpanel.php:183 msgid "Bing key" -msgstr "" +msgstr "Alc'hwez Bing" #. TRANS: Title for field label. #: sitemapadminpanel.php:185 diff --git a/plugins/SphinxSearch/locale/br/LC_MESSAGES/SphinxSearch.po b/plugins/SphinxSearch/locale/br/LC_MESSAGES/SphinxSearch.po new file mode 100644 index 000000000..9f89e63e7 --- /dev/null +++ b/plugins/SphinxSearch/locale/br/LC_MESSAGES/SphinxSearch.po @@ -0,0 +1,37 @@ +# Translation of StatusNet - SphinxSearch to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Fulup +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - SphinxSearch\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:28+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:15:02+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-sphinxsearch\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Server exception. +#: SphinxSearchPlugin.php:87 +msgid "Sphinx PHP extension must be installed." +msgstr "Rekis eo d'an astenn Sphinx PHP bezañ staliet." + +#. TRANS: Plugin description. +#: SphinxSearchPlugin.php:118 +msgid "Plugin for Sphinx search backend." +msgstr "" + +#. TRANS: Server exception thrown when a database name cannot be identified. +#: sphinxsearch.php:96 +msgid "Sphinx search could not identify database name." +msgstr "" diff --git a/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po index ced57eafa..1593f1018 100644 --- a/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po +++ b/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - SubMirror\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:44+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:24+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-09 14:37:02+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:14:06+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-submirror\n" @@ -30,7 +30,7 @@ msgstr "Стягування веб-каналів до вашої стрічк #: SubMirrorPlugin.php:109 msgctxt "MENU" msgid "Mirroring" -msgstr "Віддзеркалення" +msgstr "Дзеркала" #. TRANS: SubMirror plugin tooltip for user settings menu item. #: SubMirrorPlugin.php:111 diff --git a/plugins/TabFocus/locale/br/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/br/LC_MESSAGES/TabFocus.po new file mode 100644 index 000000000..b9b454898 --- /dev/null +++ b/plugins/TabFocus/locale/br/LC_MESSAGES/TabFocus.po @@ -0,0 +1,32 @@ +# Translation of StatusNet - TabFocus to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - TabFocus\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:11+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:14:08+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-tabfocus\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: TabFocusPlugin.php:54 +msgid "" +"TabFocus changes the notice form behavior so that, while in the text area, " +"pressing the tab key focuses the \"Send\" button, matching the behavior of " +"Twitter." +msgstr "" +"TabFocus a gemm emzalc'h ar furmskrid kemennoù evit ma vefe kaset ar fokus " +"war ar bouton \"Kas\" pa bouezer war a stokell taolennata adalek ar zonenn " +"testenn, ar pezh a glot gant emzalc'h Twitter." diff --git a/plugins/TightUrl/locale/de/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/de/LC_MESSAGES/TightUrl.po new file mode 100644 index 000000000..7ceaffe8b --- /dev/null +++ b/plugins/TightUrl/locale/de/LC_MESSAGES/TightUrl.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - TightUrl to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - TightUrl\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:27+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:14:09+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-tighturl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: TightUrlPlugin.php:68 +#, php-format +msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service." +msgstr "Benutzung des <a href=\"http://%1$s/\">%1$s</a>-URL-Kürzungsdienstes." diff --git a/plugins/TwitterBridge/Notice_to_status.php b/plugins/TwitterBridge/Notice_to_status.php index 2e32ba963..3b8f816cf 100644 --- a/plugins/TwitterBridge/Notice_to_status.php +++ b/plugins/TwitterBridge/Notice_to_status.php @@ -144,6 +144,7 @@ class Notice_to_status extends Memcached_DataObject /** * Save a mapping between a notice and a status + * Warning: status_id values may not fit in 32-bit integers. * * @param integer $notice_id ID of the notice in StatusNet * @param integer $status_id ID of the status in Twitter @@ -153,12 +154,18 @@ class Notice_to_status extends Memcached_DataObject static function saveNew($notice_id, $status_id) { + if (empty($notice_id)) { + throw new Exception("Invalid notice_id $notice_id"); + } $n2s = Notice_to_status::staticGet('notice_id', $notice_id); if (!empty($n2s)) { return $n2s; } + if (empty($status_id)) { + throw new Exception("Invalid status_id $status_id"); + } $n2s = Notice_to_status::staticGet('status_id', $status_id); if (!empty($n2s)) { diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php index f5c361250..b2dce6f1c 100644 --- a/plugins/TwitterBridge/TwitterBridgePlugin.php +++ b/plugins/TwitterBridge/TwitterBridgePlugin.php @@ -438,10 +438,14 @@ class TwitterBridgePlugin extends Plugin return true; } - $token = TwitterOAuthClient::unpackToken($flink->credentials); - $client = new TwitterOAuthClient($token->key, $token->secret); + try { + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); - $client->statusesDestroy($n2s->status_id); + $client->statusesDestroy($n2s->status_id); + } catch (Exception $e) { + common_log(LOG_ERR, "Error attempting to delete bridged notice from Twitter: " . $e->getMessage()); + } $n2s->delete(); } @@ -475,10 +479,14 @@ class TwitterBridgePlugin extends Plugin return true; } - $token = TwitterOAuthClient::unpackToken($flink->credentials); - $client = new TwitterOAuthClient($token->key, $token->secret); + try { + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); - $client->favoritesCreate($status_id); + $client->favoritesCreate($status_id); + } catch (Exception $e) { + common_log(LOG_ERR, "Error attempting to favorite bridged notice on Twitter: " . $e->getMessage()); + } return true; } @@ -511,10 +519,14 @@ class TwitterBridgePlugin extends Plugin return true; } - $token = TwitterOAuthClient::unpackToken($flink->credentials); - $client = new TwitterOAuthClient($token->key, $token->secret); + try { + $token = TwitterOAuthClient::unpackToken($flink->credentials); + $client = new TwitterOAuthClient($token->key, $token->secret); - $client->favoritesDestroy($status_id); + $client->favoritesDestroy($status_id); + } catch (Exception $e) { + common_log(LOG_ERR, "Error attempting to unfavorite bridged notice on Twitter: " . $e->getMessage()); + } return true; } diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php index 9298d9e3a..06ce43037 100755 --- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php +++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php @@ -205,8 +205,9 @@ class TwitterStatusFetcher extends ParallelizingDaemon } if (!empty($timeline)) { - Twitter_synch_status::setLastId($flink->foreign_id, 'home_timeline', $timeline[0]->id); - common_debug("Set lastId value '{$timeline[0]->id}' for foreign id '{$flink->foreign_id}' and timeline 'home_timeline'"); + $lastId = twitter_id($timeline[0]); + Twitter_synch_status::setLastId($flink->foreign_id, 'home_timeline', $lastId); + common_debug("Set lastId value '$lastId' for foreign id '{$flink->foreign_id}' and timeline 'home_timeline'"); } // Okay, record the time we synced with Twitter for posterity diff --git a/plugins/TwitterBridge/locale/TwitterBridge.pot b/plugins/TwitterBridge/locale/TwitterBridge.pot index 2fc96dfe2..d508f35e9 100644 --- a/plugins/TwitterBridge/locale/TwitterBridge.pot +++ b/plugins/TwitterBridge/locale/TwitterBridge.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,11 +16,18 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "" -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -37,7 +44,7 @@ msgid "" msgstr "" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "" @@ -49,11 +56,11 @@ msgstr "" msgid "Twitter integration options" msgstr "" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -243,28 +250,24 @@ msgstr "" msgid "Not a valid invitation code." msgstr "" -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "" -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "" -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "" -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "" -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "" @@ -354,17 +357,10 @@ msgstr "" msgid "Twitter account disconnected." msgstr "" -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "" -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "" - -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "" diff --git a/plugins/TwitterBridge/locale/br/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/br/LC_MESSAGES/TwitterBridge.po new file mode 100644 index 000000000..b88c87037 --- /dev/null +++ b/plugins/TwitterBridge/locale/br/LC_MESSAGES/TwitterBridge.po @@ -0,0 +1,371 @@ +# Translation of StatusNet - TwitterBridge to Breton (Brezhoneg) +# Expored from translatewiki.net +# +# Author: Y-M D +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - TwitterBridge\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" +"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: br\n" +"X-Message-Group: #out-statusnet-plugin-twitterbridge\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "" + +#: twitter.php:407 +msgid "Your Twitter bridge has been disabled." +msgstr "" + +#: twitter.php:411 +#, php-format +msgid "" +"Hi, %1$s. We're sorry to inform you that your link to Twitter has been " +"disabled. We no longer seem to have permission to update your Twitter " +"status. Did you maybe revoke %3$s's access?\n" +"\n" +"You can re-enable your Twitter bridge by visiting your Twitter settings " +"page:\n" +"\n" +"\t%2$s\n" +"\n" +"Regards,\n" +"%3$s" +msgstr "" + +#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 +msgid "Twitter" +msgstr "Twitter" + +#: TwitterBridgePlugin.php:152 +msgid "Login or register using Twitter" +msgstr "" + +#: TwitterBridgePlugin.php:175 +msgid "Twitter integration options" +msgstr "" + +#: TwitterBridgePlugin.php:303 +msgid "Twitter bridge configuration" +msgstr "" + +#: TwitterBridgePlugin.php:327 +msgid "" +"The Twitter \"bridge\" plugin allows integration of a StatusNet instance " +"with <a href=\"http://twitter.com/\">Twitter</a>." +msgstr "" + +#: twitteradminpanel.php:62 +msgid "Twitter bridge settings" +msgstr "" + +#: twitteradminpanel.php:145 +msgid "Invalid consumer key. Max length is 255 characters." +msgstr "" + +#: twitteradminpanel.php:151 +msgid "Invalid consumer secret. Max length is 255 characters." +msgstr "" + +#: twitteradminpanel.php:207 +msgid "Twitter application settings" +msgstr "" + +#: twitteradminpanel.php:213 +msgid "Consumer key" +msgstr "" + +#: twitteradminpanel.php:214 +msgid "Consumer key assigned by Twitter" +msgstr "" + +#: twitteradminpanel.php:222 +msgid "Consumer secret" +msgstr "" + +#: twitteradminpanel.php:223 +msgid "Consumer secret assigned by Twitter" +msgstr "" + +#: twitteradminpanel.php:233 +msgid "Note: a global consumer key and secret are set." +msgstr "" + +#: twitteradminpanel.php:240 +msgid "Integration source" +msgstr "" + +#: twitteradminpanel.php:241 +msgid "Name of your Twitter application" +msgstr "" + +#: twitteradminpanel.php:253 +msgid "Options" +msgstr "Dibarzhioù" + +#: twitteradminpanel.php:260 +msgid "Enable \"Sign-in with Twitter\"" +msgstr "" + +#: twitteradminpanel.php:262 +msgid "Allow users to login with their Twitter credentials" +msgstr "" + +#: twitteradminpanel.php:269 +msgid "Enable Twitter import" +msgstr "" + +#: twitteradminpanel.php:271 +msgid "" +"Allow users to import their Twitter friends' timelines. Requires daemons to " +"be manually configured." +msgstr "" + +#: twitteradminpanel.php:288 twittersettings.php:200 +msgid "Save" +msgstr "Enrollañ" + +#: twitteradminpanel.php:288 +msgid "Save Twitter settings" +msgstr "Enrollañ arventennoù Twitter" + +#: twitterlogin.php:56 +msgid "Already logged in." +msgstr "Kevreet oc'h dija." + +#: twitterlogin.php:64 +msgid "Twitter Login" +msgstr "" + +#: twitterlogin.php:69 +msgid "Login with your Twitter account" +msgstr "" + +#: twitterlogin.php:87 +msgid "Sign in with Twitter" +msgstr "" + +#: twitterauthorization.php:120 twittersettings.php:226 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: twitterauthorization.php:126 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: twitterauthorization.php:135 +msgid "Something weird happened." +msgstr "" + +#: twitterauthorization.php:181 twitterauthorization.php:229 +#: twitterauthorization.php:300 +msgid "Couldn't link your Twitter account." +msgstr "" + +#: twitterauthorization.php:201 +msgid "Couldn't link your Twitter account: oauth_token mismatch." +msgstr "" + +#: twitterauthorization.php:312 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your Twitter " +"account to a local account. You can either create a new account, or connect " +"with your existing account, if you have one." +msgstr "" + +#: twitterauthorization.php:318 +msgid "Twitter Account Setup" +msgstr "" + +#: twitterauthorization.php:351 +msgid "Connection options" +msgstr "" + +#: twitterauthorization.php:360 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" + +#: twitterauthorization.php:381 +msgid "Create new account" +msgstr "Krouiñ ur gont nevez" + +#: twitterauthorization.php:383 +msgid "Create a new user with this nickname." +msgstr "" + +#: twitterauthorization.php:386 +msgid "New nickname" +msgstr "Lesanv nevez" + +#: twitterauthorization.php:388 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#: twitterauthorization.php:391 +msgid "Create" +msgstr "Krouiñ" + +#: twitterauthorization.php:396 +msgid "Connect existing account" +msgstr "" + +#: twitterauthorization.php:398 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Twitter account." +msgstr "" + +#: twitterauthorization.php:401 +msgid "Existing nickname" +msgstr "" + +#: twitterauthorization.php:404 +msgid "Password" +msgstr "Ger-tremen" + +#: twitterauthorization.php:407 +msgid "Connect" +msgstr "Kevreañ" + +#: twitterauthorization.php:423 twitterauthorization.php:432 +msgid "Registration not allowed." +msgstr "" + +#: twitterauthorization.php:439 +msgid "Not a valid invitation code." +msgstr "" + +#: twitterauthorization.php:452 +msgid "Nickname not allowed." +msgstr "" + +#: twitterauthorization.php:457 +msgid "Nickname already in use. Try another one." +msgstr "" + +#: twitterauthorization.php:472 +msgid "Error registering user." +msgstr "" + +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 +msgid "Error connecting user to Twitter." +msgstr "" + +#: twitterauthorization.php:503 +msgid "Invalid username or password." +msgstr "" + +#: twittersettings.php:58 +msgid "Twitter settings" +msgstr "Arventennoù Twitter" + +#: twittersettings.php:69 +msgid "" +"Connect your Twitter account to share your updates with your Twitter friends " +"and vice-versa." +msgstr "" + +#: twittersettings.php:116 +msgid "Twitter account" +msgstr "Kont Twitter" + +#: twittersettings.php:121 +msgid "Connected Twitter account" +msgstr "" + +#: twittersettings.php:126 +msgid "Disconnect my account from Twitter" +msgstr "" + +#: twittersettings.php:132 +msgid "Disconnecting your Twitter could make it impossible to log in! Please " +msgstr "" + +#: twittersettings.php:136 +msgid "set a password" +msgstr "Termeniñ ur ger-tremen" + +#: twittersettings.php:138 +msgid " first." +msgstr "da gentañ." + +#. TRANS: %1$s is the current website name. +#: twittersettings.php:142 +#, php-format +msgid "" +"Keep your %1$s account but disconnect from Twitter. You can use your %1$s " +"password to log in." +msgstr "" + +#: twittersettings.php:150 +msgid "Disconnect" +msgstr "Digevreet" + +#: twittersettings.php:157 +msgid "Preferences" +msgstr "Penndibaboù" + +#: twittersettings.php:161 +msgid "Automatically send my notices to Twitter." +msgstr "" + +#: twittersettings.php:168 +msgid "Send local \"@\" replies to Twitter." +msgstr "" + +#: twittersettings.php:175 +msgid "Subscribe to my Twitter friends here." +msgstr "" + +#: twittersettings.php:184 +msgid "Import my friends timeline." +msgstr "" + +#: twittersettings.php:202 +msgid "Add" +msgstr "Ouzhpennañ" + +#: twittersettings.php:236 +msgid "Unexpected form submission." +msgstr "" + +#: twittersettings.php:251 +msgid "No Twitter connection to remove." +msgstr "" + +#: twittersettings.php:259 +msgid "Couldn't remove Twitter user." +msgstr "" + +#: twittersettings.php:263 +msgid "Twitter account disconnected." +msgstr "" + +#: twittersettings.php:283 twittersettings.php:294 +msgid "Couldn't save Twitter preferences." +msgstr "" + +#: twittersettings.php:302 +msgid "Twitter preferences saved." +msgstr "" diff --git a/plugins/TwitterBridge/locale/fa/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/fa/LC_MESSAGES/TwitterBridge.po new file mode 100644 index 000000000..52d44caeb --- /dev/null +++ b/plugins/TwitterBridge/locale/fa/LC_MESSAGES/TwitterBridge.po @@ -0,0 +1,375 @@ +# Translation of StatusNet - TwitterBridge to Persian (فارسی) +# Expored from translatewiki.net +# +# Author: Mjbmr +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - TwitterBridge\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" +"Language-Team: Persian <http://translatewiki.net/wiki/Portal:fa>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: fa\n" +"X-Message-Group: #out-statusnet-plugin-twitterbridge\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "" + +#: twitter.php:407 +msgid "Your Twitter bridge has been disabled." +msgstr "پل توییتر شما غیر فعال شده است." + +#: twitter.php:411 +#, php-format +msgid "" +"Hi, %1$s. We're sorry to inform you that your link to Twitter has been " +"disabled. We no longer seem to have permission to update your Twitter " +"status. Did you maybe revoke %3$s's access?\n" +"\n" +"You can re-enable your Twitter bridge by visiting your Twitter settings " +"page:\n" +"\n" +"\t%2$s\n" +"\n" +"Regards,\n" +"%3$s" +msgstr "" + +#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 +msgid "Twitter" +msgstr "توییتر" + +#: TwitterBridgePlugin.php:152 +msgid "Login or register using Twitter" +msgstr "برای استفاده از توییتر، وارد شوید یا ثبت نام کنید" + +#: TwitterBridgePlugin.php:175 +msgid "Twitter integration options" +msgstr "تنظیمات پیوسته توییتر" + +#: TwitterBridgePlugin.php:303 +msgid "Twitter bridge configuration" +msgstr "پیکربندی پل توییتر" + +#: TwitterBridgePlugin.php:327 +msgid "" +"The Twitter \"bridge\" plugin allows integration of a StatusNet instance " +"with <a href=\"http://twitter.com/\">Twitter</a>." +msgstr "" + +#: twitteradminpanel.php:62 +msgid "Twitter bridge settings" +msgstr "تنظیمات پل توییتر" + +#: twitteradminpanel.php:145 +msgid "Invalid consumer key. Max length is 255 characters." +msgstr "" + +#: twitteradminpanel.php:151 +msgid "Invalid consumer secret. Max length is 255 characters." +msgstr "" + +#: twitteradminpanel.php:207 +msgid "Twitter application settings" +msgstr "" + +#: twitteradminpanel.php:213 +msgid "Consumer key" +msgstr "" + +#: twitteradminpanel.php:214 +msgid "Consumer key assigned by Twitter" +msgstr "" + +#: twitteradminpanel.php:222 +msgid "Consumer secret" +msgstr "" + +#: twitteradminpanel.php:223 +msgid "Consumer secret assigned by Twitter" +msgstr "" + +#: twitteradminpanel.php:233 +msgid "Note: a global consumer key and secret are set." +msgstr "" + +#: twitteradminpanel.php:240 +msgid "Integration source" +msgstr "" + +#: twitteradminpanel.php:241 +msgid "Name of your Twitter application" +msgstr "" + +#: twitteradminpanel.php:253 +msgid "Options" +msgstr "تنظیمات" + +#: twitteradminpanel.php:260 +msgid "Enable \"Sign-in with Twitter\"" +msgstr "" + +#: twitteradminpanel.php:262 +msgid "Allow users to login with their Twitter credentials" +msgstr "" + +#: twitteradminpanel.php:269 +msgid "Enable Twitter import" +msgstr "" + +#: twitteradminpanel.php:271 +msgid "" +"Allow users to import their Twitter friends' timelines. Requires daemons to " +"be manually configured." +msgstr "" + +#: twitteradminpanel.php:288 twittersettings.php:200 +msgid "Save" +msgstr "ذخیره" + +#: twitteradminpanel.php:288 +msgid "Save Twitter settings" +msgstr "ذخیره تنظیمات توییتر" + +#: twitterlogin.php:56 +msgid "Already logged in." +msgstr "در حال حاضر وارد شدهاید." + +#: twitterlogin.php:64 +msgid "Twitter Login" +msgstr "ورود به توییتر" + +#: twitterlogin.php:69 +msgid "Login with your Twitter account" +msgstr "" + +#: twitterlogin.php:87 +msgid "Sign in with Twitter" +msgstr "با حساب کاربری توییتر وارد شوید" + +#: twitterauthorization.php:120 twittersettings.php:226 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: twitterauthorization.php:126 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: twitterauthorization.php:135 +msgid "Something weird happened." +msgstr "" + +#: twitterauthorization.php:181 twitterauthorization.php:229 +#: twitterauthorization.php:300 +msgid "Couldn't link your Twitter account." +msgstr "" + +#: twitterauthorization.php:201 +msgid "Couldn't link your Twitter account: oauth_token mismatch." +msgstr "" + +#: twitterauthorization.php:312 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your Twitter " +"account to a local account. You can either create a new account, or connect " +"with your existing account, if you have one." +msgstr "" + +#: twitterauthorization.php:318 +msgid "Twitter Account Setup" +msgstr "تنظیم حساب کاربری توییتر" + +#: twitterauthorization.php:351 +msgid "Connection options" +msgstr "تنظیمات اتصال" + +#: twitterauthorization.php:360 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" + +#: twitterauthorization.php:381 +msgid "Create new account" +msgstr "ایجاد حساب کاربری جدید" + +#: twitterauthorization.php:383 +msgid "Create a new user with this nickname." +msgstr "ایجاد یک کاربر جدید با این نام مستعار." + +#: twitterauthorization.php:386 +msgid "New nickname" +msgstr "نام مستعار جدید" + +#: twitterauthorization.php:388 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#: twitterauthorization.php:391 +msgid "Create" +msgstr "ایجاد" + +#: twitterauthorization.php:396 +msgid "Connect existing account" +msgstr "اتصال به حساب کاربری موجود" + +#: twitterauthorization.php:398 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Twitter account." +msgstr "" + +#: twitterauthorization.php:401 +msgid "Existing nickname" +msgstr "نام مستعار موجود" + +#: twitterauthorization.php:404 +msgid "Password" +msgstr "رمز عبور" + +#: twitterauthorization.php:407 +msgid "Connect" +msgstr "اتصال" + +#: twitterauthorization.php:423 twitterauthorization.php:432 +msgid "Registration not allowed." +msgstr "اجازهٔ ثبتنام داده نشده است." + +#: twitterauthorization.php:439 +msgid "Not a valid invitation code." +msgstr "کد دعوت نامعتبر است." + +#: twitterauthorization.php:452 +msgid "Nickname not allowed." +msgstr "نام مستعار مجاز نیست." + +#: twitterauthorization.php:457 +msgid "Nickname already in use. Try another one." +msgstr "این نام مستعار در حال حاضر مورد استفاده است. یکی دیگر را بیازمایید." + +#: twitterauthorization.php:472 +msgid "Error registering user." +msgstr "خطا در ثبت نام کاربر." + +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 +msgid "Error connecting user to Twitter." +msgstr "خطا در اتصال کاربر به توییتر." + +#: twitterauthorization.php:503 +msgid "Invalid username or password." +msgstr "نام کاربری یا رمز عبور اشتباه است." + +#: twittersettings.php:58 +msgid "Twitter settings" +msgstr "تنظیمات توییتر" + +#: twittersettings.php:69 +msgid "" +"Connect your Twitter account to share your updates with your Twitter friends " +"and vice-versa." +msgstr "" + +#: twittersettings.php:116 +msgid "Twitter account" +msgstr "حساب کاربری توییتر" + +#: twittersettings.php:121 +msgid "Connected Twitter account" +msgstr "حساب کاربری توییتر متصل شد" + +#: twittersettings.php:126 +msgid "Disconnect my account from Twitter" +msgstr "قطع ارتباط حساب کاربری من از توییتر" + +#: twittersettings.php:132 +msgid "Disconnecting your Twitter could make it impossible to log in! Please " +msgstr "" + +#: twittersettings.php:136 +msgid "set a password" +msgstr "تنظیم رمز عبور" + +#: twittersettings.php:138 +msgid " first." +msgstr " ابتدا." + +#. TRANS: %1$s is the current website name. +#: twittersettings.php:142 +#, php-format +msgid "" +"Keep your %1$s account but disconnect from Twitter. You can use your %1$s " +"password to log in." +msgstr "" + +#: twittersettings.php:150 +msgid "Disconnect" +msgstr "قطع اتصال" + +#: twittersettings.php:157 +msgid "Preferences" +msgstr "ترجیحات" + +#: twittersettings.php:161 +msgid "Automatically send my notices to Twitter." +msgstr "" + +#: twittersettings.php:168 +msgid "Send local \"@\" replies to Twitter." +msgstr "" + +#: twittersettings.php:175 +msgid "Subscribe to my Twitter friends here." +msgstr "" + +#: twittersettings.php:184 +msgid "Import my friends timeline." +msgstr "" + +#: twittersettings.php:202 +msgid "Add" +msgstr "افزودن" + +#: twittersettings.php:236 +msgid "Unexpected form submission." +msgstr "" + +#: twittersettings.php:251 +msgid "No Twitter connection to remove." +msgstr "هیچ ارتباط توییتری برای حذف وجود ندارد." + +#: twittersettings.php:259 +msgid "Couldn't remove Twitter user." +msgstr "نمیتوان کاربر توییتر را حذف کرد." + +#: twittersettings.php:263 +msgid "Twitter account disconnected." +msgstr "حساب توییتر قطع شده است." + +#: twittersettings.php:283 twittersettings.php:294 +msgid "Couldn't save Twitter preferences." +msgstr "نمیتوان ترجیحات توییتر را ذخیره کرد." + +#: twittersettings.php:302 +msgid "Twitter preferences saved." +msgstr "تنظیمات توییتر ذخیره شد." + +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "نام مستعار باید فقط به صورت حروف کوچک انگلیسی، اعداد و بدون فاصله باشد." diff --git a/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po index 988b2577d..e0a05063d 100644 --- a/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po @@ -10,23 +10,30 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:52+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "RT @%1$s %2$s" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "Votre passerelle Twitter a été désactivée." -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -55,7 +62,7 @@ msgstr "" "%3$s" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -67,11 +74,11 @@ msgstr "Se connecter ou s’inscrire via Twitter" msgid "Twitter integration options" msgstr "Options d’intégration de Twitter" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Configuration de la passerelle Twitter" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -280,30 +287,24 @@ msgstr "Inscription non autorisée." msgid "Not a valid invitation code." msgstr "Le code d’invitation n’est pas valide." -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Les pseudonymes ne peuvent contenir que des lettres minuscules et des " -"chiffres, sans espaces." - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "Pseudonyme non autorisé." -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "Pseudonyme déjà utilisé. Essayez-en un autre." -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "Erreur lors de l’inscription de l’utilisateur." -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "Erreur de connexion de l’utilisateur à Twitter." -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "Nom d’utilisateur ou mot de passe incorrect." @@ -399,17 +400,15 @@ msgstr "Impossible de supprimer l’utilisateur Twitter." msgid "Twitter account disconnected." msgstr "Compte Twitter déconnecté." -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "Impossible de sauvegarder les préférences Twitter." -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "Préférences Twitter enregistrées." -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "RT @%1$s %2$s" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Les pseudonymes ne peuvent contenir que des lettres minuscules et des " +#~ "chiffres, sans espaces." diff --git a/plugins/TwitterBridge/locale/gl/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/gl/LC_MESSAGES/TwitterBridge.po new file mode 100644 index 000000000..bfb0b2a2b --- /dev/null +++ b/plugins/TwitterBridge/locale/gl/LC_MESSAGES/TwitterBridge.po @@ -0,0 +1,371 @@ +# Translation of StatusNet - TwitterBridge to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - TwitterBridge\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-twitterbridge\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "" + +#: twitter.php:407 +msgid "Your Twitter bridge has been disabled." +msgstr "" + +#: twitter.php:411 +#, php-format +msgid "" +"Hi, %1$s. We're sorry to inform you that your link to Twitter has been " +"disabled. We no longer seem to have permission to update your Twitter " +"status. Did you maybe revoke %3$s's access?\n" +"\n" +"You can re-enable your Twitter bridge by visiting your Twitter settings " +"page:\n" +"\n" +"\t%2$s\n" +"\n" +"Regards,\n" +"%3$s" +msgstr "" + +#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 +msgid "Twitter" +msgstr "Twitter" + +#: TwitterBridgePlugin.php:152 +msgid "Login or register using Twitter" +msgstr "" + +#: TwitterBridgePlugin.php:175 +msgid "Twitter integration options" +msgstr "" + +#: TwitterBridgePlugin.php:303 +msgid "Twitter bridge configuration" +msgstr "" + +#: TwitterBridgePlugin.php:327 +msgid "" +"The Twitter \"bridge\" plugin allows integration of a StatusNet instance " +"with <a href=\"http://twitter.com/\">Twitter</a>." +msgstr "" + +#: twitteradminpanel.php:62 +msgid "Twitter bridge settings" +msgstr "" + +#: twitteradminpanel.php:145 +msgid "Invalid consumer key. Max length is 255 characters." +msgstr "" + +#: twitteradminpanel.php:151 +msgid "Invalid consumer secret. Max length is 255 characters." +msgstr "" + +#: twitteradminpanel.php:207 +msgid "Twitter application settings" +msgstr "" + +#: twitteradminpanel.php:213 +msgid "Consumer key" +msgstr "Clave do consumidor" + +#: twitteradminpanel.php:214 +msgid "Consumer key assigned by Twitter" +msgstr "Clave do consumidor asignada polo Twitter" + +#: twitteradminpanel.php:222 +msgid "Consumer secret" +msgstr "Pregunta secreta do consumidor" + +#: twitteradminpanel.php:223 +msgid "Consumer secret assigned by Twitter" +msgstr "Pregunta secreta do consumidor asignada polo Twitter" + +#: twitteradminpanel.php:233 +msgid "Note: a global consumer key and secret are set." +msgstr "" + +#: twitteradminpanel.php:240 +msgid "Integration source" +msgstr "Fonte de integración" + +#: twitteradminpanel.php:241 +msgid "Name of your Twitter application" +msgstr "" + +#: twitteradminpanel.php:253 +msgid "Options" +msgstr "Opcións" + +#: twitteradminpanel.php:260 +msgid "Enable \"Sign-in with Twitter\"" +msgstr "" + +#: twitteradminpanel.php:262 +msgid "Allow users to login with their Twitter credentials" +msgstr "" + +#: twitteradminpanel.php:269 +msgid "Enable Twitter import" +msgstr "" + +#: twitteradminpanel.php:271 +msgid "" +"Allow users to import their Twitter friends' timelines. Requires daemons to " +"be manually configured." +msgstr "" + +#: twitteradminpanel.php:288 twittersettings.php:200 +msgid "Save" +msgstr "Gardar" + +#: twitteradminpanel.php:288 +msgid "Save Twitter settings" +msgstr "" + +#: twitterlogin.php:56 +msgid "Already logged in." +msgstr "" + +#: twitterlogin.php:64 +msgid "Twitter Login" +msgstr "" + +#: twitterlogin.php:69 +msgid "Login with your Twitter account" +msgstr "" + +#: twitterlogin.php:87 +msgid "Sign in with Twitter" +msgstr "" + +#: twitterauthorization.php:120 twittersettings.php:226 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: twitterauthorization.php:126 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: twitterauthorization.php:135 +msgid "Something weird happened." +msgstr "" + +#: twitterauthorization.php:181 twitterauthorization.php:229 +#: twitterauthorization.php:300 +msgid "Couldn't link your Twitter account." +msgstr "" + +#: twitterauthorization.php:201 +msgid "Couldn't link your Twitter account: oauth_token mismatch." +msgstr "" + +#: twitterauthorization.php:312 +#, php-format +msgid "" +"This is the first time you've logged into %s so we must connect your Twitter " +"account to a local account. You can either create a new account, or connect " +"with your existing account, if you have one." +msgstr "" + +#: twitterauthorization.php:318 +msgid "Twitter Account Setup" +msgstr "" + +#: twitterauthorization.php:351 +msgid "Connection options" +msgstr "" + +#: twitterauthorization.php:360 +#, php-format +msgid "" +"My text and files are available under %s except this private data: password, " +"email address, IM address, and phone number." +msgstr "" + +#: twitterauthorization.php:381 +msgid "Create new account" +msgstr "" + +#: twitterauthorization.php:383 +msgid "Create a new user with this nickname." +msgstr "" + +#: twitterauthorization.php:386 +msgid "New nickname" +msgstr "" + +#: twitterauthorization.php:388 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#: twitterauthorization.php:391 +msgid "Create" +msgstr "Crear" + +#: twitterauthorization.php:396 +msgid "Connect existing account" +msgstr "" + +#: twitterauthorization.php:398 +msgid "" +"If you already have an account, login with your username and password to " +"connect it to your Twitter account." +msgstr "" + +#: twitterauthorization.php:401 +msgid "Existing nickname" +msgstr "" + +#: twitterauthorization.php:404 +msgid "Password" +msgstr "Contrasinal" + +#: twitterauthorization.php:407 +msgid "Connect" +msgstr "Conectar" + +#: twitterauthorization.php:423 twitterauthorization.php:432 +msgid "Registration not allowed." +msgstr "" + +#: twitterauthorization.php:439 +msgid "Not a valid invitation code." +msgstr "" + +#: twitterauthorization.php:452 +msgid "Nickname not allowed." +msgstr "" + +#: twitterauthorization.php:457 +msgid "Nickname already in use. Try another one." +msgstr "" + +#: twitterauthorization.php:472 +msgid "Error registering user." +msgstr "" + +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 +msgid "Error connecting user to Twitter." +msgstr "" + +#: twitterauthorization.php:503 +msgid "Invalid username or password." +msgstr "" + +#: twittersettings.php:58 +msgid "Twitter settings" +msgstr "Configuración do Twitter" + +#: twittersettings.php:69 +msgid "" +"Connect your Twitter account to share your updates with your Twitter friends " +"and vice-versa." +msgstr "" + +#: twittersettings.php:116 +msgid "Twitter account" +msgstr "Conta do Twitter" + +#: twittersettings.php:121 +msgid "Connected Twitter account" +msgstr "" + +#: twittersettings.php:126 +msgid "Disconnect my account from Twitter" +msgstr "" + +#: twittersettings.php:132 +msgid "Disconnecting your Twitter could make it impossible to log in! Please " +msgstr "" + +#: twittersettings.php:136 +msgid "set a password" +msgstr "" + +#: twittersettings.php:138 +msgid " first." +msgstr " primeiro." + +#. TRANS: %1$s is the current website name. +#: twittersettings.php:142 +#, php-format +msgid "" +"Keep your %1$s account but disconnect from Twitter. You can use your %1$s " +"password to log in." +msgstr "" + +#: twittersettings.php:150 +msgid "Disconnect" +msgstr "Desconectarse" + +#: twittersettings.php:157 +msgid "Preferences" +msgstr "Preferencias" + +#: twittersettings.php:161 +msgid "Automatically send my notices to Twitter." +msgstr "" + +#: twittersettings.php:168 +msgid "Send local \"@\" replies to Twitter." +msgstr "" + +#: twittersettings.php:175 +msgid "Subscribe to my Twitter friends here." +msgstr "" + +#: twittersettings.php:184 +msgid "Import my friends timeline." +msgstr "" + +#: twittersettings.php:202 +msgid "Add" +msgstr "Engadir" + +#: twittersettings.php:236 +msgid "Unexpected form submission." +msgstr "" + +#: twittersettings.php:251 +msgid "No Twitter connection to remove." +msgstr "" + +#: twittersettings.php:259 +msgid "Couldn't remove Twitter user." +msgstr "" + +#: twittersettings.php:263 +msgid "Twitter account disconnected." +msgstr "" + +#: twittersettings.php:283 twittersettings.php:294 +msgid "Couldn't save Twitter preferences." +msgstr "" + +#: twittersettings.php:302 +msgid "Twitter preferences saved." +msgstr "" diff --git a/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po index c655e8e9c..846d54442 100644 --- a/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po @@ -9,23 +9,30 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:52+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "RT @%1$s %2$s" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "Tu ponte a Twitter ha essite disactivate." -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -53,7 +60,7 @@ msgstr "" "%3$s" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -65,11 +72,11 @@ msgstr "Aperir session o crear conto usante Twitter" msgid "Twitter integration options" msgstr "Optiones de integration de Twitter" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Configuration del ponte a Twitter" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -271,28 +278,24 @@ msgstr "Creation de conto non permittite." msgid "Not a valid invitation code." msgstr "Le codice de invitation es invalide." -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios." - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "Pseudonymo non permittite." -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "Pseudonymo ja in uso. Proba un altere." -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "Error durante le registration del usator." -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "Error durante le connexion del usator a Twitter." -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "Nomine de usator o contrasigno invalide." @@ -388,17 +391,14 @@ msgstr "Non poteva remover le usator de Twitter." msgid "Twitter account disconnected." msgstr "Conto de Twitter disconnectite." -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "Non poteva salveguardar le preferentias de Twitter." -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "Preferentias de Twitter salveguardate." -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "RT @%1$s %2$s" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios." diff --git a/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po index 88f3a2eb2..dd81ef8c1 100644 --- a/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po @@ -9,23 +9,30 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:52+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "RT @%1$s %2$s" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "Вашиот мост до Twitter е оневозможен." -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -53,7 +60,7 @@ msgstr "" "%3$s" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -65,11 +72,11 @@ msgstr "Најава или регистрација со Twitter" msgid "Twitter integration options" msgstr "Нагодувања за обединување со Twitter" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Нагодувања за мостот до Twitter" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -273,29 +280,24 @@ msgstr "Регистрацијата не е дозволена." msgid "Not a valid invitation code." msgstr "Ова не е важечки код за покана." -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Прекарот мора да се состои само од мали букви и бројки, без празни места." - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "Прекарот не е дозволен." -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "Прекарот е зафатен. Одберете друг." -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "Грешка при регистрирање на корисникот." -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "Грешка при поврзувањето на корисникот со Twitter." -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "Неважечко корисничко име или лозинка." @@ -391,17 +393,14 @@ msgstr "Не можев да го отстранам корисникот на T msgid "Twitter account disconnected." msgstr "Врската со сметката на Twitter е прекината." -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "Не можев да ги зачувам нагодувањата за Twitter." -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "Нагодувањата за Twitter се зачувани." -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "RT @%1$s %2$s" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Прекарот мора да се состои само од мали букви и бројки, без празни места." diff --git a/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po index 8e152f405..00ab91a30 100644 --- a/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po @@ -9,23 +9,30 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:52+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "RT @%1$s %2$s" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "Uw koppeling naar Twitter is uitgeschakeld." -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -55,7 +62,7 @@ msgstr "" "%3$s" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -67,11 +74,11 @@ msgstr "Aanmelden of registreren via Twitter" msgid "Twitter integration options" msgstr "Opties voor Twitterintegratie" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Instellingen voor Twitterkoppeling" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -205,7 +212,7 @@ msgid "" "account to a local account. You can either create a new account, or connect " "with your existing account, if you have one." msgstr "" -"De is de eerste keer dat u aanmeldt bij %s en dan moeten we uw " +"Dit is de eerste keer dat u aanmeldt bij %s en dan moeten we uw " "Twittergebruiker koppelen met uw lokale gebruiker. U kunt een nieuwe " "gebruiker aanmaken of koppelen met een bestaande gebruiker als u die al hebt." @@ -232,7 +239,7 @@ msgstr "Nieuwe gebruiker aanmaken" #: twitterauthorization.php:383 msgid "Create a new user with this nickname." -msgstr "Nieuwe gebruiker met deze naam aanmaken." +msgstr "Nieuwe gebruiker aanmaken met deze gebruikersnaam." #: twitterauthorization.php:386 msgid "New nickname" @@ -278,31 +285,25 @@ msgstr "Registratie is niet toegestaan." msgid "Not a valid invitation code." msgstr "De uitnodigingscode is ongeldig." -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties " -"zijn niet toegestaan." - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "Gebruikersnaam niet toegestaan." -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "" "De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam." -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "Fout bij het registreren van de gebruiker." -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "Fout bij het verbinden van de gebruiker met Twitter." -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "Ongeldige gebruikersnaam of wachtwoord." @@ -352,7 +353,7 @@ msgid "" "password to log in." msgstr "" "Uw gebruiker bij %1$s behouden maar deze loskoppelen van Twitter. U kunt uw " -"wachtwoord va %1$s gebruiken om aan te melden." +"wachtwoord van %1$s gebruiken om aan te melden." #: twittersettings.php:150 msgid "Disconnect" @@ -398,17 +399,15 @@ msgstr "Het was niet mogelijk de Twittergebruiker te verwijderen." msgid "Twitter account disconnected." msgstr "De Twittergebruiker is ontkoppeld." -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "Het was niet mogelijk de Twittervoorkeuren op te slaan." -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "De Twitterinstellingen zijn opgeslagen." -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "RT @%1$s %2$s" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties " +#~ "zijn niet toegestaan." diff --git a/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po index 76e7e8ecb..9e84e8fc6 100644 --- a/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po @@ -9,23 +9,30 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:52+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" "Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: tr\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "" -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -42,7 +49,7 @@ msgid "" msgstr "" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -54,11 +61,11 @@ msgstr "" msgid "Twitter integration options" msgstr "Twitter entegrasyon seçenekleri" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Twitter köprü yapılandırması" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -257,30 +264,24 @@ msgstr "Kayıt yapılmasına izin verilmiyor." msgid "Not a valid invitation code." msgstr "Geçerli bir davet kodu değil." -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Kullanıcı adı sadece küçük harfler ve rakamlardan oluşabilir, boşluk " -"kullanılamaz." - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "Bu kullanıcı adına izin verilmiyor." -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "Kullanıcı adı halihazırda kullanılıyor. Başka bir tane deneyin." -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "Kullanıcı kayıt hatası." -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "Twitter'a kullanıcı bağlama hatası." -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "Geçersiz kullanıcı adı veya parola." @@ -372,17 +373,15 @@ msgstr "Twitter kullanıcısı silinemedi." msgid "Twitter account disconnected." msgstr "Twitter hesabı bağlantısı kesildi." -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "Twitter tercihleri kaydedilemedi." -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "Twitter tercihleriniz kaydedildi." -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Kullanıcı adı sadece küçük harfler ve rakamlardan oluşabilir, boşluk " +#~ "kullanılamaz." diff --git a/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po index 2ee15e69b..03d4cab58 100644 --- a/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po @@ -9,24 +9,31 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:52+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:40+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= " "2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "RT @%1$s %2$s" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "Ваш місток до Twitter було відключено." -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -55,7 +62,7 @@ msgstr "" "%3$s" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -67,11 +74,11 @@ msgstr "Увійти або зареєструватись з Twitter" msgid "Twitter integration options" msgstr "Параметри інтеграції з Twitter" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Налаштування містка з Twitter" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -275,30 +282,24 @@ msgstr "Реєстрацію не дозволено." msgid "Not a valid invitation code." msgstr "Це не дійсний код запрошення." -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "" -"Ім’я користувача повинно складатись з літер нижнього регістру і цифр, ніяких " -"інтервалів." - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "Нікнейм не допускається." -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "Цей нікнейм вже використовується. Спробуйте інший." -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "Помилка при реєстрації користувача." -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "Помилка при підключенні користувача до Twitter." -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "Недійсне ім’я або пароль." @@ -394,17 +395,15 @@ msgstr "Не вдається видалити користувача Twitter." msgid "Twitter account disconnected." msgstr "Акаунт Twitter від’єднано." -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "Не можу зберегти налаштування Twitter." -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "Налаштування Twitter збережено." -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "RT @%1$s %2$s" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "" +#~ "Ім’я користувача повинно складатись з літер нижнього регістру і цифр, " +#~ "ніяких інтервалів." diff --git a/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po index 54804a728..2e311d4bf 100644 --- a/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po +++ b/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po @@ -9,24 +9,31 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - TwitterBridge\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:53+0000\n" +"POT-Creation-Date: 2010-11-30 20:16+0000\n" +"PO-Revision-Date: 2010-11-30 20:20:41+0000\n" "Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-" "hans>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:06+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-30 17:54:30+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77503); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: zh-hans\n" "X-Message-Group: #out-statusnet-plugin-twitterbridge\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: twitter.php:349 +#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. +#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. +#: twitterimport.php:114 +#, php-format +msgid "RT @%1$s %2$s" +msgstr "RT @%1$s %2$s" + +#: twitter.php:407 msgid "Your Twitter bridge has been disabled." msgstr "你的 Twitter bridge 已被禁用。" -#: twitter.php:353 +#: twitter.php:411 #, php-format msgid "" "Hi, %1$s. We're sorry to inform you that your link to Twitter has been " @@ -52,7 +59,7 @@ msgstr "" "%3$s" #: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174 -#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52 +#: TwitterBridgePlugin.php:302 twitteradminpanel.php:52 msgid "Twitter" msgstr "Twitter" @@ -64,11 +71,11 @@ msgstr "使用 Twitter 登录或注册" msgid "Twitter integration options" msgstr "Twitter 整合选项" -#: TwitterBridgePlugin.php:292 +#: TwitterBridgePlugin.php:303 msgid "Twitter bridge configuration" msgstr "Twitter bridge 设置" -#: TwitterBridgePlugin.php:316 +#: TwitterBridgePlugin.php:327 msgid "" "The Twitter \"bridge\" plugin allows integration of a StatusNet instance " "with <a href=\"http://twitter.com/\">Twitter</a>." @@ -264,28 +271,24 @@ msgstr "不允许注册。" msgid "Not a valid invitation code." msgstr "无效的邀请码。" -#: twitterauthorization.php:449 -msgid "Nickname must have only lowercase letters and numbers and no spaces." -msgstr "昵称只能使用小写字母和数字且不能使用空格。" - -#: twitterauthorization.php:454 +#: twitterauthorization.php:452 msgid "Nickname not allowed." msgstr "昵称不被允许。" -#: twitterauthorization.php:459 +#: twitterauthorization.php:457 msgid "Nickname already in use. Try another one." msgstr "昵称已被使用,换一个吧。" -#: twitterauthorization.php:474 +#: twitterauthorization.php:472 msgid "Error registering user." msgstr "注册用户出错。" -#: twitterauthorization.php:485 twitterauthorization.php:523 -#: twitterauthorization.php:543 +#: twitterauthorization.php:483 twitterauthorization.php:521 +#: twitterauthorization.php:541 msgid "Error connecting user to Twitter." msgstr "关联用户到 Twitter 出错。" -#: twitterauthorization.php:505 +#: twitterauthorization.php:503 msgid "Invalid username or password." msgstr "用户名或密码不正确。" @@ -376,17 +379,13 @@ msgstr "无法删除 Twitter 用户。" msgid "Twitter account disconnected." msgstr "已取消 Twitter 帐号关联。" -#: twittersettings.php:283 twittersettings.php:293 +#: twittersettings.php:283 twittersettings.php:294 msgid "Couldn't save Twitter preferences." msgstr "无法保存 Twitter 参数设置。" -#: twittersettings.php:297 +#: twittersettings.php:302 msgid "Twitter preferences saved." msgstr "已保存 Twitter 参数设置。" -#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'. -#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice. -#: daemons/twitterstatusfetcher.php:264 -#, php-format -msgid "RT @%1$s %2$s" -msgstr "RT @%1$s %2$s" +#~ msgid "Nickname must have only lowercase letters and numbers and no spaces." +#~ msgstr "昵称只能使用小写字母和数字且不能使用空格。" diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php index cd1ad70b9..e8d11f3b6 100644 --- a/plugins/TwitterBridge/twitter.php +++ b/plugins/TwitterBridge/twitter.php @@ -128,6 +128,44 @@ function is_twitter_notice($id) return (!empty($n2s)); } +/** + * Pull the formatted status ID number from a Twitter status object + * returned via JSON from Twitter API. + * + * Encapsulates checking for the id_str attribute, which is required + * to read 64-bit "Snowflake" ID numbers on a 32-bit system -- the + * integer id attribute gets corrupted into a double-precision float, + * losing a few digits of precision. + * + * Warning: avoid performing arithmetic or direct comparisons with + * this number, as it may get coerced back to a double on 32-bit. + * + * @param object $status + * @param string $field base field name if not 'id' + * @return mixed id number as int or string + */ +function twitter_id($status, $field='id') +{ + $field_str = "{$field}_str"; + if (isset($status->$field_str)) { + // String version of the id -- required on 32-bit systems + // since the 64-bit numbers get corrupted as ints. + return $status->$field_str; + } else { + return $status->$field; + } +} + +/** + * Check if we need to broadcast a notice over the Twitter bridge, and + * do so if necessary. Will determine whether to do a straight post or + * a repeat/retweet + * + * This function is meant to be called directly from TwitterQueueHandler. + * + * @param Notice $notice + * @return boolean true if complete or successful, false if we should retry + */ function broadcast_twitter($notice) { $flink = Foreign_link::getByUserID($notice->profile_id, @@ -137,8 +175,13 @@ function broadcast_twitter($notice) if (!empty($flink) && TwitterOAuthClient::isPackedToken($flink->credentials)) { if (!empty($notice->repeat_of) && is_twitter_notice($notice->repeat_of)) { $retweet = retweet_notice($flink, Notice::staticGet('id', $notice->repeat_of)); - if (!empty($retweet)) { - Notice_to_status::saveNew($notice->id, $retweet->id); + if (is_object($retweet)) { + Notice_to_status::saveNew($notice->id, twitter_id($retweet)); + return true; + } else { + // Our error processing will have decided if we need to requeue + // this or can discard safely. + return $retweet; } } else if (is_twitter_bound($notice, $flink)) { return broadcast_oauth($notice, $flink); @@ -148,6 +191,21 @@ function broadcast_twitter($notice) return true; } +/** + * Send a retweet to Twitter for a notice that has been previously bridged + * in or out. + * + * Warning: the return value is not guaranteed to be an object; some error + * conditions will return a 'true' which should be passed on to a calling + * queue handler. + * + * No local information about the resulting retweet is saved: it's up to + * caller to save new mappings etc if appropriate. + * + * @param Foreign_link $flink + * @param Notice $notice + * @return mixed object with resulting Twitter status data on success, or true/false/null on error conditions. + */ function retweet_notice($flink, $notice) { $token = TwitterOAuthClient::unpackToken($flink->credentials); @@ -212,7 +270,7 @@ function broadcast_oauth($notice, $flink) { try { $status = $client->statusesUpdate($statustxt, $params); if (!empty($status)) { - Notice_to_status::saveNew($notice->id, $status->id); + Notice_to_status::saveNew($notice->id, twitter_id($status)); } } catch (OAuthClientException $e) { return process_error($e, $flink, $notice); diff --git a/plugins/TwitterBridge/twitteradminpanel.php b/plugins/TwitterBridge/twitteradminpanel.php index d05a2c6b3..1a83b47d5 100644 --- a/plugins/TwitterBridge/twitteradminpanel.php +++ b/plugins/TwitterBridge/twitteradminpanel.php @@ -133,6 +133,11 @@ class TwitteradminpanelAction extends AdminPanelAction $config->query('COMMIT'); + // Flush the router cache: we may have enabled/disabled bridging, + // which will add or remove some actions. + $cache = Cache::instance(); + $cache->delete(Router::cacheKey()); + return; } diff --git a/plugins/TwitterBridge/twitterauthorization.php b/plugins/TwitterBridge/twitterauthorization.php index 931a03723..bbe41bd43 100644 --- a/plugins/TwitterBridge/twitterauthorization.php +++ b/plugins/TwitterBridge/twitterauthorization.php @@ -441,12 +441,10 @@ class TwitterauthorizationAction extends Action } } - $nickname = $this->trimmed('newname'); - - if (!Validate::string($nickname, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { - $this->showForm(_m('Nickname must have only lowercase letters and numbers and no spaces.')); + try { + $nickname = Nickname::normalize($this->trimmed('newname')); + } catch (NicknameException $e) { + $this->showForm($e->getMessage()); return; } @@ -619,9 +617,7 @@ class TwitterauthorizationAction extends Action function isNewNickname($str) { - if (!Validate::string($str, array('min_length' => 1, - 'max_length' => 64, - 'format' => NICKNAME_FMT))) { + if (!Nickname::isValid($str)) { return false; } if (!User::allowed_nickname($str)) { diff --git a/plugins/TwitterBridge/twitterimport.php b/plugins/TwitterBridge/twitterimport.php index 07a9cf95f..143543d8e 100644 --- a/plugins/TwitterBridge/twitterimport.php +++ b/plugins/TwitterBridge/twitterimport.php @@ -56,7 +56,7 @@ class TwitterImport if (preg_match("/$source/", mb_strtolower($status->source))) { common_debug($this->name() . ' - Skipping import of status ' . - $status->id . ' with source ' . $source); + twitter_id($status) . ' with source ' . $source); return null; } @@ -86,23 +86,24 @@ class TwitterImport return null; } - $statusUri = $this->makeStatusURI($status->user->screen_name, $status->id); + $statusId = twitter_id($status); + $statusUri = $this->makeStatusURI($status->user->screen_name, $statusId); // check to see if we've already imported the status - $n2s = Notice_to_status::staticGet('status_id', $status->id); + $n2s = Notice_to_status::staticGet('status_id', $statusId); if (!empty($n2s)) { common_log( LOG_INFO, $this->name() . - " - Ignoring duplicate import: {$status->id}" + " - Ignoring duplicate import: {$statusId}" ); return Notice::staticGet('id', $n2s->notice_id); } // If it's a retweet, save it as a repeat! if (!empty($status->retweeted_status)) { - common_log(LOG_INFO, "Status {$status->id} is a retweet of {$status->retweeted_status->id}."); + common_log(LOG_INFO, "Status {$statusId} is a retweet of " . twitter_id($status->retweeted_status) . "."); $original = $this->saveStatus($status->retweeted_status); if (empty($original)) { return null; @@ -126,7 +127,7 @@ class TwitterImport 'uri' => $statusUri, 'is_local' => Notice::GATEWAY)); common_log(LOG_INFO, "Saved {$repeat->id} as a repeat of {$original->id}"); - Notice_to_status::saveNew($repeat->id, $status->id); + Notice_to_status::saveNew($repeat->id, $statusId); return $repeat; } } @@ -145,17 +146,18 @@ class TwitterImport $notice->reply_to = null; - if (!empty($status->in_reply_to_status_id)) { - common_log(LOG_INFO, "Status {$status->id} is a reply to status {$status->in_reply_to_status_id}"); - $n2s = Notice_to_status::staticGet('status_id', $status->in_reply_to_status_id); + $replyTo = twitter_id($status, 'in_reply_to_status_id'); + if (!empty($replyTo)) { + common_log(LOG_INFO, "Status {$statusId} is a reply to status {$replyTo}"); + $n2s = Notice_to_status::staticGet('status_id', $replyTo); if (empty($n2s)) { - common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}"); + common_log(LOG_INFO, "Couldn't find local notice for status {$replyTo}"); } else { $reply = Notice::staticGet('id', $n2s->notice_id); if (empty($reply)) { - common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}"); + common_log(LOG_INFO, "Couldn't find local notice for status {$replyTo}"); } else { - common_log(LOG_INFO, "Found local notice {$reply->id} for status {$status->in_reply_to_status_id}"); + common_log(LOG_INFO, "Found local notice {$reply->id} for status {$replyTo}"); $notice->reply_to = $reply->id; $notice->conversation = $reply->conversation; } @@ -165,7 +167,7 @@ class TwitterImport if (empty($notice->conversation)) { $conv = Conversation::create(); $notice->conversation = $conv->id; - common_log(LOG_INFO, "No known conversation for status {$status->id} so making a new one {$conv->id}."); + common_log(LOG_INFO, "No known conversation for status {$statusId} so making a new one {$conv->id}."); } $notice->is_local = Notice::GATEWAY; @@ -186,9 +188,10 @@ class TwitterImport Event::handle('EndNoticeSave', array($notice)); } - Notice_to_status::saveNew($notice->id, $status->id); + Notice_to_status::saveNew($notice->id, $statusId); $this->saveStatusMentions($notice, $status); + $this->saveStatusAttachments($notice, $status); $notice->blowOnInsert(); @@ -542,7 +545,8 @@ class TwitterImport $text = $status->text; if (empty($status->entities)) { - common_log(LOG_WARNING, "No entities data for {$status->id}; trying to fake up links ourselves."); + $statusId = twitter_id($status); + common_log(LOG_WARNING, "No entities data for {$statusId}; trying to fake up links ourselves."); $text = common_replace_urls_callback($text, 'common_linkify'); $text = preg_replace('/(^|\"\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.TwitterStatusFetcher::tagLink('\\2')", $text); $text = preg_replace('/(^|\s+)@([a-z0-9A-Z_]{1,64})/e', "'\\1@'.TwitterStatusFetcher::atLink('\\2')", $text); @@ -648,4 +652,22 @@ class TwitterImport } } } + + /** + * Record URL links from the notice. Needed to get thumbnail records + * for referenced photo and video posts, etc. + * + * @param Notice $notice + * @param object $status + */ + function saveStatusAttachments($notice, $status) + { + if (common_config('attachments', 'process_links')) { + if (!empty($status->entities) && !empty($status->entities->urls)) { + foreach ($status->entities->urls as $url) { + File::processNew($url->url, $notice->id); + } + } + } + } }
\ No newline at end of file diff --git a/plugins/UserFlag/locale/UserFlag.pot b/plugins/UserFlag/locale/UserFlag.pot index decb06d04..c70c7988e 100644 --- a/plugins/UserFlag/locale/UserFlag.pot +++ b/plugins/UserFlag/locale/UserFlag.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" +"POT-Creation-Date: 2010-11-04 18: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" @@ -44,23 +44,19 @@ msgstr[1] "" msgid "Flagged by %s" msgstr "" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "" - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -93,7 +89,7 @@ msgid "Flag profile for review." msgstr "" #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "" diff --git a/plugins/UserFlag/locale/fr/LC_MESSAGES/UserFlag.po b/plugins/UserFlag/locale/fr/LC_MESSAGES/UserFlag.po index 277ce5650..f2c84969a 100644 --- a/plugins/UserFlag/locale/fr/LC_MESSAGES/UserFlag.po +++ b/plugins/UserFlag/locale/fr/LC_MESSAGES/UserFlag.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - UserFlag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:54+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:20+0000\n" "Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: fr\n" "X-Message-Group: #out-statusnet-plugin-userflag\n" @@ -48,23 +48,19 @@ msgstr[1] "Marqué par %1$s et %2$d autres" msgid "Flagged by %s" msgstr "Marqué par %s" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "Déjà marqué." - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "Marqué pour vérification" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "Marqué" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -99,7 +95,7 @@ msgid "Flag profile for review." msgstr "Marquer le profil pour vérification." #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "Impossible de marquer le profil « %d » pour vérification." diff --git a/plugins/UserFlag/locale/ia/LC_MESSAGES/UserFlag.po b/plugins/UserFlag/locale/ia/LC_MESSAGES/UserFlag.po index d58458b05..2917da732 100644 --- a/plugins/UserFlag/locale/ia/LC_MESSAGES/UserFlag.po +++ b/plugins/UserFlag/locale/ia/LC_MESSAGES/UserFlag.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - UserFlag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:54+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:20+0000\n" "Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: ia\n" "X-Message-Group: #out-statusnet-plugin-userflag\n" @@ -48,23 +48,19 @@ msgstr[1] "Marcate per %1$s e %2$d alteres" msgid "Flagged by %s" msgstr "Marcate per %s" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "Le marca ja existe." - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "Marcate pro revision" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "Marcate" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -98,7 +94,7 @@ msgid "Flag profile for review." msgstr "Marcar profilo pro revision." #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "Non poteva marcar profilo \"%d\" pro revision." diff --git a/plugins/UserFlag/locale/mk/LC_MESSAGES/UserFlag.po b/plugins/UserFlag/locale/mk/LC_MESSAGES/UserFlag.po index ab9c1b2e4..8d934141e 100644 --- a/plugins/UserFlag/locale/mk/LC_MESSAGES/UserFlag.po +++ b/plugins/UserFlag/locale/mk/LC_MESSAGES/UserFlag.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - UserFlag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:54+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:20+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-userflag\n" @@ -48,23 +48,19 @@ msgstr[1] "Означено од %1$s и уште %2$d други" msgid "Flagged by %s" msgstr "Означено од %s" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "Ознаката веќе постои." - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "Означено за преглед" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "Означено" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -99,7 +95,7 @@ msgid "Flag profile for review." msgstr "Означи профил за преглед." #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "Не можев да го означам профилот „%d“ за преглед." diff --git a/plugins/UserFlag/locale/nl/LC_MESSAGES/UserFlag.po b/plugins/UserFlag/locale/nl/LC_MESSAGES/UserFlag.po index 115b63433..766776a9e 100644 --- a/plugins/UserFlag/locale/nl/LC_MESSAGES/UserFlag.po +++ b/plugins/UserFlag/locale/nl/LC_MESSAGES/UserFlag.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - UserFlag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:54+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:20+0000\n" "Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: nl\n" "X-Message-Group: #out-statusnet-plugin-userflag\n" @@ -48,23 +48,19 @@ msgstr[1] "Gemarkeerd door %1$s en %2$d anderen" msgid "Flagged by %s" msgstr "Gemarkeerd door %s" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "De markering bestaat al." - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "Gemarkeerd voor controle" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "Gemarkeerd" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -100,7 +96,7 @@ msgid "Flag profile for review." msgstr "Profiel voor controle markeren" #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "Het was niet mogelijk het profiel \"%d\" voor controle te markeren." diff --git a/plugins/UserFlag/locale/pt/LC_MESSAGES/UserFlag.po b/plugins/UserFlag/locale/pt/LC_MESSAGES/UserFlag.po index c476cf2f7..ea71be24e 100644 --- a/plugins/UserFlag/locale/pt/LC_MESSAGES/UserFlag.po +++ b/plugins/UserFlag/locale/pt/LC_MESSAGES/UserFlag.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - UserFlag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:54+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:20+0000\n" "Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: pt\n" "X-Message-Group: #out-statusnet-plugin-userflag\n" @@ -48,23 +48,19 @@ msgstr[1] "Sinalizado por %1$s e mais %2$d pessoas" msgid "Flagged by %s" msgstr "Sinalizado por %s" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "Já existe uma sinalização." - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "Sinalizado para análise" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "Sinalizado" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -99,7 +95,7 @@ msgid "Flag profile for review." msgstr "Sinalizar perfil para análise." #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "Não foi possível sinalizar o perfil \"%d\" para análise." diff --git a/plugins/UserFlag/locale/uk/LC_MESSAGES/UserFlag.po b/plugins/UserFlag/locale/uk/LC_MESSAGES/UserFlag.po index c6dd6e40d..ae0e9b03f 100644 --- a/plugins/UserFlag/locale/uk/LC_MESSAGES/UserFlag.po +++ b/plugins/UserFlag/locale/uk/LC_MESSAGES/UserFlag.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - UserFlag\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:54+0000\n" +"POT-Creation-Date: 2010-11-07 20:25+0000\n" +"PO-Revision-Date: 2010-11-07 20:29:20+0000\n" "Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-23 19:01:50+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-11-05 00:29:34+0000\n" +"X-Generator: MediaWiki 1.17alpha (r76266); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: uk\n" "X-Message-Group: #out-statusnet-plugin-userflag\n" @@ -50,23 +50,19 @@ msgstr[2] "Відмічено %1$s та ще %2$d користувачами" msgid "Flagged by %s" msgstr "Відмічено %s" -#. TRANS: Client error when setting flag that has already been set for a profile. -#: flagprofile.php:66 -msgid "Flag already exists." -msgstr "Відмітка вже стоїть." - #. TRANS: AJAX form title for a flagged profile. -#: flagprofile.php:126 +#: flagprofile.php:125 msgid "Flagged for review" msgstr "Відмічені для розгляду" #. TRANS: Body text for AJAX form when a profile has been flagged for review. -#: flagprofile.php:130 +#. TRANS: Message added to a profile if it has been flagged for review. +#: flagprofile.php:129 UserFlagPlugin.php:173 msgid "Flagged" msgstr "Відмічені" #. TRANS: Plugin description. -#: UserFlagPlugin.php:292 +#: UserFlagPlugin.php:294 msgid "" "This plugin allows flagging of profiles for review and reviewing flagged " "profiles." @@ -101,7 +97,7 @@ msgid "Flag profile for review." msgstr "Відмітити профіль для розгляду." #. TRANS: Server exception. -#: User_flag_profile.php:145 +#: User_flag_profile.php:160 #, php-format msgid "Couldn't flag profile \"%d\" for review." msgstr "Не вдалося відмітити профіль «%d» для розгляду." diff --git a/plugins/UserLimit/locale/lv/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/lv/LC_MESSAGES/UserLimit.po new file mode 100644 index 000000000..eb4e3d545 --- /dev/null +++ b/plugins/UserLimit/locale/lv/LC_MESSAGES/UserLimit.po @@ -0,0 +1,27 @@ +# Translation of StatusNet - UserLimit to Latvian (Latviešu) +# Expored from translatewiki.net +# +# Author: Geimeris +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - UserLimit\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:37+0000\n" +"Language-Team: Latvian <http://translatewiki.net/wiki/Portal:lv>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-11-02 23:07:31+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: lv\n" +"X-Message-Group: #out-statusnet-plugin-userlimit\n" +"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n != " +"0) ? 1 : 2 );\n" + +#: UserLimitPlugin.php:89 +msgid "Limit the number of users who can register." +msgstr "Ierobežotais lietotāju skaits, kuri var reģistrēties." diff --git a/plugins/WikiHashtags/locale/de/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/de/LC_MESSAGES/WikiHashtags.po new file mode 100644 index 000000000..f8258343e --- /dev/null +++ b/plugins/WikiHashtags/locale/de/LC_MESSAGES/WikiHashtags.po @@ -0,0 +1,30 @@ +# Translation of StatusNet - WikiHashtags to German (Deutsch) +# Expored from translatewiki.net +# +# Author: The Evil IP address +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - WikiHashtags\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:38+0000\n" +"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:14:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: de\n" +"X-Message-Group: #out-statusnet-plugin-wikihashtags\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: WikiHashtagsPlugin.php:110 +msgid "" +"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/" +"\">WikiHashtags</a>." +msgstr "" +"Holt Hashtag-Beschreibungen aus <a href=\"http://hashtags.wikia.com/" +"\">WikiHashtags</a>." diff --git a/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po index b15fb0cf6..f88501dc7 100644 --- a/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po +++ b/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po @@ -9,13 +9,13 @@ msgid "" msgstr "" "Project-Id-Version: StatusNet - WikiHashtags\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-27 23:43+0000\n" -"PO-Revision-Date: 2010-10-27 23:47:55+0000\n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:38+0000\n" "Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-POT-Import-Date: 2010-10-18 20:34:15+0000\n" -"X-Generator: MediaWiki 1.17alpha (r75596); Translate extension (2010-09-17)\n" +"X-POT-Import-Date: 2010-10-29 16:14:14+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" "X-Translation-Project: translatewiki.net at http://translatewiki.net\n" "X-Language-Code: mk\n" "X-Message-Group: #out-statusnet-plugin-wikihashtags\n" @@ -26,5 +26,5 @@ msgid "" "Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/" "\">WikiHashtags</a>." msgstr "" -"Презема описи на хеш-ознаки од <a href=\"http://hashtags.wikia.com/" +"Презема описи на тарабни ознаки од <a href=\"http://hashtags.wikia.com/" "\">WikiHashtags</a>." diff --git a/plugins/YammerImport/locale/gl/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/gl/LC_MESSAGES/YammerImport.po new file mode 100644 index 000000000..027b05a1e --- /dev/null +++ b/plugins/YammerImport/locale/gl/LC_MESSAGES/YammerImport.po @@ -0,0 +1,268 @@ +# Translation of StatusNet - YammerImport to Galician (Galego) +# Expored from translatewiki.net +# +# Author: Toliño +# -- +# This file is distributed under the same license as the StatusNet package. +# +msgid "" +msgstr "" +"Project-Id-Version: StatusNet - YammerImport\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-29 15:37+0000\n" +"PO-Revision-Date: 2010-11-29 15:42:43+0000\n" +"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-POT-Import-Date: 2010-10-29 16:14:46+0000\n" +"X-Generator: MediaWiki 1.17alpha (r77421); Translate extension (2010-09-17)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: gl\n" +"X-Message-Group: #out-statusnet-plugin-yammerimport\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: YammerImportPlugin.php:98 +msgid "Yammer" +msgstr "" + +#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135 +msgid "Yammer import" +msgstr "" + +#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56 +#: lib/yammerprogressform.php:68 actions/yammerauth.php:71 +msgid "Connect to Yammer" +msgstr "" + +#: lib/yammerauthinitform.php:62 +msgid "Start authentication" +msgstr "" + +#: lib/yammerauthinitform.php:62 +msgid "Request authorization to connect to Yammer account" +msgstr "" + +#: lib/yammerauthinitform.php:63 +msgid "Change API key" +msgstr "" + +#: lib/yammerimporter.php:230 +msgid "Expertise:" +msgstr "" + +#: lib/yammerimporter.php:433 +#, php-format +msgid "Invalid avatar URL %s." +msgstr "" + +#: lib/yammerimporter.php:441 +#, php-format +msgid "Unable to fetch avatar from %s." +msgstr "" + +#: lib/yammerapikeyform.php:56 +msgid "Yammer API registration" +msgstr "" + +#: lib/yammerapikeyform.php:72 +msgid "" +"Before we can connect to your Yammer network, you will need to register the " +"importer as an application authorized to pull data on your behalf. This " +"registration will work only for your own network. Follow this link to " +"register the app at Yammer; you will be prompted to log in if necessary:" +msgstr "" + +#: lib/yammerapikeyform.php:84 +msgid "Open Yammer application registration form" +msgstr "" + +#: lib/yammerapikeyform.php:87 +msgid "Copy the consumer key and secret you are given into the form below:" +msgstr "" + +#: lib/yammerapikeyform.php:91 +msgid "Consumer key:" +msgstr "Clave do consumidor:" + +#: lib/yammerapikeyform.php:94 +msgid "Consumer secret:" +msgstr "Pregunta secreta do consumidor:" + +#: lib/yammerapikeyform.php:98 +msgid "Save" +msgstr "Gardar" + +#: lib/yammerapikeyform.php:98 +msgid "Save these consumer keys" +msgstr "" + +#: lib/yammerauthverifyform.php:72 +msgid "" +"Follow this link to confirm authorization at Yammer; you will be prompted to " +"log in if necessary:" +msgstr "" + +#: lib/yammerauthverifyform.php:87 +msgid "Open Yammer authentication window" +msgstr "" + +#: lib/yammerauthverifyform.php:90 +msgid "Copy the verification code you are given below:" +msgstr "" + +#: lib/yammerauthverifyform.php:94 +msgid "Verification code:" +msgstr "Código de verificación:" + +#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164 +msgid "Continue" +msgstr "Continuar" + +#: lib/yammerauthverifyform.php:98 +msgid "Save code and begin import" +msgstr "" + +#: lib/yammerprogressform.php:63 +msgid "Initialize" +msgstr "Iniciar" + +#: lib/yammerprogressform.php:64 +msgid "No import running" +msgstr "" + +#: lib/yammerprogressform.php:65 +msgid "Initiated Yammer server connection..." +msgstr "" + +#: lib/yammerprogressform.php:69 +msgid "Awaiting authorization..." +msgstr "Agardando a autorización..." + +#: lib/yammerprogressform.php:70 +msgid "Connected." +msgstr "Conectado." + +#: lib/yammerprogressform.php:73 +msgid "Import user accounts" +msgstr "" + +#: lib/yammerprogressform.php:74 +#, php-format +msgid "Importing %d user..." +msgid_plural "Importing %d users..." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:75 +#, php-format +msgid "Imported %d user." +msgid_plural "Imported %d users." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:78 +msgid "Import user groups" +msgstr "" + +#: lib/yammerprogressform.php:79 +#, php-format +msgid "Importing %d group..." +msgid_plural "Importing %d groups..." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:80 +#, php-format +msgid "Imported %d group." +msgid_plural "Imported %d groups." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:83 +msgid "Prepare public notices for import" +msgstr "" + +#: lib/yammerprogressform.php:84 +#, php-format +msgid "Preparing %d notice..." +msgid_plural "Preparing %d notices..." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:85 +#, php-format +msgid "Prepared %d notice." +msgid_plural "Prepared %d notices." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:88 +msgid "Import public notices" +msgstr "" + +#: lib/yammerprogressform.php:89 +#, php-format +msgid "Importing %d notice..." +msgid_plural "Importing %d notices..." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:90 +#, php-format +msgid "Imported %d notice." +msgid_plural "Imported %d notices." +msgstr[0] "" +msgstr[1] "" + +#: lib/yammerprogressform.php:93 +msgid "Done" +msgstr "Feito" + +#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95 +msgid "Import is complete!" +msgstr "Completouse a importación!" + +#: lib/yammerprogressform.php:108 +msgid "Import status" +msgstr "Estado da importación" + +#: lib/yammerprogressform.php:132 +msgid "Waiting..." +msgstr "Agarde..." + +#: lib/yammerprogressform.php:146 +msgid "Reset import state" +msgstr "Reiniciar o estado da importación" + +#: lib/yammerprogressform.php:151 +msgid "Pause import" +msgstr "Pausar a importación" + +#: lib/yammerprogressform.php:160 +#, php-format +msgid "Encountered error \"%s\"" +msgstr "Atopouse o erro \"%s\"" + +#: lib/yammerprogressform.php:162 +msgid "Paused" +msgstr "En pausa" + +#: lib/yammerprogressform.php:165 +msgid "Abort import" +msgstr "Abortar a importación" + +#: actions/yammeradminpanel.php:45 +msgid "Yammer Import" +msgstr "Importación Yammer" + +#: actions/yammeradminpanel.php:55 +msgid "" +"This Yammer import tool is still undergoing testing, and is incomplete in " +"some areas. Currently user subscriptions and group memberships are not " +"transferred; in the future this may be supported for imports done by " +"verified administrators on the Yammer side." +msgstr "" + +#: actions/yammeradminpanel.php:102 +msgid "Paused from admin panel." +msgstr "En pausa desde o panel de administración." |