code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Plugin for OpenX ad server
 *
 * 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  Ads
 * @package   StatusNet
 * @author    Evan Prodromou <evan@status.net>
 * @copyright 2010 StatusNet Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      http://status.net/
 */

if (!defined('STATUSNET')) {
    exit(1);
}

/**
 * Plugin for OpenX Ad Server
 *
 * This plugin supports the OpenX ad server, http://www.openx.org/
 *
 * We support the 4 ad sizes for the Universal Ad Platform (UAP):
 *
 *     Medium Rectangle
 *     (Small) Rectangle
 *     Leaderboard
 *     Wide Skyscraper
 *
 * They fit in different places on the default theme. Some themes
 * might interact quite poorly with this plugin.
 *
 * To enable advertising, you will need an OpenX server. You'll need
 * to set up a "zone" for your StatusNet site that identifies a
 * kind of ad you want to place (of the above 4 sizes).
 *
 * Add the plugin to config.php like so:
 *
 *     addPlugin('OpenX', array('adScript' => 'full path to script',
 *                              'rectangle' => 1));
 *
 * Here, the 'adScript' parameter is the full path to the OpenX
 * ad script, like 'http://example.com/www/delivery/ajs.php'. Note
 * that we don't do any magic to swap between HTTP and HTTPS, so
 * if you want HTTPS, say so.
 *
 * The 'rectangle' parameter is the zone ID for that ad space on
 * your site. If you've configured another size, try 'mediumRectangle',
 * 'leaderboard', or 'wideSkyscraper'.
 *
 * If for some reason your ad server is different from the default,
 * use the 'adScript' parameter to set the full path to the ad script.
 *
 * @category Ads
 * @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  UAPPlugin
 */
class OpenXPlugin extends UAPPlugin
{
    public $adScript = null;

    function initialize()
    {
        parent::initialize();

        // A little bit of chicanery so we avoid overwriting values that
        // are passed in with the constructor
        foreach (array('mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper', 'adScript') as $setting) {
            $value = common_config('openx', $setting);
            if (!empty($value)) { // not found
                $this->$setting = $value;
            }
        }

        return true;
    }

    /**
     * Show a medium rectangle 'ad'
     *
     * @param Action $action Action being shown
     *
     * @return void
     */
    protected function showMediumRectangle($action)
    {
        $this->showAd($action, $this->mediumRectangle);
    }

    /**
     * Show a rectangle 'ad'
     *
     * @param Action $action Action being shown
     *
     * @return void
     */
    protected function showRectangle($action)
    {
        $this->showAd($action, $this->rectangle);
    }

    /**
     * Show a wide skyscraper ad
     *
     * @param Action $action Action being shown
     *
     * @return void
     */
    protected function showWideSkyscraper($action)
    {
        $this->showAd($action, $this->wideSkyscraper);
    }

    /**
     * Show a leaderboard ad
     *
     * @param Action $action Action being shown
     *
     * @return void
     */
    protected function showLeaderboard($action)
    {
        $this->showAd($action, $this->leaderboard);
    }

    /**
     * Show an ad using OpenX
     *
     * @param Action  $action Action being shown
     * @param integer $zone   Zone to show
     *
     * @return void
     */
    protected function showAd($action, $zone)
    {
$scr = <<<ENDOFSCRIPT
var m3_u = '%s';
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=%d");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
ENDOFSCRIPT;

        $action->inlineScript(sprintf($scr, $this->adScript, $zone));
        return true;
    }

    function onRouterInitialized($m)
    {
        $m->connect('panel/openx',
                    array('action' => 'openxadminpanel'));

        return true;
    }

    function onEndAdminPanelNav($menu) {
        if (AdminPanelAction::canAdmin('openx')) {
            // TRANS: Menu item title.
            $menu_title = _m('OpenX configuration.');
            // TRANS: Menu item for site administration
            $menu->out->menuItem(common_local_url('openxadminpanel'), _m('OpenX'),
                                 $menu_title, $action_name == 'openxadminpanel', 'nav_openx_admin_panel');
        }
        return true;
    }

    /**
     * Add our version information to output
     *
     * @param array &$versions Array of version-data arrays
     *
     * @return boolean hook value
     */
    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'OpenX',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:OpenX',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Plugin for OpenX Ad Server.'));
        return true;
    }
}


code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * OpenX administration panel
 *
 * PHP version 5
 *
 * LICENCE: This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @category  OpenX
 * @package   StatusNet
 * @author    Evan Prodromou <evan@status.net>
 * @copyright 2010 StatusNet, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      http://status.net/
 */

if (!defined('STATUSNET')) {
    exit(1);
}

/**
 * Administer openx settings
 *
 * @category OpenX
 * @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/
 */
class OpenXadminpanelAction extends AdminPanelAction
{
    /**
     * Returns the page title
     *
     * @return string page title
     */
    function title()
    {
        // TRANS: Page title for OpenX admin panel.
        return _m('TITLE', 'OpenX');
    }

    /**
     * Instructions for using this form.
     *
     * @return string instructions
     */
    function getInstructions()
    {
        // TRANS: Instructions for OpenX admin panel.
        return _m('OpenX settings for this StatusNet site');
    }

    /**
     * Show the site admin panel form
     *
     * @return void
     */
    function showForm()
    {
        $form = new OpenXAdminPanelForm($this);
        $form->show();
        return;
    }

    /**
     * Save settings from the form
     *
     * @return void
     */
    function saveSettings()
    {
        static $settings = array('openx' => array('adScript', 'mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper'));

        $values = array();

        foreach ($settings as $section => $parts) {
            foreach ($parts as $setting) {
                $values[$section][$setting] = $this->trimmed($setting);
            }
        }

        // This throws an exception on validation errors
        $this->validate($values);

        // assert(all values are valid);
        $config = new Config();

        $config->query('BEGIN');

        foreach ($settings as $section => $parts) {
            foreach ($parts as $setting) {
                Config::save($section, $setting, $values[$section][$setting]);
            }
        }

        $config->query('COMMIT');

        return;
    }

    function validate(&$values)
    {
    }
}

/**
 * Form for the openx admin panel
 */
class OpenXAdminPanelForm extends AdminForm
{
    /**
     * ID of the form
     *
     * @return int ID of the form
     */
    function id()
    {
        return 'form_openx_admin_panel';
    }

    /**
     * class of the form
     *
     * @return string class of the form
     */
    function formClass()
    {
        return 'form_openx';
    }

    /**
     * Action of the form
     *
     * @return string URL of the action
     */
    function action()
    {
        return common_local_url('openxadminpanel');
    }

    /**
     * Data elements of the form
     *
     * @return void
     */
    function formData()
    {
        $this->out->elementStart('fieldset', array('id' => 'openx_admin'));
        $this->out->elementStart('ul', 'form_data');
        $this->li();
        $this->input('adScript',
                     // TRANS: Form label in OpenX admin panel.
                     _m('Ad script URL'),
                     // TRANS: Tooltip for form label in OpenX admin panel.
                     _m('Script URL'),
                     'openx');
        $this->unli();
        $this->li();
        $this->input('mediumRectangle',
                     // TRANS: Form label in OpenX admin panel. Refers to advertisement format.
                     _m('Medium rectangle'),
                     // TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
                     _m('Medium rectangle zone'),
                     'openx');
        $this->unli();
        $this->li();
        $this->input('rectangle',
                     // TRANS: Form label in OpenX admin panel. Refers to advertisement format.
                     _m('Rectangle'),
                     // TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
                     _m('Rectangle zone'),
                     'openx');
        $this->unli();
        $this->li();
        $this->input('leaderboard',
                     // TRANS: Form label in OpenX admin panel. Refers to advertisement format.
                     _m('Leaderboard'),
                     // TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
                     _m('Leaderboard zone'),
                     'openx');
        $this->unli();
        $this->li();
        $this->input('wideSkyscraper',
                     // TRANS: Form label in OpenX admin panel. Refers to advertisement format.
                     _m('Skyscraper'),
                     // TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
                     _m('Wide skyscraper zone'),
                     'openx');
        $this->unli();
        $this->out->elementEnd('ul');
    }

    /**
     * Action elements
     *
     * @return void
     */
    function formActions()
    {
        $this->out->submit('submit',
                    // TRANS: Submit button text in OpenX admin panel.
                    _m('BUTTON','Save'),
                    'submit',
                    null,
                    // TRANS: Submit button title in OpenX admin panel.
                    _m('Save OpenX settings.'));
    }
}

license: mit


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: Menu item title.
#: OpenXPlugin.php:201
msgid "OpenX configuration."
msgstr ""

#. TRANS: Menu item for site administration
#: OpenXPlugin.php:203
msgid "OpenX"
msgstr ""

#. TRANS: Plugin description.
#: OpenXPlugin.php:224
msgid "Plugin for OpenX Ad Server."
msgstr ""

#. TRANS: Page title for OpenX admin panel.
#: openxadminpanel.php:53
msgctxt "TITLE"
msgid "OpenX"
msgstr ""

#. TRANS: Instructions for OpenX admin panel.
#: openxadminpanel.php:64
msgid "OpenX settings for this StatusNet site"
msgstr ""

#. TRANS: Form label in OpenX admin panel.
#: openxadminpanel.php:167
msgid "Ad script URL"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel.
#: openxadminpanel.php:169
msgid "Script URL"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:175
msgid "Medium rectangle"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:177
msgid "Medium rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:183
msgid "Rectangle"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:185
msgid "Rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:191
msgid "Leaderboard"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:193
msgid "Leaderboard zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:199
msgid "Skyscraper"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:201
msgid "Wide skyscraper zone"
msgstr ""

#. TRANS: Submit button text in OpenX admin panel.
#: openxadminpanel.php:216
msgctxt "BUTTON"
msgid "Save"
msgstr ""

#. TRANS: Submit button title in OpenX admin panel.
#: openxadminpanel.php:220
msgid "Save OpenX settings."
msgstr ""


code:
# Translation of StatusNet - OpenX to Breton (brezhoneg)
# Exported from translatewiki.net
#
# Author: Y-M D
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Menu item title.
#, fuzzy
msgid "OpenX configuration."
msgstr "Kefluniadur OpenX"

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Plugin evit ar servijer bruderezh OpenX</"
"a>."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Arventennoù OpenX evit al lec'hienn StatusNet-mañ."

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL ar skript kemenn"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Skouergornek"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Giton a-serzh"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr ""

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Enrollañ"

#. TRANS: Submit button title in OpenX admin panel.
#, fuzzy
msgid "Save OpenX settings."
msgstr "Enrollañ arventennoù OpenX"


code:
# Translation of StatusNet - OpenX to German (Deutsch)
# Exported from translatewiki.net
#
# Author: ChrisiPK
# Author: Fujnky
# Author: George Animal
# Author: Giftpflanze
# Author: The Evil IP address
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "OpenX-Konfiguration"

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr "Plugin für OpenX Ad Server."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Openx-Einstellungen dieser StatusNet-Website"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "Skript-URL"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Skript-URL"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Mittleres Rechteck"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Zone des mittleren Rechtecks"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rechteck"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Rechteckzone"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Rangliste"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Ranglisten-Zone"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Skyscraper"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Zone des weiten Hochhauses"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Speichern"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "OpenX-Einstellungen speichern."


code:
# Translation of StatusNet - OpenX to Spanish (español)
# Exported from translatewiki.net
#
# Author: Armando-Martin
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-12-03 13:48:56+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: Menu item title.
msgid "OpenX configuration."
msgstr "Configuración de OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Complemento (plugin) para el servidor de "
"anuncios de OpenX."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Configuración de OpenX para este sitio de StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "Dirección URL de secuencia de comandos (script) del anuncio"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Dirección URL de la secuencia de comandos (script)"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Rectángulo mediano"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Zona rectangular mediana"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rectángulo"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Zona rectangular"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Clasificación"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Zona con formato de Clasificación"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Anuncio (banner) vertical"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Zona de formato vertical amplio"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Guardar"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Guardar configuración de OpenX."


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-12-03 13:48:56+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: Menu item title.
msgid "OpenX configuration."
msgstr "OpenX aukerak."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"OpenX Iragarki Zerbitzaria erabiltzeko "
"plugina."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "OpenX aukerak StatusNet gune honentzako."

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "Iragarkiaren eskriptaren URLa"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Eskriptaren URLa"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Laukizuzen ertaina"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Laukizuzen ertainaren gunea"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Laukizuzena"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Laukizuzenaren gunea"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Sailkapena"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Sailkapen itxuraren gunea"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Lauki bertikala"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Lauki bertikalaren gunea"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Gorde"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Gorde Open X aukerak."


code:
# Translation of StatusNet - OpenX to French (français)
# Exported from translatewiki.net
#
# Author: Crochet.david
# Author: Verdy p
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "Configuration d’OpenX"

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Module complémentaire pour le serveur de "
"publicité OpenX."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Paramètres OpenX pour ce site StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "Adresse URL du script d’annonce"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Adresse URL du script"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Rectangle moyen"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Zone rectangulaire de taille moyenne"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rectangle"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Zone de forme rectangulaire"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Panneau de commande"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Zone de format tableau de bord"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Bannière verticale"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Zone de format vertical large"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Sauvegarder"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Sauvegarder les paramètres OpenX."


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "Configuración do OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Complemento para o servidor de publicidade "
"OpenX."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Configuración de OpenX para este sitio StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "Enderezo URL da escritura do anuncio"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Enderezo URL da escritura"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Rectángulo mediano"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Zona rectangular mediana"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rectángulo"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Zona rectangular"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Taboleiro de logros"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Zona do taboleiro de logros"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Rañaceos"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Zona do rañaceos"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Gardar"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Gardar a configuración do OpenX."


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:28+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "Configuration de OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Plug-in pro le servitor de annuncios "
"OpenX."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Configuration de OpenX pro iste sito StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL del script de publicitate"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "URL del script"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Rectangulo medie"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Zona del rectangulo medie"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rectangulo"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Zona del rectangulo"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Bandiera large"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Zona del bandiera large"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Grattacelo"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Zona del grattacelo large"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Salveguardar"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Salveguardar configurationes de OpenX."


code:
# Translation of StatusNet - OpenX to Italian (italiano)
# Exported from translatewiki.net
#
# Author: GreenFox
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:29+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-12-03 13:48:56+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: Menu item title.
msgid "OpenX configuration."
msgstr "Configurazione OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Plugin per il  server pubblicitario OpenX</"
"a>."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Impostazioni OpenX per questo sito StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL script Ad"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Script URL"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Rettangolo medio"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Zona rettangolo medio"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rettangolo"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Zona rettangolo"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Classifica"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Zona della classifica"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Banner verticale"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Zona banner verticale largo"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Salva"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Salva le impostazioni di OpenX."


code:
# Translation of StatusNet - OpenX to Luxembourgish (Lëtzebuergesch)
# Expored from translatewiki.net
#
# Author: Robby
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-15 00:20+0000\n"
"PO-Revision-Date: 2011-01-15 00:24:21+0000\n"
"Language-Team: Luxembourgish <http://translatewiki.net/wiki/Portal:lb>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-01-10 18:26:06+0000\n"
"X-Generator: MediaWiki 1.18alpha (r80364); Translate extension (2010-09-17)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: lb\n"
"X-Message-Group: #out-statusnet-plugin-openx\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Menu item title/tooltip
#: OpenXPlugin.php:201
msgid "OpenX configuration"
msgstr ""

#. TRANS: Menu item for site administration
#: OpenXPlugin.php:203
msgid "OpenX"
msgstr ""

#. TRANS: Plugin description.
#: OpenXPlugin.php:224
msgid "Plugin for OpenX Ad Server."
msgstr ""

#. TRANS: Page title for OpenX admin panel.
#: openxadminpanel.php:53
msgctxt "TITLE"
msgid "OpenX"
msgstr ""

#. TRANS: Instructions for OpenX admin panel.
#: openxadminpanel.php:64
msgid "OpenX settings for this StatusNet site"
msgstr ""

#. TRANS: Form label in OpenX admin panel.
#: openxadminpanel.php:167
msgid "Ad script URL"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel.
#: openxadminpanel.php:169
msgid "Script URL"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:175
msgid "Medium rectangle"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:177
msgid "Medium rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:183
msgid "Rectangle"
msgstr "Rechteck"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:185
msgid "Rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:191
msgid "Leaderboard"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:193
msgid "Leaderboard zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:199
msgid "Skyscraper"
msgstr "Vertikale Banner"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:201
msgid "Wide skyscraper zone"
msgstr ""

#. TRANS: Submit button text in OpenX admin panel.
#: openxadminpanel.php:216
msgctxt "BUTTON"
msgid "Save"
msgstr "Späicheren"

#. TRANS: Submit button title in OpenX admin panel.
#: openxadminpanel.php:220
msgid "Save OpenX settings"
msgstr ""


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:29+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "Поставки за OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Додаток за Рекламен опслужувач за OpenX</"
"a>."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Поставки за OpenX на ова StatusNet-мрежно место"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL-адреса на рекламната скрипта"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "URL-адреса на скриптата"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Среден правоаголник"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Зона на среден правоаголник"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Правоаголник"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Зона на правоаголник"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Предводници"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Зона за Предводници"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Облакодер"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Зона на широк облакодер"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Зачувај"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Зачувај поставки за OpenX."


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:29+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "OpenX-instellingen."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr "Plug-in voor OpenX Ad Server."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "OpenX-instellingen voor deze StatusNet-website"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL voor advertentiescript"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "Script-URL"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Middelgrote rechthoek"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Middelgrote rechthoekzone"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Rechthoek"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Rechthoekzone"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Breedbeeldbanner"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Breedbeeldbannerzone"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Skyscraper"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Brede skyscraperzone"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Opslaan"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "OpenX-instellingen opslaan."


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:29+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-12-03 13:48:56+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-openx\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Menu item title.
msgid "OpenX configuration."
msgstr "Pagkakaayos ng OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Pampasaka para sa Tagapaghain ng "
"Patalastas ng OpenX."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Mga katakdaan ng OpenX para sa sityong ito ng StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL ng panitik ng patalastas"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "URL ng panitik"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Hindi kalakihang parihaba"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Sona ng hindi kalakihang parihaba"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Parihaba"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Sona ng parihaba"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Pangunahing-pisara"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Sona ng pangunahing-parihaba"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Tukud-langit"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Malapad na sona ng tukud-langit"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Sagipin"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Sagipin ang mga katakdaan ng OpenX."


code:
# Translation of StatusNet - OpenX to Turkish (Türkçe)
# Expored from translatewiki.net
#
# Author: Maidis
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-01-15 00:20+0000\n"
"PO-Revision-Date: 2011-01-15 00:24:21+0000\n"
"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-01-10 18:26:06+0000\n"
"X-Generator: MediaWiki 1.18alpha (r80364); Translate extension (2010-09-17)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: tr\n"
"X-Message-Group: #out-statusnet-plugin-openx\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Menu item title/tooltip
#: OpenXPlugin.php:201
msgid "OpenX configuration"
msgstr "OpenX yapılandırması"

#. TRANS: Menu item for site administration
#: OpenXPlugin.php:203
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
#: OpenXPlugin.php:224
msgid "Plugin for OpenX Ad Server."
msgstr ""

#. TRANS: Page title for OpenX admin panel.
#: openxadminpanel.php:53
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
#: openxadminpanel.php:64
msgid "OpenX settings for this StatusNet site"
msgstr ""

#. TRANS: Form label in OpenX admin panel.
#: openxadminpanel.php:167
msgid "Ad script URL"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel.
#: openxadminpanel.php:169
msgid "Script URL"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:175
msgid "Medium rectangle"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:177
msgid "Medium rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:183
msgid "Rectangle"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:185
msgid "Rectangle zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:191
msgid "Leaderboard"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:193
msgid "Leaderboard zone"
msgstr ""

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:199
msgid "Skyscraper"
msgstr ""

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
#: openxadminpanel.php:201
msgid "Wide skyscraper zone"
msgstr ""

#. TRANS: Submit button text in OpenX admin panel.
#: openxadminpanel.php:216
msgctxt "BUTTON"
msgid "Save"
msgstr ""

#. TRANS: Submit button title in OpenX admin panel.
#: openxadminpanel.php:220
msgid "Save OpenX settings"
msgstr ""


code:
# Translation of StatusNet - OpenX 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 - OpenX\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:29+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-12-03 13:48:56+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-openx\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: Menu item title.
msgid "OpenX configuration."
msgstr "Конфігурація OpenX."

#. TRANS: Menu item for site administration
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Plugin description.
msgid "Plugin for OpenX Ad Server."
msgstr ""
"Додаток для рекламного сервера OpenX."

#. TRANS: Page title for OpenX admin panel.
msgctxt "TITLE"
msgid "OpenX"
msgstr "OpenX"

#. TRANS: Instructions for OpenX admin panel.
msgid "OpenX settings for this StatusNet site"
msgstr "Налаштування OpenX для даного сайту StatusNet"

#. TRANS: Form label in OpenX admin panel.
msgid "Ad script URL"
msgstr "URL-адреса рекламного скрипту"

#. TRANS: Tooltip for form label in OpenX admin panel.
msgid "Script URL"
msgstr "URL-адреса скрипту"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle"
msgstr "Середній прямокутник"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Medium rectangle zone"
msgstr "Зона середнього прямокутника"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle"
msgstr "Прямокутник"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Rectangle zone"
msgstr "Зона прямокутника"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard"
msgstr "Банер"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Leaderboard zone"
msgstr "Зона банеру"

#. TRANS: Form label in OpenX admin panel. Refers to advertisement format.
msgid "Skyscraper"
msgstr "Хмарочос"

#. TRANS: Tooltip for form label in OpenX admin panel. Refers to advertisement format.
msgid "Wide skyscraper zone"
msgstr "Зона широкого хмарочосу"

#. TRANS: Submit button text in OpenX admin panel.
msgctxt "BUTTON"
msgid "Save"
msgstr "Зберегти"

#. TRANS: Submit button title in OpenX admin panel.
msgid "Save OpenX settings."
msgstr "Зберегти налаштування OpenX."


code:
<?php

class OpportunisticQMPlugin extends Plugin {
    public $qmkey = false;
    public $secs_per_action = 1; // total seconds to run script per action
    public $rel_to_pageload = true;  // relative to pageload or queue start

    public function onRouterInitialized($m)
    {
        $m->connect('main/runqueue', array('action' => 'runqueue'));
    }

    /**
     * When the page has finished rendering, let's do some cron jobs
     * if we have the time.
     */
    public function onEndActionExecute($status, Action $action)
    {
        if ($action instanceof RunqueueAction) {
            return true;
        }

        global $_startTime;

        $args = array(
                    'qmkey' => common_config('opportunisticqm', 'qmkey'),
                    'max_execution_time' => $this->secs_per_action,
                    'started_at'      => $this->rel_to_pageload ? $_startTime : null,
                );
        $qm = new OpportunisticQueueManager($args);
        $qm->runQueue();
        return true;
    }

    public function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'OpportunisticQM',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Mikael Nordfeldth',
                            'homepage' => 'http://www.gnu.org/software/social/',
                            'description' =>
                            // TRANS: Plugin description.
                            _m('Opportunistic queue manager plugin for background processing.'));
        return true;
    }
}


code:
Generally the OpportunisticQM plugin will run if there's still execution
time for 1 second since starting the Action processing. If you want to
change this (such as disabling, 0 seconds, or maybe running bigger
chunks, for like 4 seconds) you can do this, where 'n' is time in seconds.

addPlugin('OpportunisticQM', array('secs_per_action', n));

Add 'rel_to_pageload'=>false to the array if you want to run the queue
for a certain amount of seconds _despite_ maybe already having run that
long in the previous parts of Action processing.

Perhaps you want to start the queue handler remotely, using a machine capable
of background processing (or locally, to avoid running PHP daemon processes),
simply do an HTTP GET request to the route /main/runqueue of your GNU social.
Setting secs_per_action to 0 in the plugin config will imply that you run
all your queue handling by calling /main/runqueue (which runs as long as it
can).

/main/runqueue will output "0" if it has finished processing, "1" if it
should be called again to complete processing (because it shut down to avoid
to PHP's max_execution_time INI setting).

The key-required functionality is not throughly tested yet, so testing
would be appreciated.

path: plugins/OpportunisticQM/README


code:
<?php
/*
 * StatusNet - the distributed open-source microblogging tool
 * Copyright (C) 2008, 2009, StatusNet, Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

if (!defined('GNUSOCIAL')) { exit(1); }

class RunqueueAction extends Action
{
    protected $qm = null;

    protected function prepare(array $args=array())
    {
        parent::prepare($args);

        $args = array();

        foreach (array('qmkey') as $key) {
            if ($this->arg($key) !== null) {
                $args[$key] = $this->arg($key);
            }
        }

        try {
            $this->qm = new OpportunisticQueueManager($args);
        } catch (RunQueueBadKeyException $e) {
            return false;
        }

        header('Content-type: text/plain; charset=utf-8');

        return true;
    }

    protected function handle() {
        // We don't need any of the parent functionality from parent::handle() here.

        // runQueue is a loop that works until limits have passed or there is no more work
        if ($this->qm->runQueue() === true) {
            // We don't have any more work
            $this->text('0');
        } else {
            // There were still items left in queue when we aborted
            $this->text('1');
        }
    }
}


code:
<?php
/**
 * GNU social queue-manager-on-visit class
 *
 * Will run events for a certain time, or until finished.
 *
 * Configure remote key if wanted with $config['opportunisticqm']['qmkey'] and
 * use with /main/runqueue?qmkey=abc123
 *
 * @category  Cron
 * @package   GNUsocial
 * @author    Mikael Nordfeldth <mmn@hethane.se>
 * @copyright 2013 Free Software Foundation, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
 * @link      http://status.net/
 */
class OpportunisticQueueManager extends DBQueueManager
{
    protected $qmkey = false;
    protected $max_execution_time = null;
    protected $max_queue_items = null;

    protected $started_at = null;
    protected $handled_items = 0;

    const MAXEXECTIME = 30; // typically just used for the /main/cron action

    public function __construct(array $args=array()) {
        foreach (get_class_vars(get_class($this)) as $key=>$val) {
            if (array_key_exists($key, $args)) {
                $this->$key = $args[$key];
            }
        }
        $this->verifyKey();

        if ($this->started_at === null) {
            $this->started_at = time();
        }

        if ($this->max_execution_time === null) {
            $this->max_execution_time = ini_get('max_execution_time') ?: self::MAXEXECTIME;
        }

        return parent::__construct();
    }

    protected function verifyKey()
    {
        if ($this->qmkey !== common_config('opportunisticqm', 'qmkey')) {
            throw new RunQueueBadKeyException($this->qmkey);
        }
    }

    public function canContinue()
    {
        $time_passed = time() - $this->started_at;

        // Only continue if limit values are sane
        if ($time_passed <= 0 && (!is_null($this->max_queue_items) && $this->max_queue_items <= 0)) {
            return false;
        }
        // If too much time has passed, stop
        if ($time_passed >= $this->max_execution_time) {
            return false;
        }
        // If we have a max-item-limit, check if it has been passed
        if (!is_null($this->max_queue_items) && $this->handled_items >= $this->max_queue_items) {
            return false;
        }

        return true;
    }

    public function poll()
    {
        $this->handled_items++;
        if (!parent::poll()) {
            throw new RunQueueOutOfWorkException();
        }
        return true;
    }

    /**
     * Takes care of running through the queue items, returning when
     * the limits setup in __construct are met.
     *
     * @return true on workqueue finished, false if there are still items in the queue
     */
    public function runQueue()
    {
        while ($this->canContinue()) {
            try {
                $this->poll();
            } catch (RunQueueOutOfWorkException $e) {
                return true;
            }
        }
        common_debug('Opportunistic queue manager passed execution time/item handling limit without being out of work.');
        return false;
    }
}


code:
<?php
/**
 * Class for the GNU social cron exception when a bad key is used
 *
 * 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  Exception
 * @package   GNUsocial
 * @author    Mikael Nordfeldth <mmn@hethane.se>
 * @copyright 2013 Free Software Foundation, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
 * @link      http://www.gnu.org/software/social/
 */

if (!defined('GNUSOCIAL')) { exit(1); }

class RunQueueBadKeyException extends ClientException
{
    public $qmkey;

    public function __construct($qmkey)
    {
        $this->qmkey = $qmkey;
        parent::__construct(_('Bad queue manager key was used.'));
    }
}


code:
<?php
/**
 * Class for the GNU social cron exception when there is no more work to be done
 *
 * 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  Exception
 * @package   GNUsocial
 * @author    Mikael Nordfeldth <mmn@hethane.se>
 * @copyright 2013 Free Software Foundation, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
 * @link      http://www.gnu.org/software/social/
 */

if (!defined('GNUSOCIAL')) { exit(1); }

class RunQueueOutOfWorkException extends ServerException
{
    public function __construct()
    {
        parent::__construct(_('Opportunistic queue manager is out of work (no more items).'));
    }
}


code:
<?php
/**
 * Laconica, the distributed open-source microblogging tool
 *
 * Plugin to do "real time" updates using Orbited + STOMP
 *
 * 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   Laconica
 * @author    Evan Prodromou <evan@controlyourself.ca>
 * @copyright 2009 Control Yourself, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      http://laconi.ca/
 */

if (!defined('GNUSOCIAL') && !defined('STATUSNET')) {
    exit(1);
}

require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php';

/**
 * Plugin to do realtime updates using Orbited + STOMP
 *
 * This plugin pushes data to a STOMP server which is then served to the
 * browser by the Orbited server.
 *
 * @category Plugin
 * @package  Laconica
 * @author   Evan Prodromou <evan@controlyourself.ca>
 * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link     http://laconi.ca/
 */
class OrbitedPlugin extends RealtimePlugin
{
    public $webserver   = null;
    public $webport     = null;
    public $channelbase = null;
    public $stompserver = null;
    public $stompport   = null;
    public $username    = null;
    public $password    = null;
    public $webuser     = null;
    public $webpass     = null;

    protected $con      = null;

    function onStartShowHeadElements($action)
    {
        // See http://orbited.org/wiki/Deployment#Cross-SubdomainDeployment
        $action->element('script', null, ' document.domain = document.domain; ');
    }

    function _getScripts()
    {
        $scripts = parent::_getScripts();

        $port = (is_null($this->webport)) ? 8000 : $this->webport;

        $server = (is_null($this->webserver)) ? common_config('site', 'server') : $this->webserver;

        $root = 'http://'.$server.(($port == 80) ? '':':'.$port);

        $scripts[] = $root.'/static/Orbited.js';
        $scripts[] = $this->path('js/orbitedextra.js');
        $scripts[] = $root.'/static/protocols/stomp/stomp.js';
        $scripts[] = $this->path('js/orbitedupdater.js');

        return $scripts;
    }

    function _updateInitialize($timeline, $user_id)
    {
        $script = parent::_updateInitialize($timeline, $user_id);

        $server = $this->_getStompServer();
        $port   = $this->_getStompPort();

        return $script." OrbitedUpdater.init(\"$server\", $port, ".
          "\"{$timeline}\", \"{$this->webuser}\", \"{$this->webpass}\");";
    }

    function _connect()
    {
        require_once(INSTALLDIR.'/extlib/Stomp.php');

        $url = $this->_getStompUrl();

        $this->con = new Stomp($url);

        if ($this->con->connect($this->username, $this->password)) {
            $this->log(LOG_INFO, "Connected.");
        } else {
            $this->log(LOG_ERR, 'Failed to connect to queue server');
            // TRANS: Server exception thrown when no connection can be made to a queue server.
            throw new ServerException(_m('Failed to connect to queue server.'));
        }
    }

    function _publish($channel, $message)
    {
        $result = $this->con->send($channel,
                                   json_encode($message));

        return $result;
        // @todo Parse and deal with result.
    }

    function _disconnect()
    {
        $this->con->disconnect();
    }

    function _pathToChannel($path)
    {
        if (!empty($this->channelbase)) {
            array_unshift($path, $this->channelbase);
        }
        return '/' . implode('/', $path);
    }

    function _getStompServer()
    {
        return (!is_null($this->stompserver)) ? $this->stompserver :
        (!is_null($this->webserver)) ? $this->webserver :
        common_config('site', 'server');
    }

    function _getStompPort()
    {
        return (!is_null($this->stompport)) ? $this->stompport : 61613;
    }

    function _getStompUrl()
    {
        $server = $this->_getStompServer();
        $port   = $this->_getStompPort();
        return "tcp://$server:$port/";
    }

    /**
     * Add our version information to output
     *
     * @param array &$versions Array of version-data arrays
     *
     * @return boolean hook value
     */
    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'Orbited',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:Orbited',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Plugin to make updates using Orbited and STOMP.'));
        return true;
    }
}


code:
// Update the local timeline from a Orbited server

var OrbitedUpdater = function()
{
     return {

          init: function(server, port, timeline, username, password)
          {
               // set up stomp client.
               stomp = new STOMPClient();

               stomp.onmessageframe = function(frame) {
                    RealtimeUpdate.receive(JSON.parse(frame.body));
               };

               stomp.onconnectedframe = function() {
                    stomp.subscribe(timeline);
               }

               stomp.connect(server, port, username, password);
          }
     }
}();


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: Server exception thrown when no connection can be made to a queue server.
#: OrbitedPlugin.php:110
msgid "Failed to connect to queue server."
msgstr ""

#. TRANS: Plugin description.
#: OrbitedPlugin.php:170
msgid "Plugin to make updates using Orbited and STOMP."
msgstr ""


code:
# Translation of StatusNet - Orbited to German (Deutsch)
# Exported from translatewiki.net
#
# Author: DaSch
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:29+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Fehler beim Verbindungsaufbau zum Queue-Server."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Plugin zum veröffentlichen Statusupdates über Orbited und STOMP."


code:
# Translation of StatusNet - Orbited to Spanish (español)
# Exported from translatewiki.net
#
# Author: Armando-Martin
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51:13+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: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Error al conectar con el servidor de la cola de espera."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr ""
"Complemento (plugin) para hacer actualizaciones mediante Orbited y STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51:13+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: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Akatsa itxarote zerrendako zerbitzariarekin konektatzerakoan."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Orbited eta STOMP bidez eguneraketak egiteko plugna."


code:
# Translation of StatusNet - Orbited to French (français)
# Exported from translatewiki.net
#
# Author: Crochet.david
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Impossible de se connecter au serveur de la file d’attente."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Plugin pour faire les mises à jour en utilisant Orbited et STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Erro ao conectar co servidor da cola de espera."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Complemento para realizar actualizacións mediante Orbited e STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Le connexion al servitor de caudas falleva."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Plug-in pro facer actualisationes usante Orbited e STOMP."


code:
# Translation of StatusNet - Orbited to Italian (italiano)
# Exported from translatewiki.net
#
# Author: GreenFox
# Author: Ximo17
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51:13+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: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Impossibile connettersi al server di coda."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Plugin per fare aggiornamenti utilizzando Orbited e STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Не успеав да се поврзам со опслужувачот за редица."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Приклучок за вршење на поднови користејќи Orbited и STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Het opzetten van een verbinding met de queueserver is mislukt."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Plugin om updates te maken via Orbited en STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:30+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:51:13+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-orbited\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Nabigong umugnay sa tagapaghain ng pila."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr ""
"Pampasak upang makagawa ng mga pagsasapanahon sa pamamagitan ng Orbited at "
"STOMP."


code:
# Translation of StatusNet - Orbited 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 - Orbited\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:31+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:51:13+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-orbited\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: Server exception thrown when no connection can be made to a queue server.
msgid "Failed to connect to queue server."
msgstr "Не вдалося підключитися до сервера у черзі."

#. TRANS: Plugin description.
msgid "Plugin to make updates using Orbited and STOMP."
msgstr "Додаток, який дозволяє надсилати дописи за допомогою Orbited і STOMP."


code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * Plugin to use Piwik 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>
 * @author    Tobias Diekershoff <tobias.diekershoff@gmx.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 Piwik Analytics (based on the Google Analytics plugin by Evan)
 *
 * This plugin will spoot out the correct JavaScript spell to invoke
 * Piwik Analytics on a page.
 *
 * To use this plugin add the following to your config.php
 *
 *  addPlugin('PiwikAnalytics', array('piwikroot' => 'example.com/piwik/',
 *                                    'piwikId' => 'id'));
 *
 * Replace 'example.com/piwik/' with the URL to your Piwik installation and
 * make sure you don't forget the final /.
 * Replace 'id' with the ID your statusnet installation has in your Piwik
 * analytics setup - for example '8'.
 *
 */
class PiwikAnalyticsPlugin extends Plugin
{
    /** the base of your Piwik installation */
    public $piwikroot = null;
    /** the Piwik Id of your statusnet installation */
    public $piwikId   = null;

    /**
     * constructor
     *
     * @param string $root Piwik root URL
     * @param string $id   Piwik ID of this app
     */
    function __construct($root=null, $id=null)
    {
        $this->piwikroot = $root;
        $this->piwikId   = $id;
        parent::__construct();
    }

    /**
     * Called when all scripts have been shown
     *
     * @param Action $action Current action
     *
     * @return boolean ignored
     */
    function onEndShowScripts($action)
    {
        // Slight modification to the default code.
        // Loading the piwik.js file from a


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.
#: PiwikAnalyticsPlugin.php:114
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Benutzung der Piwik-Open-Source-Web-"
"Analyse-Software."


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Utiliza el software de análisis de sitios Web de fuente abierta Piwik."


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Utiliser le logiciel d’analyse Web en source ouvert Piwik."


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Usar o software de análise web de código aberto Piwik."


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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: he\n"
"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"שימוש בתכנית לניתוח הרשת בקוד פתוח Piwik."


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Usar le software open source de analyse web Piwik."


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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: id\n"
"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Menggunakan perangkat lunak analisis web terbuka Piwik."


code:
# Translation of StatusNet - PiwikAnalytics to Italian (italiano)
# Exported from translatewiki.net
#
# Author: GreenFox
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51: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: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Utilizza il software Open Source Piwik per "
"l'analisi del web."


code:
# Translation of StatusNet - PiwikAnalytics to Japanese (日本語)
# Exported from translatewiki.net
#
# Author: Shirayuki
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51: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=1; plural=0;\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Piwik オープン ソース ウェブ解析ソフトウェ"
"アを使用します。"


code:
# Translation of StatusNet - PiwikAnalytics 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 - PiwikAnalytics\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:35+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:51: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-piwikanalytics\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"

#. TRANS: Plugin description.
msgid ""
"Use Piwik Open Source web analytics "
"software."
msgstr ""
"Користи Piwik - програм за мрежна "
"аналитика со отворен код."