summaryrefslogtreecommitdiff
path: root/plugins/Linkback
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Linkback')
-rw-r--r--plugins/Linkback/LinkbackPlugin.php247
-rw-r--r--plugins/Linkback/locale/Linkback.pot25
-rw-r--r--plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po35
10 files changed, 545 insertions, 0 deletions
diff --git a/plugins/Linkback/LinkbackPlugin.php b/plugins/Linkback/LinkbackPlugin.php
new file mode 100644
index 000000000..797572d7f
--- /dev/null
+++ b/plugins/Linkback/LinkbackPlugin.php
@@ -0,0 +1,247 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to do linkbacks for notices containing links
+ *
+ * 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 Evan Prodromou <evan@status.net>
+ * @copyright 2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+require_once('Auth/Yadis/Yadis.php');
+
+define('LINKBACKPLUGIN_VERSION', '0.1');
+
+/**
+ * Plugin to do linkbacks for notices containing URLs
+ *
+ * After new notices are saved, we check their text for URLs. If there
+ * are URLs, we test each URL to see if it supports any
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Evan Prodromou <evan@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 Event
+ */
+class LinkbackPlugin extends Plugin
+{
+ var $notice = null;
+
+ function __construct()
+ {
+ parent::__construct();
+ }
+
+ function onHandleQueuedNotice($notice)
+ {
+ if ($notice->is_local == 1) {
+ // Try to avoid actually mucking with the
+ // notice content
+ $c = $notice->content;
+ $this->notice = $notice;
+ // Ignoring results
+ common_replace_urls_callback($c,
+ array($this, 'linkbackUrl'));
+ }
+ return true;
+ }
+
+ function linkbackUrl($url)
+ {
+ common_log(LOG_DEBUG,"Attempting linkback for " . $url);
+
+ $orig = $url;
+ $url = htmlspecialchars_decode($orig);
+ $scheme = parse_url($url, PHP_URL_SCHEME);
+ if (!in_array($scheme, array('http', 'https'))) {
+ return $orig;
+ }
+
+ // XXX: Do a HEAD first to save some time/bandwidth
+
+ $fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
+
+ $result = $fetcher->get($url,
+ array('User-Agent: ' . $this->userAgent(),
+ 'Accept: application/html+xml,text/html'));
+
+ if (!in_array($result->status, array('200', '206'))) {
+ return $orig;
+ }
+
+ $pb = null;
+ $tb = null;
+
+ if (array_key_exists('X-Pingback', $result->headers)) {
+ $pb = $result->headers['X-Pingback'];
+ } else if (preg_match('/<link rel="pingback" href="([^"]+)" ?\/?>/',
+ $result->body,
+ $match)) {
+ $pb = $match[1];
+ }
+
+ if (!empty($pb)) {
+ $this->pingback($result->final_url, $pb);
+ } else {
+ $tb = $this->getTrackback($result->body, $result->final_url);
+ if (!empty($tb)) {
+ $this->trackback($result->final_url, $tb);
+ }
+ }
+
+ return $orig;
+ }
+
+ function pingback($url, $endpoint)
+ {
+ $args = array($this->notice->uri, $url);
+
+ if (!extension_loaded('xmlrpc')) {
+ if (!dl('xmlrpc.so')) {
+ common_log(LOG_ERR, "Can't pingback; xmlrpc extension not available.");
+ return;
+ }
+ }
+
+ $request = HTTPClient::start();
+ try {
+ $response = $request->post($endpoint,
+ array('Content-Type: text/xml'),
+ xmlrpc_encode_request('pingback.ping', $args));
+ $response = xmlrpc_decode($response->getBody());
+ if (xmlrpc_is_fault($response)) {
+ common_log(LOG_WARNING,
+ "Pingback error for '$url' ($endpoint): ".
+ "$response[faultString] ($response[faultCode])");
+ } else {
+ common_log(LOG_INFO,
+ "Pingback success for '$url' ($endpoint): ".
+ "'$response'");
+ }
+ } catch (HTTP_Request2_Exception $e) {
+ common_log(LOG_WARNING,
+ "Pingback request failed for '$url' ($endpoint)");
+ }
+ }
+
+ // Largely cadged from trackback_cls.php by
+ // Ran Aroussi <ran@blogish.org>, GPL2 or any later version
+ // http://phptrackback.sourceforge.net/
+ function getTrackback($text, $url)
+ {
+ if (preg_match_all('/(<rdf:RDF.*?<\/rdf:RDF>)/sm', $text, $match, PREG_SET_ORDER)) {
+ for ($i = 0; $i < count($match); $i++) {
+ if (preg_match('|dc:identifier="' . preg_quote($url) . '"|ms', $match[$i][1])) {
+ $rdf_array[] = trim($match[$i][1]);
+ }
+ }
+
+ // Loop through the RDFs array and extract trackback URIs
+
+ $tb_array = array(); // <- holds list of trackback URIs
+
+ if (!empty($rdf_array)) {
+
+ for ($i = 0; $i < count($rdf_array); $i++) {
+ if (preg_match('/trackback:ping="([^"]+)"/', $rdf_array[$i], $array)) {
+ $tb_array[] = trim($array[1]);
+ break;
+ }
+ }
+ }
+
+ // Return Trackbacks
+
+ if (empty($tb_array)) {
+ return null;
+ } else {
+ return $tb_array[0];
+ }
+ }
+
+ if (preg_match_all('/(<a[^>]*?rel=[\'"]trackback[\'"][^>]*?>)/', $text, $match)) {
+ foreach ($match[1] as $atag) {
+ if (preg_match('/href=[\'"]([^\'"]*?)[\'"]/', $atag, $url)) {
+ return $url[1];
+ }
+ }
+ }
+
+ return null;
+
+ }
+
+ function trackback($url, $endpoint)
+ {
+ $profile = $this->notice->getProfile();
+
+ $args = array('title' => sprintf(_('%1$s\'s status on %2$s'),
+ $profile->nickname,
+ common_exact_date($this->notice->created)),
+ 'excerpt' => $this->notice->content,
+ 'url' => $this->notice->uri,
+ 'blog_name' => $profile->nickname);
+
+ $fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
+
+ $result = $fetcher->post($endpoint,
+ http_build_query($args),
+ array('User-Agent: ' . $this->userAgent()));
+
+ if ($result->status != '200') {
+ common_log(LOG_WARNING,
+ "Trackback error for '$url' ($endpoint): ".
+ "$result->body");
+ } else {
+ common_log(LOG_INFO,
+ "Trackback success for '$url' ($endpoint): ".
+ "'$result->body'");
+ }
+ }
+
+ function userAgent()
+ {
+ return 'LinkbackPlugin/'.LINKBACKPLUGIN_VERSION .
+ ' StatusNet/' . STATUSNET_VERSION;
+ }
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Linkback',
+ 'version' => LINKBACKPLUGIN_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Linkback',
+ 'rawdescription' =>
+ _m('Notify blog authors when their posts have been linked in '.
+ 'microblog notices using '.
+ '<a href="http://www.hixie.ch/specs/pingback/pingback">Pingback</a> '.
+ 'or <a href="http://www.movabletype.org/docs/mttrackback.html">Trackback</a> protocols.'));
+ return true;
+ }
+}
diff --git a/plugins/Linkback/locale/Linkback.pot b/plugins/Linkback/locale/Linkback.pot
new file mode 100644
index 000000000..1d1b0437c
--- /dev/null
+++ b/plugins/Linkback/locale/Linkback.pot
@@ -0,0 +1,25 @@
+# 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-10-03 19:53+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"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
diff --git a/plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..dec449471
--- /dev/null
+++ b/plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Notificar a los autores de blogs cunado sus publicaciones hayan sido "
+"vinculadas en mensajes de microblogs mediante protocolos<a href=\"http://www."
+"hixie.ch/specs/pingback/pingback\">Pingback</a> o <a href=\"http://www."
+"movabletype.org/docs/mttrackback.html\">Trackback</a> protocols."
diff --git a/plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..525c681dc
--- /dev/null
+++ b/plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56: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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Avertissez les auteurs de blogues lorsque leurs publications ont été liées "
+"dans des avis « microblogue », au moyen des protocoles <a href=\"http://www."
+"hixie.ch/specs/pingback/pingback\">Pingback</a> ou <a href=\"http://www."
+"movabletype.org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..46c10ff82
--- /dev/null
+++ b/plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56: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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Notificar autores de blogs quando lor articulos ha essite ligate in notas de "
+"microblog usante le protocollos <a href=\"http://www.hixie.ch/specs/pingback/"
+"pingback\">Pingback</a> o <a href=\"http://www.movabletype.org/docs/"
+"mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..3f45b8dd9
--- /dev/null
+++ b/plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback 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 - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56: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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Извести ги авторите на блоговите кога некој стави врска до нивните објави во "
+"забелешки од микроблогови користејќи ги протоколите <a href=\"http://www."
+"hixie.ch/specs/pingback/pingback\">Pingback</a> или <a href=\"http://www."
+"movabletype.org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..cc1267288
--- /dev/null
+++ b/plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback 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 - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Varsle bloggforfattere når deres innlegg har blitt lenket til i "
+"mikrobloggvarsler ved å bruke <a href=\"http://www.hixie.ch/specs/pingback/"
+"pingback\">Pingback</a>- eller <a href=\"http://www.movabletype.org/docs/"
+"mttrackback.html\">Trackback</a>-protokoller."
diff --git a/plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..9d923ba79
--- /dev/null
+++ b/plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback 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 - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56: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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Blogauteurs laten weten wanneer naar hun berichten wordt verwezen in "
+"mededelingen met behulp van de protocollen <a href=\"http://www.hixie.ch/"
+"specs/pingback/pingback\">Pingback</a> of <a href=\"http://www.movabletype."
+"org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..f61749d75
--- /dev/null
+++ b/plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Ipaalam sa mga may-akda ng blog kapag ang kanilang ang mga pagpapaskil ay "
+"ikinawing sa mga pabatid ng mikroblog sa pamamagitan ng mga protokol na <a "
+"href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> o <a href="
+"\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..6a2b00d9b
--- /dev/null
+++ b/plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - Linkback 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 - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+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-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); 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-linkback\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"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Сповіщення авторів блоґів, якщо їхні дописи стають об’єктом уваги у "
+"мікроблоґах, використовуючи протоколи <a href=\"http://www.hixie.ch/specs/"
+"pingback/pingback\">Pingback</a> або <a href=\"http://www.movabletype.org/"
+"docs/mttrackback.html\">Trackback</a>."