code:
<?php
/**
 * StatusNet, the distributed open-source microblogging tool
 *
 * XHTML Mobile Profile plugin that uses WAP 2.0 Plugin
 *
 * 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    Sarven Capadisli <csarven@status.net>
 * @copyright 2009 StatusNet, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
 * @link      http://status.net/
 */

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

define('PAGE_TYPE_PREFS_MOBILEPROFILE',
       'application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html;q=0.9');

require_once INSTALLDIR.'/plugins/Mobile/WAP20Plugin.php';

/**
 * Superclass for plugin to output XHTML Mobile Profile
 *
 * @category Plugin
 * @package  StatusNet
 * @author   Sarven Capadisli <csarven@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 MobileProfilePlugin extends WAP20Plugin
{
    public $DTD            = null;
    public $serveMobile    = false;
    public $reallyMobile   = false;
    public $mobileFeatures = array();

    function __construct($DTD='http://www.wapforum.org/DTD/xhtml-mobile10.dtd')
    {
        $this->DTD = $DTD;

        parent::__construct();
    }

    function onStartShowHTML($action)
    {
        // XXX: This should probably graduate to WAP20Plugin

        // If they are on the mobile site, serve them MP
        if ((common_config('site', 'mobileserver').'/'.
             common_config('site', 'path').'/' ==
            $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])) {

            $this->serveMobile = true;
        } else if (isset($_COOKIE['MobileOverride'])) {
            // Cookie override is controlled by link at bottom.
            $this->serveMobile = (bool)$_COOKIE['MobileOverride'];
        } elseif (array_key_exists('HTTP_USER_AGENT', $_SERVER)) {
            // If they like the WAP 2.0 mimetype, serve them MP
            // @fixme $type is undefined, making this if case useless and spewing errors.
            // What's the intent?
            //if (strstr('application/vnd.wap.xhtml+xml', $type) !== false) {
            //    $this->serveMobile = true;
            //} else {
                // If they are a mobile device that supports WAP 2.0,
                // serve them MP

                // XXX: Browser sniffing sucks

                // I really don't like going through this every page,
                // perhaps use $_SESSION or cookies

                // May be better to group the devices in terms of
                // low,mid,high-end

                // Or, detect the mobile devices based on their support for
                // MP 1.0, 1.1, or 1.2 may be ideal. Possible?

                $this->mobiledevices = array(
                    'alcatel',
                    'android',
                    'audiovox',
                    'au-mic,',
                    'avantgo',
                    'blackberry',
                    'blazer',
                    'cldc-',
                    'danger',
                    'epoc',
                    'ericsson',
                    'ericy',
                    'iphone',
                    'ipaq',
                    'ipod',
                    'j2me',
                    'lg',
                    'maemo',
                    'midp-',
                    'mobile',
                    'mot',
                    'netfront',
                    'nitro',
                    'nokia',
                    'opera mini',
                    'palm',
                    'palmsource',
                    'panasonic',
                    'philips',
                    'pocketpc',
                    'portalmmm',
                    'rover',
                    'samsung',
                    'sanyo',
                    'series60',
                    'sharp',
                    'sie-',
                    'smartphone',
                    'sony',
                    'symbian',
                    'up.browser',
                    'up.link',
                    'up.link',
                    'vodafone',
                    'wap1',
                    'wap2',
                    'webos',
                    'windows ce'
                );

                $blacklist = array(
                    'ipad', // Larger screen handles the full theme fairly well.
                );

                $httpuseragent = strtolower($_SERVER['HTTP_USER_AGENT']);

                foreach ($blacklist as $md) {
                    if (strstr($httpuseragent, $md) !== false) {
                        $this->serveMobile = false;
                        return true;
                    }
                }

                foreach ($this->mobiledevices as $md) {
                    if (strstr($httpuseragent, $md) !== false) {
                        $this->setMobileFeatures($httpuseragent);

                        $this->serveMobile = true;
                        $this->reallyMobile = true;
                        break;
                    }
                }
            //}

            // If they are okay with MP, and the site has a mobile server,
            // redirect there
            if ($this->serveMobile &&
                common_config('site', 'mobileserver') !== false &&
                (common_config('site', 'mobileserver') !=
                    common_config('site', 'server'))) {

                // FIXME: Redirect to equivalent page on mobile site instead
                common_redirect($this->_common_path(''), 302);
            }
        }

        if (!$this->serveMobile) {
            return true;
        }

        // @fixme $type is undefined, making this if case useless and spewing errors.
        // What's the intent?
        //if (!$type) {
            $httpaccept = isset($_SERVER['HTTP_ACCEPT']) ?
              $_SERVER['HTTP_ACCEPT'] : null;

            $cp = common_accept_to_prefs($httpaccept);
            $sp = common_accept_to_prefs(PAGE_TYPE_PREFS_MOBILEPROFILE);

            $type = common_negotiate_type($cp, $sp);

            if (!$type) {
                // TRANS: Client exception thrown when requesting a not supported media type.
                throw new ClientException(_m('This page is not available in a '.
                                            'media type you accept.'), 406);
            }
        //}

        header('Content-Type: '.$type);

        if ($this->reallyMobile) {

           $action->extraHeaders();
           if (preg_match("/.*\/.*xml/", $type)) {
               // Required for XML documents
               $action->startXML();
           }
           $action->xw->writeDTD('html',
                           '-//WAPFORUM//DTD XHTML Mobile 1.0//EN',
                           $this->DTD);

            $language = $action->getLanguage();

            $action->elementStart('html', array('xmlns' => 'http://www.w3.org/1999/xhtml',
                                            'xml:lang' => $language));

            return false;

        } else {
        return true;
        }

    }

    function setMobileFeatures($useragent)
    {
        $mobiledeviceInputFileType = array(
            'nokia'
        );

        $this->mobileFeatures['inputfiletype'] = false;

        foreach ($mobiledeviceInputFileType as $md) {
            if (strstr($useragent, $md) !== false) {
                $this->mobileFeatures['inputfiletype'] = true;
                break;
            }
        }
    }

    public function onStartShowStylesheets(Action $action)
    {
        if (!$this->serveMobile) {
            return true;
        }

        $action->primaryCssLink();

        $action->cssLink($this->path('mp-screen.css'),null,'screen');
        if (file_exists(Theme::file('css/mp-screen.css'))) {
            $action->cssLink('css/mp-screen.css', null, 'screen');
        }

        $action->cssLink($this->path('mp-handheld.css'),null,'handheld');
        if (file_exists(Theme::file('css/mp-handheld.css'))) {
            $action->cssLink('css/mp-handheld.css', null, 'handheld');
        }

        // Allow other plugins to load their styles.
        Event::handle('EndShowStylesheets', array($action));

        return false;
    }

    function onStartShowUAStyles($action) {
        if (!$this->serveMobile) {
            return true;
        }

        return false;
    }

    function onStartShowHeader($action)
    {
        if (!$this->serveMobile) {
            return true;
        }

        $action->elementStart('div', array('id' => 'header'));
        $this->_showLogo($action);
        $action->showPrimaryNav();
        $action->elementEnd('div');

        return false;
    }

    function _showLogo($action)
    {
        $action->elementStart('address');
        if (common_config('singleuser', 'enabled')) {
            $user = User::singleUser();
            $url = common_local_url('showstream', array('nickname' => $user->getNickname()));
        } else {
            $url = common_local_url('public');
        }

        $action->elementStart('a', array('class' => 'h-card home bookmark',
                                         'href' => $url));

        if (common_config('site', 'mobilelogo') ||
            file_exists(Theme::file('logo.png')) ||
            file_exists(Theme::file('mobilelogo.png'))) {

            $action->element('img', array('class' => 'u-photo',
                'src' => (common_config('site', 'mobilelogo')) ? common_config('site', 'mobilelogo') :
                            ((file_exists(Theme::file('mobilelogo.png'))) ? (Theme::path('mobilelogo.png')) : Theme::path('logo.png')),
                'alt' => common_config('site', 'name')));
        }
        $action->elementEnd('a');
        $action->elementEnd('address');
    }

    function onStartShowAside($action)
    {
        if ($this->serveMobile) {
            return false;
        }
    }

    function onStartShowLocalNavBlock($action)
    {
        if ($this->serveMobile) {
            // @todo FIXME: "Show Navigation" / "Hide Navigation" needs i18n
            $action->element('a', array('href' => '#', 'id' => 'navtoggle'), 'Show Navigation');
        return true;
        }
    }

    function onEndShowScripts($action)
    {
        // @todo FIXME: "Show Navigation" / "Hide Navigation" needs i18n
        $action->inlineScript('
            $(function() {
                $("#mobile-toggle-disable").click(function() {
                    $.cookie("MobileOverride", "0", {path: "/"});
                    window.location.reload();
                    return false;
                });
                $("#mobile-toggle-enable").click(function() {
                    $.cookie("MobileOverride", "1", {path: "/"});
                    window.location.reload();
                    return false;
                });
                $("#navtoggle").click(function () {
                          $("#site_nav_local_views").fadeToggle();
                          var text = $("#navtoggle").text();
                          $("#navtoggle").text(
                          text == "Show Navigation" ? "Hide Navigation" : "Show Navigation");
                });
            });'
        );

        if ($this->serveMobile) {
            $action->inlineScript('
                $(function() {
        	        $(".checkbox-wrapper").unbind("click");
                });'
            );
        }

    }

    function onEndShowInsideFooter($action)
    {
        if ($this->serveMobile) {
            // TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
            $linkText = _m('Switch to desktop site layout.');
            $key = 'mobile-toggle-disable';
        } else {
            // TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
            $linkText = _m('Switch to mobile site layout.');
            $key = 'mobile-toggle-enable';
        }
        $action->elementStart('p');
        $action->element('a', array('href' => '#', 'id' => $key), $linkText);
        $action->elementEnd('p');
        return true;
    }

    function _common_path($relative, $ssl=false)
    {
        $pathpart = (common_config('site', 'path')) ? common_config('site', 'path')."/" : '';

        if (($ssl && (common_config('site', 'ssl') === 'sometimes'))
            || common_config('site', 'ssl') === 'always') {
            $proto = 'https';
            if (is_string(common_config('site', 'sslserver')) &&
                mb_strlen(common_config('site', 'sslserver')) > 0) {
                $serverpart = common_config('site', 'sslserver');
            } else {
                $serverpart = common_config('site', 'mobileserver');
            }
        } else {
            $proto      = 'http';
            $serverpart = common_config('site', 'mobileserver');
        }

        return $proto.'://'.$serverpart.'/'.$pathpart.$relative;
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'MobileProfile',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Sarven Capadisli',
                            'homepage' => 'http://status.net/wiki/Plugin:MobileProfile',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('XHTML MobileProfile output for supporting user agents.'));
        return true;
    }
}


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
#: MobileProfilePlugin.php:200
msgid "This page is not available in a media type you accept."
msgstr ""

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
#: MobileProfilePlugin.php:377
msgid "Switch to desktop site layout."
msgstr ""

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
#: MobileProfilePlugin.php:381
msgid "Switch to mobile site layout."
msgstr ""

#. TRANS: Plugin description.
#: MobileProfilePlugin.php:419
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""

license: mit


code:
# Translation of StatusNet - MobileProfile to Bulgarian (Български)
# Exported from translatewiki.net
#
# Author: DCLXVI
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-03 15:58+0000\n"
"PO-Revision-Date: 2011-03-03 16:02:16+0000\n"
"Language-Team: Bulgarian <http://translatewiki.net/wiki/Portal:bg>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-02-14 17:20:45+0000\n"
"X-Generator: MediaWiki 1.18alpha (r83149); Translate extension (2011-02-01)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: bg\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: MobileProfilePlugin.php:196
msgid "This page is not available in a media type you accept."
msgstr ""

#: MobileProfilePlugin.php:313
msgid "Home"
msgstr ""

#: MobileProfilePlugin.php:315
msgid "Account"
msgstr ""

#: MobileProfilePlugin.php:317
msgid "Connect"
msgstr ""

#: MobileProfilePlugin.php:320
msgid "Admin"
msgstr ""

#: MobileProfilePlugin.php:320
msgid "Change site configuration"
msgstr ""

#: MobileProfilePlugin.php:324
msgid "Invite"
msgstr ""

#: MobileProfilePlugin.php:327
msgid "Logout"
msgstr "Излизане"

#: MobileProfilePlugin.php:331
msgid "Register"
msgstr ""

#: MobileProfilePlugin.php:334
msgid "Login"
msgstr "Влизане"

#: MobileProfilePlugin.php:338
msgid "Search"
msgstr "Търсене"

#: MobileProfilePlugin.php:365
msgid "Attach"
msgstr "Прикачване"

#: MobileProfilePlugin.php:369
msgid "Attach a file"
msgstr "Прикачване на файл"

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
#: MobileProfilePlugin.php:410
msgid "Switch to desktop site layout."
msgstr ""

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
#: MobileProfilePlugin.php:414
msgid "Switch to mobile site layout."
msgstr ""

#: MobileProfilePlugin.php:451
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "La pàgina no està disponible en un tipus de suport que accepteu."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Canvia a lloc web en mode d'escriptori."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Canvia a lloc web en mode mòbil."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""
"Sortida en XHTML MobileProfile per als agents d'usuari que ho accepten."


code:
# Translation of StatusNet - MobileProfile to Chechen (Нохчийн)
# Exported from translatewiki.net
#
# Author: Sasan700
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:13+0000\n"
"Language-Team: Chechen <https://translatewiki.net/wiki/Portal:ce>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+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: ce\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Агlо схьа ца гойту ишта тайпнара чун, ахьа лелош йолу."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr ""

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr ""

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML MobileProfile арайокху иза лелочу декъашхошна аттон."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Diese Seite liegt in keinem von Ihnen akzeptierten Medientyp vor."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Wechsle zur Desktopdarstellung."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Wechsle zur Mobildarstellung."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML-MobileProfile-Ausgabe zur Unterstützung von User-Agents."


code:
# Translation of StatusNet - MobileProfile to Spanish (español)
# Exported from translatewiki.net
#
# Author: Armando-Martin
# Author: Fitoschido
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:13+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: 2012-01-02 10:11:36+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-mobileprofile\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Esta página no está disponible en el tipo de medio que aceptas."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Cambiar al formato de escritorio del sitio."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Cambiar al formato para móviles del sitio."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "Salida XHTML MobileProfile para apoyar a los agentes de usuario."


code:
# Translation of StatusNet - MobileProfile 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 - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:13+0000\n"
"Language-Team: Basque <https://translatewiki.net/wiki/Portal:eu>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: eu\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Orri hau ez dago eskuragarri darabilzun gailu mota bidez."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Aldatu mahaigain gune modura."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Aldatu mugikor gune modura."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML MobileProfile irteera erabiltzaile agenteei sostengua emateko."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr ""
"Cette page n’est pas disponible dans un des types de média que vous acceptez."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Passer à la disposition du site de bureau."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Passer à la disposition du site mobile."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "Sortie XHTML MobileProfile pour les navigateurs compatibles."


code:
# Translation of StatusNet - MobileProfile to Friulian (furlan)
# Exported from translatewiki.net
#
# Author: Klenje
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:13+0000\n"
"Language-Team: Friulian <https://translatewiki.net/wiki/Portal:fur>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+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: fur\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr ""
"Cheste pagjine no je disponibil intun gjenar multimediâl che tu acetis."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Passe al sît web in version desktop"

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Passe al sît web in version mobil"

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "Output XHTML MobileProfile pai clients che lu supuartin."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Esta páxina non está dispoñible nun formato axeitado para vostede."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Cambiar ao esquema do sitio de escritorio."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Cambiar ao esquema do sitio de móbil."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "Saída XHTML MobileProfile para os navegadores compatibles."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Iste pagina non es disponibile in un formato que tu accepta."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Cambiar al disposition de sito a scriptorio."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Cambiar al disposition de sito mobile."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""
"Production de XHTML MobileProfile pro le programmas de usator que lo "
"supporta."


code:
# Translation of StatusNet - MobileProfile 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 - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:14+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+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: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Questa pagina non è disponibile in un tipo di supporto che tu accetti"

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Passa alla modalità di visualizzazione di tipo desktop."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Passa alla modalità di visualizzazione di tipo dispositivo mobile."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "Output in XHTML MobileProfile per i visualizzatori compatibili."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Страницава не е достапна во форматот кој Вие го прифаќате."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Префрли ме на столен распоред."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Верзија за мобилен уред."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "Излез „XHTML MobileProfile“ за поддршка на кориснички агенти."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Denne siden er ikke tilgjengelig i en mediatype du aksepterer."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr ""

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr ""

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML MobileProfile-utdata for støttede brukeragenter."


code:
# Translation of StatusNet - MobileProfile to Dutch (Nederlands)
# Exported from translatewiki.net
#
# Author: McDutchie
# Author: SPQRobin
# Author: Siebrand
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:14+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: 2012-01-02 10:11:36+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-mobileprofile\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Deze pagina is niet beschikbaar in een mediumtype dat u accepteert."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Omschakelen naar de vormgeving van de desktopsite."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Omschakelen naar de vormgeving van de mobiele site."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""
"Uitvoer in MobileProfile XHTML voor de gebruikersprogramma's die dat "
"ondersteunen."


code:
# Translation of StatusNet - MobileProfile to Russian (русский)
# Exported from translatewiki.net
#
# Author: Eleferen
# Author: Lockal
# Author: Александр Сигачёв
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:14+0000\n"
"Language-Team: Russian <https://translatewiki.net/wiki/Portal:ru>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ru\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\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: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Страница недоступна для того типа, который вы задействовали."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Переключить на версию для персонального компьютера."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Переключить на версию для мобильных устройств."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML MobileProfile вывод для поддерживаемых пользовательских агентов."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Denna sida är inte tillgänglig i en medietyp du accepterat."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Växla till stationär webbplatslayout."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Växla till mobil webbplatslayout."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML MobileProfile utdata för att stödja användarprogram."


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

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Ang pahinang ito ay hindi makukuha sa uri ng midya na tinanggap mo."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Lumipat sa kalatagan ng sityong pang-ibabaw ng mesa."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Lumipat sa kalatagan ng sityong nagpapalipat-lipat."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""
"Mga paglalabas na XHTML na MobileProfile para sa pagtataguyo ng mga ahente "
"ng tagagamit."


code:
# Translation of StatusNet - MobileProfile 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 - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:14+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: 2012-01-02 10:11:36+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-mobileprofile\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: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "Ця сторінка не доступна для того типу медіа, з яким ви погодились."

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr "Перемкнути вигляд сайту на варіант для робочого столу."

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr "Перемкнути вигляд сайту на варіант для мобільних пристроїв."

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""
"Додаток MobileProfile генерує XHTML прийнятний для мобільних пристроїв."


code:
# Translation of StatusNet - MobileProfile to Simplified Chinese (中文（简体）)
# Exported from translatewiki.net
#
# Author: Hydra
# Author: ZhengYiFeng
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - MobileProfile\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:14+0000\n"
"Language-Team: Simplified Chinese <https://translatewiki.net/wiki/Portal:zh-"
"hans>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+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: zh-hans\n"
"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
"Plural-Forms: nplurals=1; plural=0;\n"

#. TRANS: Client exception thrown when requesting a not supported media type.
msgid "This page is not available in a media type you accept."
msgstr "此页不在您接受的媒体类型中可用。"

#. TRANS: Link to switch site layout from mobile to desktop mode. Appears at very bottom of page.
msgid "Switch to desktop site layout."
msgstr ""

#. TRANS: Link to switch site layout from desktop to mobile mode. Appears at very bottom of page.
msgid "Switch to mobile site layout."
msgstr ""

#. TRANS: Plugin description.
msgid "XHTML MobileProfile output for supporting user agents."
msgstr "XHTML MobileProfile 支持用户代理的输出。"


code:
#wrap {
    margin: 0;
    padding: 0;
    min-width:0;
    max-width:100%;
    width: auto;
    border: none;
}

#header {
    width: 100%;
}

address {
    margin: 1px 0 0;
    height: 24px;
}

address img {
    float: left;
    background: #fff;
    padding: 2px 2px 2px 6px;
}

address img + .fn {
    display:block;
    margin-top: 8px;
    clear: left;
    float: left;
    color: #000;
    margin-left: 6px;
}

#site_nav_global_primary {
    width: 100%;
    padding: 2px 0;
    height: auto;
    left:0;
}

#site_nav_global_primary li {
    margin-right: 4px;
}

#site_nav_global_primary li:last-child {
    margin-right: 0px;
}

#site_nav_global_primary a {
    padding: 2px 4px;
}

#core {
    width: 100%;
    border-left: none;
    border-right: none;
}

#aside_primary_wrapper {
    background: none;
}

#content_wrapper {
    right: 0px;
    border: none;
}

#site_nav_local_views_wrapper {
    right: 0px;
    border: none;
}

#navtoggle {
    float: right;
    padding: 2px 6px;
    text-decoration: none;
}

#site_nav_local_views {
    margin-bottom: 0px;
    padding: 10px 0px 10px 6px;
    left: 0px;
    width: 100%;
    display: none;
}

#site_nav_local_views h3 {
    font-size: 1em;
    margin-bottom: 0px;
}

#site_nav_local_views li {
    margin: 0 6px 0 0;
    clear: left;
}

#site_nav_local_views li li {
    float: left;
    clear: none;
    margin: 0 10px 6px 0;
}

#login #site_nav_local_views, #register #site_nav_local_views, #openidlogin #site_nav_local_views {
    display: block;
    margin-top: 25px;
}

#login #navtoggle, #register #navtoggle, #openidlogin #navtoggle {
    display: none;
}

#login #site_nav_local_views li, #register #site_nav_local_views li, #openidlogin #site_nav_local_views li {
    float: left;
    clear: none;
    margin: 0 10px 6px 0;
}

#content {
    width: 96%;
    padding: 10px 2%;
    min-height: auto;
    left: 0px;
}

#content h1 {
    clear: left;
}

#footer {
    width: auto;
    padding: 10px 4px 4px 4px;
}

.input_forms {
    width: 102%;
    left: -2%;
    padding-left: 2%;
}

#input_form_nav li a {
    margin-right: 6px;
}

.input_form {
    clear: left;
    width: 100%;
    padding-bottom: 0px;
}

#input_form_status, #input_form_direct {
    padding-bottom: 40px;
}

.form_notice_placeholder .placeholder {
    width: 290px;
    margin-bottom: 20px;
}

.form_notice {
    float: left;
    width: 300px;
    padding: 4px 0px;
}

#form_notice-direct.form_notice {
    padding-top: 0px;
}

.form_notice textarea, #form_notice-direct.form_notice textarea {
    width: 292px;
    height: 36px;
    padding: 4px 4px 16px 4px;
    font-size: 1em;
}

.form_notice .count {
    position: absolute;
    top: 46px;
    left: 278px;
}

#form_notice-direct.form_notice .count {
    top: 76px;
    left: 278px;
}

.form_notice .error,
.form_notice .success,
.form_notice .notice-status {
    width: 285px;
}

/*input type=file no good in
iPhone/iPod Touch, Android, Opera Mini Simulator
*/

.form_notice .notice_data-attach, .form_notice .notice_data-geo_wrap label, .form_notice .notice_data-geo_wrap input {
    display:none;
}

.checkbox-wrapper {
    margin-left: 0px;
    clear: left;
    float: left;
    width: 200px;
    z-index: 2;
}

.form_notice .checkbox-wrapper {
    margin-left: 0px;
}

.checkbox-wrapper label.checkbox {
    display: none !important;
}

.checkbox-wrapper #notice_private {
    display: inline;
    margin-top: 10px;
    margin-left: 20px;
}

.form_notice .checkbox-wrapper #notice_private {
    margin-left: 0px;
}

.checkbox-wrapper:before {
    content: "Send privately?";
}

.input_form .form_settings fieldset fieldset {
    width: 300px;
}

.input_form .form_settings label {
    display: inline;
}

label[for=blog-entry-content] {
    display: none !important;
}

.input_form .form_settings li input {
    width: 292px;
}

.input_form .form_settings li textarea {
    width: 292px;
}

.bookmarkform-thumbnail {
    display: none;
}

.input_form .form_settings .submit {
    margin: 10px 0;
    clear: left;
    float: left;
}

.form_notice input.submit {
    margin-top: -45px;
    width: 80px;
}

#form_notice-direct.form_notice #notice_action-submit {
    top: 148px;
}

.threaded-replies {
    width: 80%;
}

#content .notice .threaded-replies .notice {
    width: 95%;
}

.threaded-replies .placeholder {
    margin: 10px;
    width: 92%;
}

.threaded-replies .form_notice {
    margin-bottom: 10px;
}

.threaded-replies .form_notice textarea {
    width: 220px;
}

.threaded-replies .form_notice .count {
    left: 215px;
    top: 55px;
}

.threaded-replies .form_notice #notice_action-submit {
    position: relative;
    top: 0;
    bottom: 0px;
    left: 0;
    margin-top: 10px;
}

.threaded-replies .form_notice .error,
.threaded-replies .form_notice .success,
.threaded-replies .form_notice .notice-status {
    width: 210px;
}

.form_settings fieldset {
    margin-bottom: 7px;
}

.form_settings label {
    width: auto;
    display: block;
    text-align: left;
}

.form_settings .form_data li {
    margin-bottom: 10px;
}

.form_settings .form_data textarea,
.form_settings .form_data select,
.form_settings .form_data input {
    margin-left: 0;
}

.form_settings .form_data textarea {
    width: 98%;
}

.form_settings .form_data label {
    float: none;
}

.form_settings .form_data p.form_guide {
    margin-left: 0;
}

.form_settings input.checkbox, .form_settings input.radio {
    left: 0px;
}

.form_settings label.checkbox, .form_settings label.radio {
    left: -10px;
}

.notice .addressees:before {
    content: '\003E';
}


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

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

/**
 * @package ModHelperPlugin
 * @maintainer Brion Vibber <brion@status.net>
 */
class ModHelperPlugin extends Plugin
{
    static $rights = array(Right::SILENCEUSER, Right::TRAINSPAM, Right::REVIEWSPAM);

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'ModHelper',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Brion Vibber',
                            'homepage' => 'http://status.net/wiki/Plugin:ModHelper',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('Lets users who have been manually marked as "modhelper"s silence accounts.'));

        return true;
    }

    function onUserRightsCheck($profile, $right, &$result)
    {
        if (in_array($right, self::$rights)) {
            // Hrm.... really we should confirm that the *other* user isn't privleged. :)
            if ($profile->hasRole('modhelper')) {
                $result = true;
                return false;
            }
        }
        return true;
    }
}


code:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. TRANS: Plugin description.
#: ModHelperPlugin.php:40
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Ermöglicht es Benutzern, die manuell als „Modhelfer“ markiert wurden, Konten "
"stumm zu stellen."


code:
# Translation of StatusNet - ModHelper to Spanish (español)
# Exported from translatewiki.net
#
# Author: Locos epraix
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - ModHelper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:15+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:05+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-modhelper\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Permite a los usuarios que han sido marcados manualmente como \"modhelper\" "
"silenciar cuentas."


code:
# Translation of StatusNet - ModHelper 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 - ModHelper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:15+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51:05+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 ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Kontuak isilarazten uzten die \"modhelper\" gisa markatu diren "
"erabiltzaileei."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Permet aux utilisateurs qui ont été marqués manuellement comme « modhelper » "
"de réduire des comptes au silence."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Permite silenciar contas aos usuarios que foron marcados manualmente como "
"\"modhelper\"."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr "מתן האפשרות למשתמשים שסומנו כ־\"modhelper\" להשתיק חשבונות."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Permitte al usatores qui ha essite manualmente marcate como \"modhelper\" de "
"silentiar contos."


code:
# Translation of StatusNet - ModHelper 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 - ModHelper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:15+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51:05+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 ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Permette agli utenti che sono stati indicati manualmente come \"modhelper\" "
"di ridurre al silenzio degli account."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Им овозможува да замолчуваат сметки на корисниците што се рачно означени "
"како „modhelper“."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Laat gebruikers die handmatig zijn aangemerkt als \"modhelper\" andere "
"gebruikers monddood maken."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Permite que os usuários que tenham sido manualmente marcados como \"modhelper"
"\" silenciem contas."


code:
# Translation of StatusNet - ModHelper to Russian (русский)
# Exported from translatewiki.net
#
# Author: Lockal
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - ModHelper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:15+0000\n"
"Language-Team: Russian <https://translatewiki.net/wiki/Portal:ru>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2011-06-05 21:51:05+0000\n"
"X-Generator: MediaWiki 1.20alpha (233fc08); Translate 2012-06-21\n"
"X-Translation-Project: translatewiki.net <https://translatewiki.net>\n"
"X-Language-Code: ru\n"
"X-Message-Group: #out-statusnet-plugin-modhelper\n"
"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Позволяет пользователям, которые были вручную помечены как «modhelper» "
"заглушать учётные записи."


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

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Nagpapahintulot sa mga tagagamit na kinakamay na minarkahan bilang mga "
"\"modhelper\" na mapatahimik ang mga akawnt."


code:
# Translation of StatusNet - ModHelper 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 - ModHelper\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:16+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:05+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-modhelper\n"
"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"

#. TRANS: Plugin description.
msgid ""
"Lets users who have been manually marked as \"modhelper\"s silence accounts."
msgstr ""
"Дозволити користувачам, котрих вручну було позначено як «помічник "
"модератора», позбавляти інших користувачів права голосу."


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

if (!defined('STATUSNET')) {
    // This check helps protect against security problems;
    // your code file can't be executed directly from the web.
    exit(1);
}

/**
 * Moderation logging
 *
 * Shows a history of moderation for this user in the sidebar
 *
 * @category  Moderation
 * @package   StatusNet
 * @author    Evan Prodromou <evan@status.net>
 * @copyright 2012 StatusNet, Inc.
 * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
 * @link      http://status.net/
 */

class ModLogPlugin extends Plugin
{
    const VIEWMODLOG = 'ModLogPlugin::VIEWMODLOG';

    /**
     * Database schema setup
     *
     * We keep a moderation log table
     *
     * @see Schema
     * @see ColumnDef
     *
     * @return boolean hook value; true means continue processing, false means stop.
     */

    function onCheckSchema()
    {
        $schema = Schema::get();

        $schema->ensureTable('mod_log', ModLog::schemaDef());

        return true;
    }

    function onEndGrantRole($profile, $role)
    {
        $modlog = new ModLog();

        $modlog->id         = UUID::gen();
        $modlog->profile_id = $profile->id;

        $cur = common_current_user();

        if (!empty($cur)) {
            $modlog->moderator_id = $cur->id;
        }

        $modlog->role     = $role;
        $modlog->is_grant = 1;
        $modlog->created  = common_sql_now();

        $modlog->insert();

        return true;
    }

    function onEndRevokeRole($profile, $role)
    {
        $modlog = new ModLog();

        $modlog->id = UUID::gen();

        $modlog->profile_id = $profile->id;

        $cur = common_current_user();

        if (!empty($cur)) {
            $modlog->moderator_id = $cur->id;
        }

        $modlog->role     = $role;
        $modlog->is_grant = 0;
        $modlog->created  = common_sql_now();

        $modlog->insert();

        return true;
    }

    function onEndShowSections(Action $action)
    {
        if ($action->arg('action') != 'showstream') {
            return true;
        }

        $cur = common_current_user();

        if (empty($cur) || !$cur->hasRight(self::VIEWMODLOG)) {
            return true;
        }

        $profile = $action->profile;

        $ml = new ModLog();

        $ml->profile_id = $profile->id;
        $ml->orderBy("created");

        $cnt = $ml->find();

        if ($cnt > 0) {

            $action->elementStart('div', array('id' => 'entity_mod_log',
                                               'class' => 'section'));

            $action->element('h2', null, _('Moderation'));

            $action->elementStart('table');

            while ($ml->fetch()) {
                $action->elementStart('tr');
                $action->element('td', null, strftime('%y-%m-%d', strtotime($ml->created)));
                $action->element('td', null, sprintf(($ml->is_grant) ? _('+%s') : _('-%s'), $ml->role));
                $action->elementStart('td');
                if ($ml->moderator_id) {
                    $mod = Profile::getKV('id', $ml->moderator_id);
                    if (empty($mod)) {
                        $action->text(_('[unknown]'));
                    } else {
                        $action->element('a', array('href' => $mod->profileurl,
                                                    'title' => $mod->fullname),
                                         $mod->nickname);
                    }
                } else {
                    $action->text(_('[unknown]'));
                }
                $action->elementEnd('td');
                $action->elementEnd('tr');
            }

            $action->elementEnd('table');

            $action->elementEnd('div');
        }
    }

    function onUserRightsCheck($profile, $right, &$result) {
        switch ($right) {
        case self::VIEWMODLOG:
            $result = ($profile->hasRole(Profile_role::MODERATOR) || $profile->hasRole('modhelper'));
            return false;
        default:
            return true;
        }
    }

    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'ModLog',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Evan Prodromou',
                            'homepage' => 'http://status.net/wiki/Plugin:ModLog',
                            'description' =>
                            _m('Show the moderation history for a profile in the sidebar'));
        return true;
    }
}


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

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

/**
 * Class comment here
 *
 * @category Category here
 * @package  StatusNet
 * @author   Evan Prodromou <evan@status.net>
 * @license  http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
 * @link     http://status.net/
 *
 * @see      DB_DataObject
 */

class ModLog extends Managed_DataObject
{
    public $__table = 'mod_log'; // table name

    public $id;           // UUID
    public $profile_id;   // profile id
    public $moderator_id; // profile id
    public $role;         // the role
    public $grant;        // 1 = grant, 0 = revoke
    public $created;      // datetime

    /**
     * The One True Thingy that must be defined and declared.
     */
    public static function schemaDef()
    {
        return array('description' => 'Log of moderation events',
                     'fields' => array(
                                       'id' => array('type' => 'varchar',
                                                     'length' => 36,
                                                     'not null' => true,
                                                     'description' => 'unique event ID'),
                                       'profile_id' => array('type' => 'int',
                                                             'not null' => true,
                                                             'description' => 'profile getting the role'),
                                       'moderator_id' => array('type' => 'int',
                                                               'description' => 'profile granting or revoking the role'),
                                       'role' => array('type' => 'varchar',
                                                       'length' => 32,
                                                       'not null' => true,
                                                       'description' => 'role granted or revoked'),
                                       'is_grant' => array('type' => 'int',
                                                           'size' => 'tiny',
                                                           'default' => 1,
                                                           'description' => 'Was this a grant or revocation of a role'),
                                       'created' => array('type' => 'datetime',
                                                          'not null' => true,
                                                          'description' => 'date this record was created')
                                       ),
                     'primary key' => array('id'),
                     'foreign keys' => array(
                                             'mod_log_profile_id_fkey' => array('profile', array('profile_id' => 'id')),
                                             'mod_log_moderator_id_fkey' => array('user', array('user_id' => 'id'))
                                             ),
                     'indexes' => array(
                                        'mod_log_profile_id_created_idx' => array('profile_id', 'created'),
                                        ),
                     );
    }
}


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

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

/**
 * Some UI extras for now...
 *
 * @package ModPlusPlugin
 * @maintainer Brion Vibber <brion@status.net>
 */
class ModPlusPlugin extends Plugin
{
    function onPluginVersion(&$versions)
    {
        $versions[] = array('name' => 'ModPlus',
                            'version' => GNUSOCIAL_VERSION,
                            'author' => 'Brion Vibber',
                            'homepage' => 'http://status.net/wiki/Plugin:ModPlus',
                            'rawdescription' =>
                            // TRANS: Plugin description.
                            _m('UI extension for profile moderation actions.'));

        return true;
    }

    /**
     * Load JS at runtime.
     *
     * @param Action $action
     * @return boolean hook result
     */
    function onEndShowScripts(Action $action)
    {
        $action->script($this->path('js/modplus.js'));
        return true;
    }

    public function onEndShowStylesheets(Action $action) {
        $action->cssLink($this->path('css/modplus.css'));
        return true;
    }

    /**
     * Add ModPlus-related paths to the router table
     *
     * Hook for RouterInitialized event.
     *
     * @param URLMapper $m URL mapper
     *
     * @return boolean hook return
     */
    public function onStartInitializeRouter(URLMapper $m)
    {
        $m->connect('user/remote/:id',
                array('action' => 'remoteprofile'),
                array('id' => '[\d]+'));

        return true;
    }

    /**
     * Add per-profile info popup menu for author on notice lists.
     *
     * @param NoticeListItem $item
     * @return boolean hook value
     */
    function onEndShowNoticeItemAuthor(Profile $profile, HTMLOutputter $out)
    {
        $this->showProfileOptions($out, $profile);
        return true;
    }

    /**
     * Add per-profile info popup menu on profile lists.
     *
     * @param ProfileListItem $item
     */
    function onStartProfileListItemProfile($item)
    {
        $this->showProfileOptions($item->out, $item->profile->getProfile());
        return true;
    }

    /**
     * Build common remote-profile options structure.
     * Currently only adds output for remote profiles, nothing for local users.
     *
     * @param HTMLOutputter $out
     * @param Profile $profile
     */
    protected function showProfileOptions(HTMLOutputter $out, Profile $profile)
    {
        if (!$profile->isGroup() && !$profile->isLocal()) {
            $target = common_local_url('remoteprofile', array('id' => $profile->id));
            // TRANS: Label for access to remote profile options.
            $label = _m('Remote profile options...');
            $out->elementStart('div', 'remote-profile-options');
            $out->element('a', array('href' => $target), $label);
            $out->elementEnd('div');
        }
    }
}


code:
<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class RemoteProfileAction extends ShowstreamAction
{
    function title()
    {
        $base = $this->target->getBestName();
        $host = parse_url($this->target->profileurl, PHP_URL_HOST);
        // TRANS: Remote profile action page title.
        // TRANS: %1$s is a username, %2$s is a hostname.
        return sprintf(_m('%1$s on %2$s'), $base, $host);
    }

    /**
     * Instead of showing notices, link to the original offsite profile.
     */
    function showNotices()
    {
        $url = $this->target->profileurl;
        $host = parse_url($url, PHP_URL_HOST);
        $markdown = sprintf(
                // TRANS: Message on remote profile page.
                // TRANS: This message contains Markdown links in the form [description](link).
                // TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
                _m('This remote profile is registered on another site; see [%1$s\'s original profile page on %2$s](%3$s).'),
                $this->target->nickname,
                $host,
                $url);
        $html = common_markup_to_html($markdown);
        $this->raw($html);

        if ($this->target->hasRole(Profile_role::SILENCED)) {
            // TRANS: Message on blocked remote profile page.
            $markdown = _m('Site moderators have silenced this profile, which prevents delivery of new messages to any users on this site.');
            $this->raw(common_markup_to_html($markdown));
        }else{

            $pnl = null;
            if (Event::handle('ShowStreamNoticeList', array($this->notice, $this, &$pnl))) {
                $pnl = new ProfileNoticeList($this->notice, $this);
            }
            $cnt = $pnl->show();
            if (0 == $cnt) {
                $this->showEmptyListMessage();
            }

            $args = array('id' => $this->target->id);
            if (!empty($this->tag))
            {
                $args['tag'] = $this->tag;
            }
            $this->pagination($this->page>1, $cnt>NOTICES_PER_PAGE, $this->page,
                              'remoteprofile', $args);

        }
    }

    function getFeeds()
    {
        // none
    }

    /**
     * Don't do various extra stuff, and also trim some things to avoid crawlers.
     */
    function extraHead()
    {
        $this->element('meta', array('name' => 'robots',
                                     'content' => 'noindex,nofollow'));
    }

    function showLocalNav()
    {
        // skip
    }

    function showSections()
    {
        // skip
    }

    function showStatistics()
    {
        // skip
    }
}


code:
.remote-profile-options {
    position: absolute;
    z-index: 999;

    background: url(../../../theme/base/images/icons/twotone/green/admin.gif) no-repeat 8px 8px white;
    border: solid 1px #c0c0c0;

    margin-top: 32px;

    padding: 6px 16px;
    padding-left: 32px;

    border-radius: 8px;

    box-shadow:3px 3px 7px rgba(194, 194, 194, 0.3);

    display: none;
}


code:
/**
 * modplus.js
 * (c) 2010 StatusNet, Inc
 */

$(function() {
    // Notice lists...
    $(document).on('mouseenter', '.notice .p-author', function(e) {
        var notice = $(this).closest('.notice');
        var popup = notice.find('.remote-profile-options');
        if (popup.length) {
            popup.fadeIn();
        }
    });
    $(document).on('mouseleave', '.notice', function(e) {
        var notice = $(this);
        var popup = notice.find('.remote-profile-options');
        if (popup.length) {
            popup.fadeOut();
        }
    });

    // Profile lists...
    $(document).on('mouseenter', '.profile .u-photo', function(e) {
        var profile = $(this).closest('.profile');
        var popup = profile.find('.remote-profile-options');
        if (popup.length) {
            popup.fadeIn();
        }
    });
    $(document).on('mouseleave', '.profile', function(e) {
        var profile = $(this);
        var popup = profile.find('.remote-profile-options');
        if (popup.length) {
            popup.fadeOut();
        }
    });

});


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: Error message displayed when referring to a user without a profile.
#: remoteprofileaction.php:19
msgid "User has no profile."
msgstr ""

#. TRANS: Remote profile action page title.
#. TRANS: %1$s is a username, %2$s is a hostname.
#: remoteprofileaction.php:49
#, php-format
msgid "%1$s on %2$s"
msgstr ""

#. TRANS: Message on remote profile page.
#. TRANS: This message contains Markdown links in the form [description](link).
#. TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
#: remoteprofileaction.php:63
#, php-format
msgid ""
"This remote profile is registered on another site; see [%1$s's original "
"profile page on %2$s](%3$s)."
msgstr ""

#. TRANS: Message on blocked remote profile page.
#: remoteprofileaction.php:72
msgid ""
"Site moderators have silenced this profile, which prevents delivery of new "
"messages to any users on this site."
msgstr ""

#. TRANS: Plugin description.
#: ModPlusPlugin.php:40
msgid "UI extension for profile moderation actions."
msgstr ""

#. TRANS: Label for access to remote profile options.
#: ModPlusPlugin.php:141
msgid "Remote profile options..."
msgstr ""


code:
# Translation of StatusNet - ModPlus to Breton (Brezhoneg)
# Expored from translatewiki.net
#
# Author: Y-M D
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
"Project-Id-Version: StatusNet - ModPlus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-12-16 15:08+0000\n"
"PO-Revision-Date: 2010-12-16 15:12:20+0000\n"
"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2010-11-30 17:54:28+0000\n"
"X-Generator: MediaWiki 1.18alpha (r78478); Translate extension (2010-09-17)\n"
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
"X-Language-Code: br\n"
"X-Message-Group: #out-statusnet-plugin-modplus\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

#: ModPlusPlugin.php:39
msgid "UI extensions for profile moderation actions."
msgstr ""

#: ModPlusPlugin.php:110
msgid "Remote profile options..."
msgstr ""

#: remoteprofileaction.php:51
#, php-format
msgid "%s on %s"
msgstr "%s war %s"

#: remoteprofileaction.php:62
#, php-format
msgid ""
"This remote profile is registered on another site; see [%s's original "
"profile page on %s](%s)."
msgstr ""

#: remoteprofileaction.php:70
msgid ""
"Site moderators have silenced this profile, which prevents delivery of new "
"messages to any users on this site."
msgstr ""


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

#. TRANS: Error message displayed when referring to a user without a profile.
msgid "User has no profile."
msgstr "L'usuari no té perfil."

#. TRANS: Remote profile action page title.
#. TRANS: %1$s is a username, %2$s is a hostname.
#, php-format
msgid "%1$s on %2$s"
msgstr "%1$s a %2$s"

#. TRANS: Message on remote profile page.
#. TRANS: This message contains Markdown links in the form [description](link).
#. TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
#, php-format
msgid ""
"This remote profile is registered on another site; see [%1$s's original "
"profile page on %2$s](%3$s)."
msgstr ""
"Aquest perfil remot està registrat en un altre lloc; vegeu [la pàgina del "
"perfil de %1$s original a %2$s](%3$s)."

#. TRANS: Message on blocked remote profile page.
msgid ""
"Site moderators have silenced this profile, which prevents delivery of new "
"messages to any users on this site."
msgstr ""

#. TRANS: Plugin description.
msgid "UI extension for profile moderation actions."
msgstr ""

#. TRANS: Label for access to remote profile options.
msgid "Remote profile options..."
msgstr "Opcions de perfil remot..."


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

#. TRANS: Error message displayed when referring to a user without a profile.
msgid "User has no profile."
msgstr "Benutzer hat kein Profil."

#. TRANS: Remote profile action page title.
#. TRANS: %1$s is a username, %2$s is a hostname.
#, php-format
msgid "%1$s on %2$s"
msgstr "%1$s auf %2$s"

#. TRANS: Message on remote profile page.
#. TRANS: This message contains Markdown links in the form [description](link).
#. TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
#, php-format
msgid ""
"This remote profile is registered on another site; see [%1$s's original "
"profile page on %2$s](%3$s)."
msgstr ""
"Dieses entfernte Profil ist auf einer anderen Seite registriert; siehe [%1"
"$ss Original-Profilseite auf %2$s](%3$s)."

#. TRANS: Message on blocked remote profile page.
msgid ""
"Site moderators have silenced this profile, which prevents delivery of new "
"messages to any users on this site."
msgstr ""
"Moderatoren haben dieses Profil stumm geschaltet, was die Zustellung neuer "
"Nachrichten an andere Benutzer dieser Seite unterbindet."

#. TRANS: Plugin description.
msgid "UI extension for profile moderation actions."
msgstr "Benutzerobeflächenerweiterungen zur Moderation von Profilen."

#. TRANS: Label for access to remote profile options.
msgid "Remote profile options..."
msgstr "Remoteprofil-Einstellungen…"


code:
# Translation of StatusNet - ModPlus 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 - ModPlus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:16+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+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: Error message displayed when referring to a user without a profile.
msgid "User has no profile."
msgstr "El usuario no tiene ningún perfil."

#. TRANS: Remote profile action page title.
#. TRANS: %1$s is a username, %2$s is a hostname.
#, php-format
msgid "%1$s on %2$s"
msgstr "%1$s en %2$s"

#. TRANS: Message on remote profile page.
#. TRANS: This message contains Markdown links in the form [description](link).
#. TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
#, php-format
msgid ""
"This remote profile is registered on another site; see [%1$s's original "
"profile page on %2$s](%3$s)."
msgstr ""
"Este perfil remoto está registrado en otro sitio; Consulte [la página del "
"perfil original de %1$s en  %2$s](%3$s)."

#. TRANS: Message on blocked remote profile page.
msgid ""
"Site moderators have silenced this profile, which prevents delivery of new "
"messages to any users on this site."
msgstr ""
"Los moderadores del sitio han silenciado este perfil, lo que impide el envío "
"de nuevos mensajes a los usuarios de este sitio."

#. TRANS: Plugin description.
msgid "UI extension for profile moderation actions."
msgstr ""
"Extensión de interfaz de usuario para las acciones de moderación de los "
"perfiles."

#. TRANS: Label for access to remote profile options.
msgid "Remote profile options..."
msgstr "Opciones de perfil remoto..."


code:
# Translation of StatusNet - ModPlus 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 - ModPlus\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-30 11:07+0000\n"
"PO-Revision-Date: 2012-06-30 11:09:16+0000\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POT-Import-Date: 2012-01-02 10:11:36+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: Error message displayed when referring to a user without a profile.
msgid "User has no profile."
msgstr "Erabiltzaileak ez du profilik."

#. TRANS: Remote profile action page title.
#. TRANS: %1$s is a username, %2$s is a hostname.
#, php-format
msgid "%1$s on %2$s"
msgstr "%2$s(e)ko %1$s"

#. TRANS: Message on remote profile page.
#. TRANS: This message contains Markdown links in the form [description](link).
#. TRANS: %1$s is a profile nickname, %2$s is a hostname, %3$s is a URL.
#, php-format
msgid ""
"This remote profile is registered on another site; see [%1$s's original "
"profile page on %2$s](%3$s)."
msgstr ""
"Urruneko profil hau beste gune batean erregistraturik dago; ikusi [%1$s(r)en "
"berezko profil orria %2$s(e)n](%3$s)."

#. TRANS: Message on blocked remote profile page.
msgid ""
"Site moderators have silenced this profile, which prevents delivery of new "
"messages to any users on this site."
msgstr ""
"Guneko moderatzaileek profil hau isilarazi dute, gune hontako edozein "
"erabiltzaileri mezu berriak bidaltzea galeraziz."

#. TRANS: Plugin description.
msgid "UI extension for profile moderation actions."
msgstr "UI luzapena profil moderazio ekintzetarako."

#. TRANS: Label for access to remote profile options.
msgid "Remote profile options..."
msgstr "Urruneko profil aukerak..."