code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Plugin to add ICBM metadata to HTML pages and report data to GeoURL.org
 *
 * 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  Action
 * @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);
}

/**
 * Plugin to add ICBM metadata to HTML pages and report data to GeoURL.org
 *
 * Adds metadata to notice and profile pages that geourl.org and others
 * understand. Also, pings geourl.org when a new notice is saved or
 * a profile is changed.
 *
 * @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/
 *
 * @seeAlso  Location
 */
class GeoURLPlugin extends Plugin
{
    public $ping = 'http://geourl.org/ping/';

    /**
     * Add extra <meta> headers for certain pages that geourl.org understands
     *
     * @param Action $action page being shown
     *
     * @return boolean event handler flag
     */
    function onEndShowHeadElements($action)
    {
        $name = $action->trimmed('action');

        $location = null;

        if ($name == 'showstream') {
            $profile = $action->profile;
            if (!empty($profile) && !empty($profile->lat) && !empty($profile->lon)) {
                $location = $profile->lat . ', ' . $profile->lon;
            }
        } else if ($name == 'shownotice') {
            $notice = $action->profile;
            if (!empty($notice) && !empty($notice->lat) && !empty($notice->lon)) {
                $location = $notice->lat . ', ' . $notice->lon;
            }
        }

        if (!empty($location)) {
            $action->element('meta', array('name' => 'ICBM',
                                           'content' => $location));
            $action->element('meta', array('name' => 'DC.title',
                                           'content' => $action->title()));
        }

        return true;
    }

    /**
     * Report local notices to GeoURL.org when they're created
     *
     * @param Notice &$notice queued notice
     *
     * @return boolean event handler flag
     */
    function onHandleQueuedNotice(&$notice)
    {
        if ($notice->is_local == 1) {

            $request = HTTPClient::start();

            $url = common_local_url('shownotice',
                                    array('notice' => $notice->id));

            try {
                $request->post($this->ping,
                               null,
                               array('p' => $url));
            } catch (HTTP_Request2_Exception $e) {
                common_log(LOG_WARNING,
                           "GeoURL.org ping failed for '$url' ($this->ping)");
            }
        }

        return true;
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'GeoURL',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:GeoURL',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Ping GeoURL when '.
                               'new geolocation-enhanced notices are posted.'));
        return true;
    }
}


code:
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANS: Plugin description.
#: GeoURLPlugin.php:125
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""

license: mit


code:
# Translation of StatusNet - GeoURL to Catalan (català)
# Exported from translatewiki.net
#
# Author: Toniher
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Catalan <https://translatewiki.net/wiki/Portal:ca>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ca\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Feu un ping a GeoURL en anviar avisos "
"geolocalitzats."


code:
# Translation of StatusNet - GeoURL to German (Deutsch)
# Exported from translatewiki.net
#
# Author: Apmon
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: German <https://translatewiki.net/wiki/Portal:de>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: de\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Ping GeoURL wenn neue georeferenzierte "
"Notizen gepostet werden."


code:
# Translation of StatusNet - GeoURL to Esperanto (Esperanto)
# Exported from translatewiki.net
#
# Author: LyzTyphone
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Esperanto <https://translatewiki.net/wiki/Portal:eo>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: eo\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Eĥosondu GeoURL-n, kiam sciigon pri "
"plibonigo de terlokigado aperas."


code:
# Translation of StatusNet - GeoURL to Spanish (español)
# Exported from translatewiki.net
#
# Author: Translationista
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Spanish <https://translatewiki.net/wiki/Portal:es>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: es\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Hacer ping al GeoURL cade vez que se "
"publique nuevos mensajes de geolocalización mejorados."


code:
# Translation of StatusNet - GeoURL to Basque (euskara)
# Exported from translatewiki.net
#
# Author: Artsuaga
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Basque <https://translatewiki.net/wiki/Portal:eu>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: eu\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Egin ping GeoURLri hobetutako "
"geolokalizazio ohar berriak argitaratzen diren aldiko."


code:
# Translation of StatusNet - GeoURL to Finnish (suomi)
# Exported from translatewiki.net
#
# Author: Nike
# Author: XTL
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Finnish <https://translatewiki.net/wiki/Portal:fi>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: fi\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Pingaa GeoURL-palvelua, kun uusi "
"paikkatiedoin varustettu ilmoitus lähetetään."


code:
# Translation of StatusNet - GeoURL to French (français)
# Exported from translatewiki.net
#
# Author: Verdy p
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: French <https://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: fr\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Interroger GeoURL lorsque de nouveaux "
"avis géolocalisés sont postés."


code:
# Translation of StatusNet - GeoURL to Galician (galego)
# Exported from translatewiki.net
#
# Author: Toliño
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Galician <https://translatewiki.net/wiki/Portal:gl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: gl\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Ping GeoURL ao publicar novas notas de "
"xeolocalización mellorada."


code:
# Translation of StatusNet - GeoURL to Hebrew (עברית)
# Exported from translatewiki.net
#
# Author: Amire80
# Author: YaronSh
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Hebrew <https://translatewiki.net/wiki/Portal:he>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: he\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"שליחת פינג ל־GeoURL כאשר מפורסמים עדכונים "
"מועשרים בנתוני מיקום גאוגרפי."


code:
# Translation of StatusNet - GeoURL to Interlingua (interlingua)
# Exported from translatewiki.net
#
# Author: McDutchie
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Interlingua <https://translatewiki.net/wiki/Portal:ia>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ia\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Invia un ping a GeoURL quando se publica "
"nove notas con geolocalisation."


code:
# Translation of StatusNet - GeoURL to Indonesian (Bahasa Indonesia)
# Exported from translatewiki.net
#
# Author: Farras
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Indonesian <https://translatewiki.net/wiki/Portal:id>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: id\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Ping GeoURL ketika pemberitahuan lokasi "
"geo terbaru dikirim."


code:
# Translation of StatusNet - GeoURL to Italian (italiano)
# Exported from translatewiki.net
#
# Author: Ximo17
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Manda un ping GeoURL quando vengono "
"pubblicati nuovi avvisi di geolocalizzazione avanzata."


code:
# Translation of StatusNet - GeoURL to Macedonian (македонски)
# Exported from translatewiki.net
#
# Author: Bjankuloski06
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Macedonian <https://translatewiki.net/wiki/Portal:mk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: mk\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Пингувај GeoURL при објавување на нови "
"геолоцирани забелешки."


code:
# Translation of StatusNet - GeoURL to Norwegian Bokmål (norsk (bokmål))
# Exported from translatewiki.net
#
# Author: Nghtwlkr
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:42+0000\n"
"Language-Team: Norwegian Bokmål <https://translatewiki.net/wiki/Portal:nb>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: nb\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Ping GeoURL når nye notiser med "
"geolokasjon blir postet."


code:
# Translation of StatusNet - GeoURL to Dutch (Nederlands)
# Exported from translatewiki.net
#
# Author: Siebrand
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Dutch <https://translatewiki.net/wiki/Portal:nl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: nl\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"GeoURL pingen als nieuwe met "
"geolocatiegegevens verrijkte mededelingen worden geplaatst."


code:
# Translation of StatusNet - GeoURL to Polish (polski)
# Exported from translatewiki.net
#
# Author: Raven
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Polish <https://translatewiki.net/wiki/Portal:pl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: pl\n"
"X-Message-Group: #out-statusnet-plugin-geourl\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: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Używa GeoURL po wysłaniu wpisów "
"zawierających informacje geolokalizacyjne."


code:
# Translation of StatusNet - GeoURL to Portuguese (português)
# Exported from translatewiki.net
#
# Author: GTNS
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Portuguese <https://translatewiki.net/wiki/Portal:pt>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: pt\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Fazer \"ping\" ao GeoURL quando forem "
"enviadas mensagens com indicação da localização geográfica."


code:
# Translation of StatusNet - GeoURL to Russian (русский)
# Exported from translatewiki.net
#
# Author: Александр Сигачёв
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Russian <https://translatewiki.net/wiki/Portal:ru>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ru\n"
"X-Message-Group: #out-statusnet-plugin-geourl\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: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Пинг GeoURL при отправлении новых заметок "
"с геолокацией."


code:
# Translation of StatusNet - GeoURL to Swedish (svenska)
# Exported from translatewiki.net
#
# Author: Jamminjohn
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Swedish <https://translatewiki.net/wiki/Portal:sv>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: sv\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Pinga GeoURL när nya notiser med "
"geolokation har postats."


code:
# Translation of StatusNet - GeoURL to Tagalog (Tagalog)
# Exported from translatewiki.net
#
# Author: AnakngAraw
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Tagalog <https://translatewiki.net/wiki/Portal:tl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: tl\n"
"X-Message-Group: #out-statusnet-plugin-geourl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Kalansingin ang GeoURL kapag napaskil ang "
"mga bagong mga pabatid na pinainam ng heolokasyon."


code:
# Translation of StatusNet - GeoURL to Ukrainian (українська)
# Exported from translatewiki.net
#
# Author: Boogie
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - GeoURL\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Ukrainian <https://translatewiki.net/wiki/Portal:uk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:15+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: uk\n"
"X-Message-Group: #out-statusnet-plugin-geourl\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: Plugin description.
msgid ""
"Ping GeoURL when new geolocation-enhanced "
"notices are posted."
msgstr ""
"Пінґувати GeoURL, якщо нові повідомлення "
"позначаються іншим географічним розташуванням."


code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Plugin to convert string locations to Geonames IDs and vice versa
 *
 * 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  Action
 * @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);
}

/**
 * Plugin to convert string locations to Geonames IDs and vice versa
 *
 * This handles most of the events that Location class emits. It uses
 * the geonames.org Web service to convert names like 'Montreal, Quebec, Canada'
 * into IDs and lat/lon pairs.
 *
 * @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/
 *
 * @seeAlso  Location
 */
class GeonamesPlugin extends Plugin
{
    const LOCATION_NS = 1;

    public $host     = 'ws.geonames.org';
    public $username = null;
    public $token    = null;
    public $expiry   = 7776000; // 90-day expiry
    public $timeout  = 2;       // Web service timeout in seconds.
    public $timeoutWindow = 60; // Further lookups in this process will be disabled for N seconds after a timeout.
    public $cachePrefix = null; // Optional shared memcache prefix override
                                // to share lookups between local instances.

    protected $lastTimeout = null; // timestamp of last web service timeout

    /**
     * convert a name into a Location object
     *
     * @param string   $name      Name to convert
     * @param string   $language  ISO code for anguage the name is in
     * @param Location &$location Location object (may be null)
     *
     * @return boolean whether to continue (results in $location)
     */
    function onLocationFromName($name, $language, &$location)
    {
        $loc = $this->getCache(array('name' => $name,
                                     'language' => $language));

        if ($loc !== false) {
            $location = $loc;
            return false;
        }

        try {
            $geonames = $this->getGeonames('search',
                                           array('maxRows' => 1,
                                                 'q' => $name,
                                                 'lang' => $language,
                                                 'type' => 'xml'));
        } catch (Exception $e) {
            $this->log(LOG_WARNING, "Error for $name: " . $e->getMessage());
            return true;
        }

        if (count($geonames) == 0) {
            // no results
            $this->setCache(array('name' => $name,
                                  'language' => $language),
                            null);
            return true;
        }

        $n = $geonames[0];

        $location = new Location();

        $location->lat              = $this->canonical($n->lat);
        $location->lon              = $this->canonical($n->lng);
        $location->names[$language] = (string)$n->name;
        $location->location_id      = (string)$n->geonameId;
        $location->location_ns      = self::LOCATION_NS;

        $this->setCache(array('name' => $name,
                              'language' => $language),
                        $location);

        // handled, don't continue processing!
        return false;
    }

    /**
     * convert an id into a Location object
     *
     * @param string   $id        Name to convert
     * @param string   $ns        Name to convert
     * @param string   $language  ISO code for language for results
     * @param Location &$location Location object (may be null)
     *
     * @return boolean whether to continue (results in $location)
     */
    function onLocationFromId($id, $ns, $language, &$location)
    {
        if ($ns != self::LOCATION_NS) {
            // It's not one of our IDs... keep processing
            return true;
        }

        $loc = $this->getCache(array('id' => $id));

        if ($loc !== false) {
            $location = $loc;
            return false;
        }

        try {
            $geonames = $this->getGeonames('hierarchy',
                                           array('geonameId' => $id,
                                                 'lang' => $language));
        } catch (Exception $e) {
            $this->log(LOG_WARNING, "Error for ID $id: " . $e->getMessage());
            return false;
        }

        $parts = array();

        foreach ($geonames as $level) {
            if (in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
                $parts[] = (string)$level->name;
            }
        }

        $last = $geonames[count($geonames)-1];

        if (!in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
            $parts[] = (string)$last->name;
        }

        $location = new Location();

        $location->location_id      = (string)$last->geonameId;
        $location->location_ns      = self::LOCATION_NS;
        $location->lat              = $this->canonical($last->lat);
        $location->lon              = $this->canonical($last->lng);

        $location->names[$language] = implode(', ', array_reverse($parts));

        $this->setCache(array('id' => (string)$last->geonameId),
                        $location);

        // We're responsible for this namespace; nobody else
        // can resolve it

        return false;
    }

    /**
     * convert a lat/lon pair into a Location object
     *
     * Given a lat/lon, we try to find a Location that's around
     * it or nearby. We prefer populated places (cities, towns, villages).
     *
     * @param string   $lat       Latitude
     * @param string   $lon       Longitude
     * @param string   $language  ISO code for language for results
     * @param Location &$location Location object (may be null)
     *
     * @return boolean whether to continue (results in $location)
     */
    function onLocationFromLatLon($lat, $lon, $language, &$location)
    {
        // Make sure they're canonical

        $lat = $this->canonical($lat);
        $lon = $this->canonical($lon);

        $loc = $this->getCache(array('lat' => $lat,
                                     'lon' => $lon));

        if ($loc !== false) {
            $location = $loc;
            return false;
        }

        try {
          $geonames = $this->getGeonames('findNearbyPlaceName',
                                         array('lat' => $lat,
                                               'lng' => $lon,
                                               'lang' => $language));
        } catch (Exception $e) {
            $this->log(LOG_WARNING, "Error for coords $lat, $lon: " . $e->getMessage());
            return true;
        }

        if (count($geonames) == 0) {
            // no results
            $this->setCache(array('lat' => $lat,
                                  'lon' => $lon),
                            null);
            return true;
        }

        $n = $geonames[0];

        $parts = array();

        $location = new Location();

        $parts[] = (string)$n->name;

        if (!empty($n->adminName1)) {
            $parts[] = (string)$n->adminName1;
        }

        if (!empty($n->countryName)) {
            $parts[] = (string)$n->countryName;
        }

        $location->location_id = (string)$n->geonameId;
        $location->location_ns = self::LOCATION_NS;
        $location->lat         = $this->canonical($n->lat);
        $location->lon         = $this->canonical($n->lng);

        $location->names[$language] = implode(', ', $parts);

        $this->setCache(array('lat' => $lat,
                              'lon' => $lon),
                        $location);

        // Success! We handled it, so no further processing

        return false;
    }

    /**
     * Human-readable name for a location
     *
     * Given a location, we try to retrieve a human-readable name
     * in the target language.
     *
     * @param Location $location Location to get the name for
     * @param string   $language ISO code for language to find name in
     * @param string   &$name    Place to put the name
     *
     * @return boolean whether to continue
     */
    function onLocationNameLanguage($location, $language, &$name)
    {
        if ($location->location_ns != self::LOCATION_NS) {
            // It's not one of our IDs... keep processing
            return true;
        }

        $id = $location->location_id;

        $n = $this->getCache(array('id' => $id,
                                   'language' => $language));

        if ($n !== false) {
            $name = $n;
            return false;
        }

        try {
            $geonames = $this->getGeonames('hierarchy',
                                           array('geonameId' => $id,
                                                 'lang' => $language));
        } catch (Exception $e) {
            $this->log(LOG_WARNING, "Error for ID $id: " . $e->getMessage());
            return false;
        }

        if (count($geonames) == 0) {
            $this->setCache(array('id' => $id,
                                  'language' => $language),
                            null);
            return false;
        }

        $parts = array();

        foreach ($geonames as $level) {
            if (in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
                $parts[] = (string)$level->name;
            }
        }

        $last = $geonames[count($geonames)-1];

        if (!in_array($level->fcode, array('PCLI', 'ADM1', 'PPL'))) {
            $parts[] = (string)$last->name;
        }

        if (count($parts)) {
            $name = implode(', ', array_reverse($parts));
            $this->setCache(array('id' => $id,
                                  'language' => $language),
                            $name);
        }

        return false;
    }

    /**
     * Human-readable URL for a location
     *
     * Given a location, we try to retrieve a geonames.org URL.
     *
     * @param Location $location Location to get the url for
     * @param string   &$url     Place to put the url
     *
     * @return boolean whether to continue
     */
    function onLocationUrl($location, &$url)
    {
        if ($location->location_ns != self::LOCATION_NS) {
            // It's not one of our IDs... keep processing
            return true;
        }

        $url = 'http://www.geonames.org/' . $location->location_id;

        // it's been filled, so don't process further.
        return false;
    }

    /**
     * Machine-readable name for a location
     *
     * Given a location, we try to retrieve a geonames.org URL.
     *
     * @param Location $location Location to get the url for
     * @param string   &$url     Place to put the url
     *
     * @return boolean whether to continue
     */
    function onLocationRdfUrl($location, &$url)
    {
        if ($location->location_ns != self::LOCATION_NS) {
            // It's not one of our IDs... keep processing
            return true;
        }

        $url = 'http://sws.geonames.org/' . $location->location_id . '/';

        // it's been filled, so don't process further.
        return false;
    }

    function getCache($attrs)
    {
        $c = Cache::instance();

        if (empty($c)) {
            return null;
        }

        $key = $this->cacheKey($attrs);

        $value = $c->get($key);

        return $value;
    }

    function setCache($attrs, $loc)
    {
        $c = Cache::instance();

        if (empty($c)) {
            return null;
        }

        $key = $this->cacheKey($attrs);

        $result = $c->set($key, $loc, 0, time() + $this->expiry);

        return $result;
    }

    function cacheKey($attrs)
    {
        $key = 'geonames:' .
               implode(',', array_keys($attrs)) . ':'.
               Cache::keyize(implode(',', array_values($attrs)));
        if ($this->cachePrefix) {
            return $this->cachePrefix . ':' . $key;
        } else {
            return Cache::key($key);
        }
    }

    function wsUrl($method, $params)
    {
        if (!empty($this->username)) {
            $params['username'] = $this->username;
        }

        if (!empty($this->token)) {
            $params['token'] = $this->token;
        }

        $str = http_build_query($params, null, '&');

        return 'http://'.$this->host.'/'.$method.'?'.$str;
    }

    function getGeonames($method, $params)
    {
        if ($this->lastTimeout && (time() - $this->lastTimeout < $this->timeoutWindow)) {
            // TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
            throw new Exception(_m('Skipping due to recent web service timeout.'));
        }

        $client = HTTPClient::start();
        $client->setConfig('connect_timeout', $this->timeout);
        $client->setConfig('timeout', $this->timeout);

        try {
            $result = $client->get($this->wsUrl($method, $params));
        } catch (Exception $e) {
            common_log(LOG_ERR, __METHOD__ . ": " . $e->getMessage());
            $this->lastTimeout = time();
            throw $e;
        }

        if (!$result->isOk()) {
            // TRANS: Exception thrown when a geo names service does not return an expected response.
            // TRANS: %s is an HTTP error code.
            throw new Exception(sprintf(_m('HTTP error code %s.'),$result->getStatus()));
        }

        $body = $result->getBody();

        if (empty($body)) {
            // TRANS: Exception thrown when a geo names service returns an empty body.
            throw new Exception(_m('Empty HTTP body in response.'));
        }

        // This will throw an exception if the XML is mal-formed

        $document = new SimpleXMLElement($body);

        // No children, usually no results

        $children = $document->children();

        if (count($children) == 0) {
            return array();
        }

        if (isset($document->status)) {
            // TRANS: Exception thrown when a geo names service return a specific error number and error text.
            // TRANS: %1$s is an error code, %2$s is an error message.
            throw new Exception(sprintf(_m('Error #%1$s ("%2$s").'),$document->status['value'],$document->status['message']));
        }

        // Array of elements, >0 elements

        return $document->geoname;
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'Geonames',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:Geonames',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Uses Geonames service to get human-readable '.
                               'names for locations based on user-provided lat/long pairs.'));
        return true;
    }

    function canonical($coord)
    {
        $coord = rtrim($coord, "0");
        $coord = rtrim($coord, ".");

        return $coord;
    }
}


code:
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
#: GeonamesPlugin.php:439
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#: GeonamesPlugin.php:457
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
#: GeonamesPlugin.php:464
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#: GeonamesPlugin.php:482
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
#: GeonamesPlugin.php:498
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""


code:
# Translation of StatusNet - Geonames to Breton (Brezhoneg)
# Exported from translatewiki.net
#
# Author: Fulup
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:13+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: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Implijout a ra ar servij Geonames evit "
"tapout anvadurioù douaroniel lennus gant mab-den evit lec'hiadoù diazezet "
"war un daouad ledred/hedred pourchaset gant an implijer."


code:
# Translation of StatusNet - Geonames to Catalan (català)
# Exported from translatewiki.net
#
# Author: Toniher
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:40+0000\n"
"Language-Team: Catalan <https://translatewiki.net/wiki/Portal:ca>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ca\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "S'ignora pel recent temps d'espera esgotat del web."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Codi d'error HTTP %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Cos HTTP buit a la resposta."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Error #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Fa servir el servei Geonames per "
"obtenir noms comprensibles per a aquelles ubicacions basades en els parells "
"lat/long de l'usuari."


code:
# Translation of StatusNet - Geonames to German (Deutsch)
# Exported from translatewiki.net
#
# Author: Apmon
# Author: Giftpflanze
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:40+0000\n"
"Language-Team: German <https://translatewiki.net/wiki/Portal:de>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: de\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Übersprungen aufgrund kürzlichen Timeouts des Internetdienstes."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "HTTP-Statuscode %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Leerer HTTP-Rumpf in der Antwort."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Fehler Nummer %1$s („%2$s“)."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Verwendet den GeoNames-Dienst um Namen "
"für die vom Benutzer durch Koordinaten angegebenen Standorte zu erlangen."


code:
# Translation of StatusNet - Geonames to Esperanto (Esperanto)
# Exported from translatewiki.net
#
# Author: LyzTyphone
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:13+0000\n"
"Language-Team: Esperanto <http://translatewiki.net/wiki/Portal:eo>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: eo\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Uziĝas Geonames servo por akiri "
"kompreneblan nomon de lokoj baze de latituda-longituda paro donita de uzanto."


code:
# Translation of StatusNet - Geonames to Spanish (español)
# Exported from translatewiki.net
#
# Author: Armando-Martin
# Author: Translationista
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08: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: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: es\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""
"Omitiendo debido a recientes tiempos de espera excedidos por parte del "
"servicio web."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Código de error HTTP  %s ."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Cuerpo de HTTP vacío en la respuesta."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Error #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Usa el servicio Geonamespara obtener "
"nombresde ubicaciones legibles por humanos, basadas en pares longitud/"
"latitud provistos por el usuario."


code:
# Translation of StatusNet - Geonames to Basque (euskara)
# Exported from translatewiki.net
#
# Author: Artsuaga
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:40+0000\n"
"Language-Team: Basque <https://translatewiki.net/wiki/Portal:eu>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: eu\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Web zerbitzua denboraz kanpo geratu delako salto egiten."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "%s HTTP akats kodea."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "HTTP body hutsa erantzunean."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Akatsa #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs.\n"
"Geonames zerbitzua erabiltzen du "
"latitude eta longitude bidez kokapenaren toponimoa lortzeko."


code:
# Translation of StatusNet - Geonames to Finnish (suomi)
# Exported from translatewiki.net
#
# Author: Nike
# Author: Silvonen
# Author: XTL
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:40+0000\n"
"Language-Team: Finnish <https://translatewiki.net/wiki/Portal:fi>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: fi\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "HTTP-virhekoodi %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Käyttää Geonames-palvelua käyttäjän "
"antamia koordinaatteja vastaavien paikannimien hakemiseen."


code:
# Translation of StatusNet - Geonames to French (français)
# Exported from translatewiki.net
#
# Author: Brunoperel
# Author: Od1n
# Author: Verdy p
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: French <https://translatewiki.net/wiki/Portal:fr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: fr\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Ignoré : délai d'attente dépassé pour le service Web."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Code d’erreur HTTP %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Corps HTTP vide dans la réponse."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Erreur #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Utilise le service Geonames pour "
"obtenir des dénominations géographiques lisibles par l’homme pour les "
"emplacements basés sur des paires latitude/longitude fournies par "
"l’utilisateur."


code:
# Translation of StatusNet - Geonames to Galician (galego)
# Exported from translatewiki.net
#
# Author: Toliño
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Galician <https://translatewiki.net/wiki/Portal:gl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: gl\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Sáltase debido ao excesivo tempo de espera por parte do servizo web."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Código de erro HTTP %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Corpo HTTP baleiro na resposta."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Erro #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Usa o servizo Geonames para obter nomes "
"xeográficos lexibles polas persoas baseándose nos pares de latitudes e "
"lonxitudes dados polo usuario."


code:
# Translation of StatusNet - Geonames to Hebrew (עברית)
# Exported from translatewiki.net
#
# Author: YaronSh
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:13+0000\n"
"Language-Team: Hebrew <http://translatewiki.net/wiki/Portal:he>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: he\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"שימוש בשירות Geonames לקבלת שמות "
"הקריאים לבני אדם למיקומים בהתאם לצמדי קווי הגובה/רוחב שסופקו על ידי המשתמשים."


code:
# Translation of StatusNet - Geonames to Interlingua (interlingua)
# Exported from translatewiki.net
#
# Author: McDutchie
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Interlingua <https://translatewiki.net/wiki/Portal:ia>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ia\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Es saltate proque le servicio web non habeva respondite recentemente."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Codice de error HTTP %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Corpore de HTTP vacue in le responsa."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Error №%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Usa le servicio Geonames pro obtener "
"nomines geographic ben legibile a base de coordinatas latitude/longitude "
"fornite per usatores."


code:
# Translation of StatusNet - Geonames to Indonesian (Bahasa Indonesia)
# Exported from translatewiki.net
#
# Author: Farras
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:13+0000\n"
"Language-Team: Indonesian <http://translatewiki.net/wiki/Portal:id>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: id\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Menggunakan layanan Geonames untuk "
"mendapatkan nama terbaca untuk lokasi berdasarkan lintang/bujur dari "
"pengguna."


code:
# Translation of StatusNet - Geonames to Italian (italiano)
# Exported from translatewiki.net
#
# Author: Ximo17
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Saltato a causa di un recente timeout del servizio web."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Codice di errore HTTP %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Corpo vuoto HTTP in risposta."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Errore #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Utilizza il servizio di Geonames per "
"ottenere nomi leggibili dei luoghi, basati sui dati di latitudine e "
"longitudine forniti dall'utente."


code:
# Translation of StatusNet - Geonames to Macedonian (македонски)
# Exported from translatewiki.net
#
# Author: Bjankuloski06
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Macedonian <https://translatewiki.net/wiki/Portal:mk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: mk\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Прескокнувам поради скорешниот истек на мрежната служба."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Код на HTTP-грешката %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Како одговор добив празна HTTP-содржина."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Грешка бр. %1$s („%2$s“)."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Ја користи службата Geonames за "
"добивање на имиња на места за приказ врз основа на парови од географска "
"ширина и должина внесени од корисниците."


code:
# Translation of StatusNet - Geonames to Norwegian (bokmål) (Norsk (bokmål))
# Exported from translatewiki.net
#
# Author: Nghtwlkr
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:13+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: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: no\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Bruker tjenesten Geonames for å få "
"lesbare navn for steder basert på brukergitte lengde- og breddegrader."


code:
# Translation of StatusNet - Geonames to Dutch (Nederlands)
# Exported from translatewiki.net
#
# Author: Siebrand
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Dutch <https://translatewiki.net/wiki/Portal:nl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: nl\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Dit wordt overgeslagen vanwege een recente timeout van de webservice."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "HTTP-foutcode %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Lege HTTP-body in antwoord."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Fout #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"De dienst Geonames gebruiken om "
"leesbare namen voor locaties te krijgen op basis van door gebruikers "
"opgegeven paren van lengte en breedte."


code:
# Translation of StatusNet - Geonames to Portuguese (Português)
# Exported from translatewiki.net
#
# Author: Hamilton Abreu
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:14+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: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Usa o serviço Geonames para apresentar "
"os nomes de locais com base em dados de latitude/longitude fornecidos pelo "
"utilizador."


code:
# Translation of StatusNet - Geonames to Brazilian Portuguese (Português do Brasil)
# Exported from translatewiki.net
#
# Author: Giro720
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:14+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: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: pt-br\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Utiliza o serviço Geonames para obter "
"as denominações geográficas legíveis por humanos baseado nos dados de "
"latitude/longitude fornecidas pelo usuário."


code:
# Translation of StatusNet - Geonames to Russian (Русский)
# Exported from translatewiki.net
#
# Author: Сrower
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:14+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: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: ru\n"
"X-Message-Group: #out-statusnet-plugin-geonames\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: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Использование сервиса GeoNames для "
"получения понятных для человека названий по указанным пользователем "
"географическим координатам."


code:
# Translation of StatusNet - Geonames to Swedish (svenska)
# Exported from translatewiki.net
#
# Author: Jamminjohn
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Swedish <https://translatewiki.net/wiki/Portal:sv>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: sv\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Hoppar över på grund av nyligen utgången tidsgräns för webbtjänst."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "HTTP-felkod %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Tom HTTP body i svar."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Fel # %1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Använder Geonames-tjänsten för att få "
"mänskligt läsbara namn för platser baserat på användarens egna lat/long-par."


code:
# Translation of StatusNet - Geonames to Tagalog (Tagalog)
# Exported from translatewiki.net
#
# Author: AnakngAraw
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Tagalog <https://translatewiki.net/wiki/Portal:tl>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: tl\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Nilalaktawan dahil sa kamakailang pagpapahinga ng palingkuran ng web."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Kodigo ng kamalian ng HTTP na %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Walang lamang katawan ng HTTP sa loob ng tugon."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Kamaliang #%1$s (\"%2$s\")."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Gumagamit ng serbisyong Geonames upang "
"kumuha ng mga pangalan mababasa ng tao para sa mga lokasyon batay sa mga "
"pares ng lat/long na bigay ng tagagamit."


code:
# Translation of StatusNet - Geonames to Ukrainian (українська)
# Exported from translatewiki.net
#
# Author: Boogie
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:41+0000\n"
"Language-Team: Ukrainian <https://translatewiki.net/wiki/Portal:uk>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:50:14+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: uk\n"
"X-Message-Group: #out-statusnet-plugin-geonames\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: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr "Пропустити у зв'язку з перевершенням часу очікування."

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr "Код помилки HTTP %s."

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr "Тіло HTTP порожнє у відповіді."

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr "Помилка #%1$s («%2$s»)."

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"Використання сервісу Geonames дозволяє "
"отримувати зрозумілі географічні назви замість координат, що були вказані "
"користувачами."


code:
# Translation of StatusNet - Geonames to Simplified Chinese (中文(简体))
# Exported from translatewiki.net
#
# Author: ZhengYiFeng
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Geonames\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 18:34+0000\n"
"PO-Revision-Date: 2011-04-09 18:37:14+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: 2011-03-24 15:25:03+0000\n"
"X-Generator: MediaWiki 1.18alpha (r85732); Translate extension (2011-03-11)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: zh-hans\n"
"X-Message-Group: #out-statusnet-plugin-geonames\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Exception thrown when a geo names service is not used because of a recent timeout.
msgid "Skipping due to recent web service timeout."
msgstr ""

#. TRANS: Exception thrown when a geo names service does not return an expected response.
#. TRANS: %s is an HTTP error code.
#, php-format
msgid "HTTP error code %s."
msgstr ""

#. TRANS: Exception thrown when a geo names service returns an empty body.
msgid "Empty HTTP body in response."
msgstr ""

#. TRANS: Exception thrown when a geo names service return a specific error number and error text.
#. TRANS: %1$s is an error code, %2$s is an error message.
#, php-format
msgid "Error #%1$s (\"%2$s\")."
msgstr ""

#. TRANS: Plugin description.
msgid ""
"Uses Geonames service to get human-"
"readable names for locations based on user-provided lat/long pairs."
msgstr ""
"使用 Geonames 服务获取基于用户提供的经纬"
"度坐标的可读的名称。"


code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Plugin to use Google Analytics
 *
 * 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 2008 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);
}

/**
 * Plugin to use Google Analytics
 *
 * This plugin will spoot out the correct JavaScript spell to invoke Google Analytics on a page.
 *
 * Note that Google Analytics is not compatible with the Franklin Street Statement; consider using
 * Piwik (http://www.piwik.org/) instead!
 *
 * @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 GoogleAnalyticsPlugin extends Plugin
{
    var $code;
    var $domain;

    const VERSION = '0.2';

    function __construct($code=null)
    {
        if (!empty($code)) {
            global $config;
            $config['googleanalytics']['code'] = $code;
        }

        parent::__construct();
    }

    function onEndShowScripts($action)
    {
        $code = common_config('googleanalytics', 'code');
        if (empty($code)) {
            $code = $this->code;
        }
        $domain = common_config('googleanalytics', 'domain');
        if (empty($domain)) {
            $domain = $this->domain;
        }

        $js = <<<ENDOFSCRIPT0

var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{$code}']);
_gaq.push(['_trackPageview']);

ENDOFSCRIPT0;

if (!empty($domain)) {
        $js .= <<<ENDOFSCRIPT1

_gaq.push(['_setDomainName', '{$domain}']);
_gaq.push(['_setAllowHash', false]);

ENDOFSCRIPT1;
}

        $js .= <<<ENDOFSCRIPT2

(function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

ENDOFSCRIPT2;

       $action->inlineScript($js);
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'GoogleAnalytics',
                            'version' => self::VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:GoogleAnalytics',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Use Google Analytics'.
                               ' to track web access.'));
        return true;
    }
}


code:
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANS: Plugin description.
#: GoogleAnalyticsPlugin.php:116
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""


code:
# Translation of StatusNet - GoogleAnalytics to Breton (brezhoneg)
# Exported from translatewiki.net
#
# Author: Fulup
# --
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Breton <https://translatewiki.net/wiki/Portal:br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-18 16:19:21+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: br\n"
"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""
"Ober gant Google Analytics "
"evit dispenn roudoù ar monedoù d'al lec'hien web."


code:
# Translation of StatusNet - GoogleAnalytics to Catalan (català)
# Exported from translatewiki.net
#
# Author: Toniher
# --
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Catalan <https://translatewiki.net/wiki/Portal:ca>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-18 16:19:21+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ca\n"
"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""
"Utilitzeu el Google Analytics</"
"a> per tracejar l'accés al web."


code:
# Translation of StatusNet - GoogleAnalytics to German (Deutsch)
# Exported 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: German <https://translatewiki.net/wiki/Portal:de>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-18 16:19:21+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: de\n"
"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""
"Benutzung von Google Analytics</"
"a> zur Verfolgung des Web-Zugangs."


code:
# Translation of StatusNet - GoogleAnalytics to Spanish (español)
# Exported from translatewiki.net
#
# Author: Translationista
# --
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Language-Team: Spanish <https://translatewiki.net/wiki/Portal:es>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-18 16:19:21+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: es\n"
"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""
"Utiliza Google Analytics "
"para hacer seguimiento de accesos al sitio web."


code:
# Translation of StatusNet - GoogleAnalytics to Basque (euskara)
# Exported from translatewiki.net
#
# Author: Artsuaga
# --
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:43+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-18 16:19:21+0000\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""
"Erabili Google Analytics "
"webera egindako atzipenak jarraitzeko."


code:
# Translation of StatusNet - GoogleAnalytics to Finnish (suomi)
# Exported from translatewiki.net
#
# Author: Nike
# Author: XTL
# --
# 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: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:08:44+0000\n"
"Language-Team: Finnish <https://translatewiki.net/wiki/Portal:fi>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-18 16:19:21+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: fi\n"
"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Google Analytics to "
"track web access."
msgstr ""
"Käytä Google Analytics -"
"palvelua verkkosivun käyttäjien seuraamiseen."